В статье рассмотрено, как машинное обучение с подкреплением может применяться для трейдинга финансовых рынков и криптовалютных бирж. Академическое сообщество Deep Learning в основном находится в стороне от финансовых рынков. В силу ли того, что у финансовой индустрии не лучшая репутация, что решаемые проблемы не кажутся слишком интересными для...
关于如何将神经元从R转移到mql的问题。
我是用nnet包做的。参见https://cran.r-project.org/web/packages/nnet/index.html(包源:nnet_7.3-12.tar.gz)。在档案里有src / nnet.c文件夹。
我们需要函数fpass,在thisError = 0.0之前的几行(这是backprop的误差计算的开始,对于简单的预测不需要)。
这是我们可以在我们的EA中使用的代码 --
这段代码只在模型参数skip = FALSE的情况下工作。
如果不是这样,或者使用的是softmax--在fpass()函数中寻找差异
权重(数组nnet_weights)应该在训练结束后从R本身复制。
另一篇关于强化的小型介绍性文章,而重点是
组织一次关于mql的小型团队合作和头脑风暴会议并分享经验将是很有趣的。
https://proglib.io/p/trade-learning/
在我看来,强化学习通常会给出一个具有非常大悬念的模型,交叉验证在这种情况下是无法挽救的。在模型本身中一定有一些特殊的机制来防止过度拟合。
对于那些不熟悉这个问题的人来说,简单地说:代替通常的模型评估(准确度、R2、logloss等),创建一个具有自己的模型评估逻辑的特殊健身函数。例如,这样的适配函数可以计算交易时模型的利润,或锐利度。并通过遗传算法 选择模型参数。
有趣的是,MT4和MT5中的优化器也是按照强化学习的原则工作的--在每个条形图(甚至是刻度线)中,专家顾问接收价格和指标的当前值,做出一些决定,专家顾问的最终估计被视为交易结果。专家顾问的参数是由遗传学选择的,以增加估计值。
从免费提供的MT5专家顾问来看,我们可以清楚地看到,这种学习方法造成了很多 "损失"。但有时好的EA也是好的。
在我看来,强化学习通常会给出一个具有非常大悬念的模型,在这种情况下,交叉验证不是答案。在模型本身中一定有一些特殊的机制来防止过度拟合。
对于那些不熟悉这个问题的人来说,简单地说:代替通常的模型评估(准确度、R2、logloss等),创建一个具有自己的模型评估逻辑的特殊健身函数。例如,这样的健身函数可以计算出交易时模型的利润,或锐利度。而模型参数是通过遗传算法 选择的。
有趣的是,MT4和MT5的优化器也是按照强化学习的原则工作的--在每个条形图(甚至是刻度线)上,专家顾问接收价格和指标的当前值,做出一些决定,专家顾问的最终估计是交易的结果。专家顾问的参数是由遗传学选择的,以增加估计值。
从免费提供的MT5专家顾问来看,我们可以清楚地看到,这种学习方法造成了很多 "损失"。但有时好的EA也是好的。
这与优化器是一个很好的类比,我之前的机器人就是关于这个的,但它太简单了。
但总的来说,它不是,RL如果不反对遗传学,它强调它的优势,例如,有可能在非平稳过程中工作。特别是可以使用非贪婪的适配函数,由于该函数,模型在运行过程中不断学习,并做出随机的步骤。而作为一个优化器,我们使用NS(非遗传学)的填料。
那里的情况比较复杂,但我还没有读完这本书。
所以你关于遗传学、优化器和RL的说法是不正确的。
*一瞬间的情感和哲学以及所有这些东西*。
想象一下,在一个晴朗的日子,阳光明媚。你坐在池塘边的草地上,温暖的春风吹拂着,在水中留下涟漪,附近某处可以听到鸭子的声音。浅浅的鱼儿在水底游动,有时用鱼鳍触及水面,在水中划着圈。她的邻居在舀水,她的孙子在往水里扔石头,把青蛙从一边追到另一边。在池塘的另一边,有些人在洗他的车。
价格就像水面上的波浪,来自所有的骚动,但也是在暴风雨中。我们可以跟着波浪走,并试图猜测水在某一点会上升或下降,但如果我们不跟着环境走,大多数时候我们都会错。
未来的价格价值并不取决于过去的价格变动,而是取决于造成过去价格变动并将造成新价格变动的全球进程。
你不仅需要监测水面上的波浪,还需要监测风向、鱼的轨迹、邻居的水桶等,那么水面上的波浪的性质就会很清楚和可预测。
相应地,如果你有关于影响价格的所有全球进程的信息,你可以学习预测,上个世纪的任何简单模型都可以。
问题是,通常只有一个价格图表,而这是不够的。
这里是 如何连接RL和NN的方法
和一个视频,还有第二部分。
就这样吧,我不再发垃圾邮件了,谁有兴趣就看谁。
在MT中使用神经网络,一切都很简单。有一个微软的库CNTK。它是为Python、C#和C++实现的。所有的网络分析和训练都是在Python中完成的,而C++被用来编写一个DLL,加载训练好的网络并使用它进行计算。在我看来,这是最好的选择。第二个选项,Python与MT的连接。我已经为此写了一个简单的库。图书馆。我们把它连接起来,可以使用Python中可用的一切。而且有很多东西可用。我在想,我是否应该在我的博客上开始写机器学习。
阅读有关战略和个人想法/经验的文章会很有趣......对我个人而言。
因为他们在这里写的大部分东西都是废话,说要翻阅一堆图书馆,什么东西比较好写......这是一种流行病,一切都被浪费了。
虽然这个基本想法很久以前就由fxsaber提出来了--用同样的方法,这个主题可能会被关闭,因为它本来就是错误的。