在MTS使用人工智能

 
讨论人工智能在一般交易策略中的使用,特别是我的专家顾问,其代码可在此 下载。回测结果在下面的截图上。



优化专家顾问需要很长的时间,而且只能使用遗传算法。选择加权系数的输入参数:X1、X2、X3和X4被限制在0到200的数值内。sl参数是以点为单位的止损。不使用资本和风险管理。
 

相当于使用具有某些特性的赛普滤波器对交流电进行平滑处理。平滑系数是不平衡的,这相当于在购买按钮上拍了一块砖。砖头(+如随机)本身就非常好用,只要知道什么时候买,什么时候卖。另外,考虑到AC在21个小节中可以下降2倍,以及存在4个可优化的参数......))))。

但对我来说,它揭示了神经网络 的工作原理,以及为什么它们不像我们希望的那样高效。

我在创作初期有一个爱好--根据上周的结果(7200条,而不是66000条)编写在M1上工作的EA--每周有多达300个百分点显示在测试仪.....。

我想知道价格要分解成多少次谐波的傅里叶级数,才能在优化后得到一个圣杯?

 
Integer:

相当于使用具有某些特性的赛普滤波器对交流电进行平滑处理。平滑系数是不平衡的,这相当于在购买按钮上拍了一块砖。砖头(+如随机)本身就非常好用,只要知道什么时候买,什么时候卖。另外,考虑到AC在21个小节中可以下降2次,以及存在4个可优化的参数......))))。

但对我来说,它揭示了神经网络的工作原理,以及为什么它们不像我们希望的那样高效。

我在创作初期有一个爱好--根据上周的结果(7200条,而不是66000条)编写在M1上工作的EA--每周有多达300个百分点显示在测试仪.....。

我想知道价格要分解成多少次谐波的傅里叶级数,才能在优化后得到一个圣杯?

只有当识别的对象是线性可分离的,即在特征空间中一类对象可以通过线性方程描述的平面与另一类对象分开时,神经网络才是有效的。

至于AC振荡器,专家顾问不仅要看它的最后数值(基于最后数值的决策在技术分析中最常使用),而且要研究历史,即该指标在过去的3个其他数值是什么。他对用于决策的震荡器行为感兴趣。这种非常的行为得到了神经网络的输入。而在输出上,我们得到了买入或卖出。

另一个新功能不是标准的神经网络训练,而是使用遗传算法在历史数据上选择权重。我试了两种变体,遗传学的结果稍差,而且时间较慢。但在MT4中没有内置的神经元算法和学习它。但有一个基于遗传学的优化。而这一领域的一些研究人员意识到,如果情况发生急剧变化,动态学习并不十分充分。如果市场上牛市占上风,系统将重新适应牛市趋势,而忘记熊市趋势。 反之亦然。Samuel A. L. 1959,"利用跳棋游戏进行机器学习的一些研究"(IBM J. Research and Devepopmend 3: 210 - 229),首次遇到并描述了这个怪胎。他观察到,如果他的节目有一个专业的对手,就会逐渐转为专业水平的比赛。但如果对手是个初学者,那么程序就会 "忘记 "之前的水平,开始传到原始的游戏。因此,在神经元自身的错误和损失上进行动态教学可能是没有意义的。通过历史,以制定足以适应市场的交易策略,是比较容易的。

至于圣杯,你不需要非常聪明。你只需要满足一些条件。

1.系统必须在没有任何止损的情况下开仓,或者在非常大的距离上设置止损,使其操作的概率接近于0。
2.一个强大的过滤器,基于几个指标,其触发条件由逻辑和(&&)分隔。并将这些非常指标的大量输入参数拉到MTS外部设置中,这样在几年的历史数据测试中只开了几个仓位。
3.在这一切的基础上,再加上资本和风险管理,再加上一个提高的分数
 
从4个点上取值,将每个值乘以一个系数,然后求和--这不是用过滤器平滑吗?
 
我不明白你怎么能认真讨论一个在2年内产生44笔交易的策略......统计数据太少了!
 
Mathemat:
我不明白你怎么能认真讨论一个在2年内产生44笔交易的策略......统计数据太少!
实际上只有44个交易,还有很多对Perceptron函数的调用。这里适用于节省价差和节省时间。也就是说,假设我们有一个空缺职位。MTS读取神经网络。如果网络报告说报价变动以及未结头寸应该被逆转,MTS将逆转头寸。如果感知器告诉我们,相对于订单,报价将继续向同一方向移动,MTS只收紧止损--追踪止损(与关闭一个固定利润的头寸并开立一个新的头寸但拉低损失相同。如果我们在关闭前一个头寸后又开了一个新的头寸,我们就会在点差和佣金上有所损失)。因为交易系统不提供止盈,所以它必须在趋势上运行,并试图检测反转时刻。由于趋势工具上的反转,每个趋势只有1pc.(当然,如果趋势不是横向的),那么我们得到的交易量 就这么小。更确切地说,交易比逆转多一点,因为系统有时是错误的。
 
Integer:
我们从4个点上取值,将每个值乘以一个系数,然后求和--这不是用滤波器平滑吗?
如果我们把一些点的数值,分别乘以其相应的常数,得到的结果,这个动作在数学上被称为线性方程。

a1 * w1 + a2 * w2 + ...+ an * wn = d

而平滑化需要递归,即用一些已知的值来计算平滑化的值。

a1 = a1 * w1 + a2 * w2 + ...。+ an * wn


 
Reshetov писал (а):
Integer 写道。
我们从4个点上取值,将每个值乘以一个系数,然后求和--这不是用滤波器平滑吗?
如果我们把一些点的数值,分别乘以其相应的常数,得到的结果,这个动作在数学上被称为线性方程。

a1 * w1 + a2 * w2 + ...+ an * wn = d

而平滑化需要递归,即用一些已知的值来计算平滑化的值。

a1 = a1 * w1 + a2 * w2 + ...。+ an * wn





你听说过线性加权的移动平均线 吗?
 

无论它是什么,它都有生命的权利。这个想法可能并不新鲜,但它非常有趣,而且实施得很巧妙,并且...是有能力盈利的。我在 "学习 "后进行了几次前向测试,结果令人鼓舞。非常感谢作者。

 
Figar0:

无论它是什么,它都有生命的权利。这个想法可能并不新鲜,但它非常有趣,而且实施得很巧妙,并且...是有能力盈利的。我在 "学习 "后进行了几次前向测试,结果令人鼓舞。非常感谢作者。

我发这个帖子是为了找到至少有一个交易员会尝试在实践中检查它而不是骚扰作者。越是这样,代码就越是可靠和有效,而不是一些匆忙开发的圣杯,在测试中意外地显示出巨大的利润。真实账户的结果几乎,但并不总是比测试极值低。 但它是稳定的。

而与Gundosos争论神经元是否有效,嗯,这只是在浪费时间。我按照这样的原则来布置:如果你想要,你可以拥有它,但如果你不想看到它。但希望能找到了解这些东西并能改进代码或提出更有趣的解决问题的想法的人。
 
Integer:
雷舍托夫
整数
我们从4个点上取值,将每个值乘以一个系数,然后求和--这不是用滤波器平滑吗?
如果我们把一些点的数值,分别乘以其相应的常数,得到的结果,这个动作在数学上被称为线性方程。

a1 * w1 + a2 * w2 + ...+ an * wn = d

而平滑化需要递归,即用一些已知的值来计算平滑化的值。

a1 = a1 * w1 + a2 * w2 + ...。+ an * wn





你听说过线性加权的移动平均线 吗?
休息一下吧。太糟糕了,论坛没有为非常恼人的对话者提供忽略功能。