交易中的机器学习:理论、模型、实践和算法交易 - 页 321 1...314315316317318319320321322323324325326327328...3399 新评论 Dr. Trader 2017.05.05 13:52 #3201 马克西姆-德米特里耶夫斯基。https://www.mql5.com/ru/code/127只是代码中 存在一些错误,我认为指标的规范化不正确。它是正确的,它只是归一化到一个不同于[0;1]的区间。为了简单起见,你可以保留现有的CalcRegression函数(但要考虑到b已经以相反的符号返回*,即你不需要第二次改变符号)。通过实验找到你需要乘以哪个值,以使其在[-0.5;0.5]范围内。然后再加上+0.5,把中间从0移到0.5。*如果最古老的价格在数组中具有最高的索引,这个公式将给你带右号的b。 Maxim Dmitrievsky 2017.05.05 13:55 #3202 交易员博士。所有这些都是正确的,只是没有在[0;1]中归一化,而是在另一个区间中归一化。为了简单起见,你可以保留现有的CalcRegression函数(但要考虑到b已经以相反的符号返回,即你不需要第二次改变符号)。通过实验找到你需要乘以哪个值,以使其在[-0.5;0.5]范围内。然后加上+0.5,把平均值从0移到0.5。 对于不同的时间段,我们需要不同的最大和最小值,这不是很方便,在我看来,在较大的历史区间上进行归一化是最好的。 Maxim Dmitrievsky 2017.05.05 14:04 #3203 交易员博士。*如果最古老的价格在数组中具有最高的索引,这个公式将给你带右号的b。 只要在现有的缓冲区上再增加一个正常化的缓冲区就可以了 :) Maxim Dmitrievsky 2017.05.06 11:06 #3204 回归斜率也可能很有趣。回溯测试和前进。简而言之,看起来你可以用这种逻辑工作,并尝试不同的预测器。 附加的文件: RNN_with_regr_angle.zip 386 kb RNNregr30min.set 1 kb Dr. Trader 2017.05.07 03:23 #3205 马克西姆-德米特里耶夫斯基。回归斜率也可能很有趣。回溯测试和前进。简而言之,看起来你可以用这种逻辑工作,并尝试不同的预测器。 谢谢你的代码,我测试过了。我变得更糟了。但我只用了1个月而不是1年来进行优化,我想快速检查。在Fronttest上,我看到EA首先是正常的,然后慢慢地开始平坦化平衡,然后就慢下来了。它还在靠新的数据生活,还不错。我将改变这一点1) double a3 = regr[0]; - 零指数是最古老的时间数据。这里最新的(最新的)酒吧应该是49号(因为50号被拿走了),它更好。但最后一种可能会被透支,所以48种更好。也有必要检查指标是否被透支。 rsi也是如此,你已经删除了较新的那个。尝试删除索引为零的那一个是有意义的,因为那是最过时的。2)尤里的专家顾问的第三个版本有四个参数的RNN功能,所以它可以与三条杠和一个趋势相结合。一般来说,这个函数可以用新的参数来补充,就像尤里的文章中写的那样,但每+1个参数会使系数的数量增加一倍。3)我不喜欢止损和起飞,它们的最佳值在新条上不断变化。更准确地说,没有最佳值,只有特定时间间隔的EA的某些 "方便 "值。加上经纪人可以在止损前画出烛台。我会尝试在每一个新的条形图上进行预测,并简单地保持这个方向的交易,直到下一个条形图和预测,必要时在那里翻转。4) int handle=iRSI(_Symbol,0,9,PRICE_OPEN); double rsi[30]; CopyBuffer(handle,0,0,28,rsi);手柄应该在OnInit中被初始化,而不是每次创建EA时都被初始化。还有,这个数组有30个元素,只复制了28个。即,索引28和29不能被访问(没有人这样做,但你永远不知道),它们没有被填满。 Maxim Dmitrievsky 2017.05.07 13:56 #3206 交易员博士。 谢谢你的代码,我试过了。我得到了一个更糟糕的结果。但我只用了1个月而不是1年来进行优化,我想快速测试。前面的测试显示,我的专家顾问一开始是好的,然后它开始拉平平衡,然后就跑下来了。它还在靠新的数据生活,还不错。我将改变这一点1) double a3 = regr[0]; - 零指数是最古老的时间数据。这里最新的(最新的)酒吧应该是49号(因为50号被拿走了),它更好。但最后一种可能会被透支,所以48种更好。也有必要检查指标是否被透支。 rsi也是如此,你已经删除了较新的那个。试图删除索引为零的那一个是有意义的,它是最古老的。2)在尤里的第三个版本的EA中,RNN函数包含四个参数,你可以用它同时采取3个rsi和趋势。一般来说,这个函数可以用新的参数进行扩展,就像尤里的文章中写的那样,但每+1个参数都会使系数的数量增加一倍。3)我不喜欢止损和起飞,它们的最佳值在新条上不断变化。更准确地说,没有最佳值,只有特定时间间隔的EA的某些 "方便 "值。加上经纪人可以在止损前画出烛台。我会尝试在每一个新的条形图上进行预测,并简单地保持这个方向的交易,直到下一个条形图和预测,必要时在那里翻转。4)手柄应该在OnInit中被初始化,而不是每次创建EA时都被初始化。还有,这个数组有30个元素,只复制了28个。即,索引28和29不能被访问(没有人会,但他们可能想要),它们没有被填充。 嗯,是吗,我以为复制缓冲区时的零会返回第一个值,需要检查一下...https://www.mql5.com/ru/docs/series/copybuffer我添加了尾部而不是sl,以此类推,结果并没有好多少。关于手柄,是的,为了回归,我把它放在了初始阶段,为了Radi,我忘记了这样做。我需要选择利润系数最高的前锋,回测的结果应该是差不多的,所以有了这些参数,网格就能做出一个体面的预测。如果我看一下统计数据,我不明白为什么我错过了,我不明白为什么我错过了,我也不明白为什么。而RN3由于某种原因给出的信号要少得多。我还是不太明白,如果规范化函数采用5000条数组而不是50条数组是否更好,这样它可以从一开始就找到更正确的最大和最小值,而不是随着时间的推移而更新,因为在测试开始时,我们会收到不太正确的规范化输入值,但后来越来越准确了另外,我仍然会对图表进行去趋势化,并为网格提供更多可消化的数值,我还不确定如何改进,比如说,静止序列的回归斜率和自相关,因为我对计量经济学 不是很精通,我现在正在看视频剪辑我还想以后把这个RNN与普通的MLP进行比较,但会有不太正确的比较,因为MLP必须向输出端输入一些东西。另一个选择,做一个由3个RNN组成的委员会,把他们的结果输入RNN :D,或输入一些卷积NS。即使通过克劳德,也需要很长的时间来优化。更好的是,将3个RNN送入MLP,给它一个增量价格的输出,从而摆脱过度训练,在理论上。即RNN将发挥自动编码器的作用http://cyberleninka.ru/article/n/avtoenkoder-podhod-k-ponizheniyu-razmernosti-vektornogo-prostranstva-s-kontroliruemoy-poterey-informatsii。 СанСаныч Фоменко 2017.05.07 16:31 #3207 马克西姆-德米特里耶夫斯基。 要找到一个可以适用于ARIMA的报价,几乎是不可能的。但这是讲座的结束。Garch怎么样?它更有前途,在不到一天的时间范围内使用非常广泛,甚至用于高频交易。 Maxim Dmitrievsky 2017.05.07 16:45 #3208 桑桑尼茨-弗门科。 要找到一个可以应用ARIMA的报价,几乎是不可能的。但这是讲座的结束。Garch怎么样?它更有前途,在不到一天的时间框架内使用非常广泛,甚至用于高频交易。 我刚刚开始熟悉这些东西,我甚至还没有做过实验。我只听说过垃圾的事 :)你认为用RNN作为MLP的自动编码器怎么样?据我所知,递归网络是一个具有一套逻辑规则的自动编码器类型。 mytarmailS 2017.05.07 16:48 #3209 马克西姆-德米特里耶夫斯基。 那么,减去趋势,然后对其应用自回归,然后把数值和回归斜率一起塞进NS中,又是怎么回事? 我刚刚开始熟悉这些东西,我甚至还没有实验过呢你最好马上进行实验!你将节省大量的时间和不必要的知识。 Yuriy Asaulenko 2017.05.07 16:49 #3210 桑桑尼茨-弗门科。 要找到一个可以适用于ARIMA的报价,几乎是不可能的。但这是讲座的结束。Garch怎么样?它更有前途,在不到一天的时间范围内被广泛使用,甚至用于高频交易。 我也看了。我认为,这不是我们的主题领域。 1...314315316317318319320321322323324325326327328...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
https://www.mql5.com/ru/code/127
只是代码中 存在一些错误,我认为指标的规范化不正确。
它是正确的,它只是归一化到一个不同于[0;1]的区间。
为了简单起见,你可以保留现有的CalcRegression函数(但要考虑到b已经以相反的符号返回*,即你不需要第二次改变符号)。通过实验找到你需要乘以哪个值,以使其在[-0.5;0.5]范围内。然后再加上+0.5,把中间从0移到0.5。
*如果最古老的价格在数组中具有最高的索引,这个公式将给你带右号的b。
所有这些都是正确的,只是没有在[0;1]中归一化,而是在另一个区间中归一化。
为了简单起见,你可以保留现有的CalcRegression函数(但要考虑到b已经以相反的符号返回,即你不需要第二次改变符号)。通过实验找到你需要乘以哪个值,以使其在[-0.5;0.5]范围内。然后加上+0.5,把平均值从0移到0.5。
对于不同的时间段,我们需要不同的最大和最小值,这不是很方便,在我看来,在较大的历史区间上进行归一化是最好的。
*如果最古老的价格在数组中具有最高的索引,这个公式将给你带右号的b。
只要在现有的缓冲区上再增加一个正常化的缓冲区就可以了 :)
回归斜率也可能很有趣。回溯测试和前进。简而言之,看起来你可以用这种逻辑工作,并尝试不同的预测器。
回归斜率也可能很有趣。回溯测试和前进。简而言之,看起来你可以用这种逻辑工作,并尝试不同的预测器。
谢谢你的代码,我测试过了。我变得更糟了。但我只用了1个月而不是1年来进行优化,我想快速检查。在Fronttest上,我看到EA首先是正常的,然后慢慢地开始平坦化平衡,然后就慢下来了。它还在靠新的数据生活,还不错。
我将改变这一点
1) double a3 = regr[0]; - 零指数是最古老的时间数据。这里最新的(最新的)酒吧应该是49号(因为50号被拿走了),它更好。但最后一种可能会被透支,所以48种更好。也有必要检查指标是否被透支。
rsi也是如此,你已经删除了较新的那个。尝试删除索引为零的那一个是有意义的,因为那是最过时的。
2)尤里的专家顾问的第三个版本有四个参数的RNN功能,所以它可以与三条杠和一个趋势相结合。一般来说,这个函数可以用新的参数来补充,就像尤里的文章中写的那样,但每+1个参数会使系数的数量增加一倍。
3)我不喜欢止损和起飞,它们的最佳值在新条上不断变化。更准确地说,没有最佳值,只有特定时间间隔的EA的某些 "方便 "值。加上经纪人可以在止损前画出烛台。我会尝试在每一个新的条形图上进行预测,并简单地保持这个方向的交易,直到下一个条形图和预测,必要时在那里翻转。
4)
手柄应该在OnInit中被初始化,而不是每次创建EA时都被初始化。还有,这个数组有30个元素,只复制了28个。即,索引28和29不能被访问(没有人这样做,但你永远不知道),它们没有被填满。
谢谢你的代码,我试过了。我得到了一个更糟糕的结果。但我只用了1个月而不是1年来进行优化,我想快速测试。前面的测试显示,我的专家顾问一开始是好的,然后它开始拉平平衡,然后就跑下来了。它还在靠新的数据生活,还不错。
我将改变这一点
1) double a3 = regr[0]; - 零指数是最古老的时间数据。这里最新的(最新的)酒吧应该是49号(因为50号被拿走了),它更好。但最后一种可能会被透支,所以48种更好。也有必要检查指标是否被透支。
rsi也是如此,你已经删除了较新的那个。试图删除索引为零的那一个是有意义的,它是最古老的。
2)在尤里的第三个版本的EA中,RNN函数包含四个参数,你可以用它同时采取3个rsi和趋势。一般来说,这个函数可以用新的参数进行扩展,就像尤里的文章中写的那样,但每+1个参数都会使系数的数量增加一倍。
3)我不喜欢止损和起飞,它们的最佳值在新条上不断变化。更准确地说,没有最佳值,只有特定时间间隔的EA的某些 "方便 "值。加上经纪人可以在止损前画出烛台。我会尝试在每一个新的条形图上进行预测,并简单地保持这个方向的交易,直到下一个条形图和预测,必要时在那里翻转。
4)
手柄应该在OnInit中被初始化,而不是每次创建EA时都被初始化。还有,这个数组有30个元素,只复制了28个。即,索引28和29不能被访问(没有人会,但他们可能想要),它们没有被填充。
嗯,是吗,我以为复制缓冲区时的零会返回第一个值,需要检查一下...
https://www.mql5.com/ru/docs/series/copybuffer
我添加了尾部而不是sl,以此类推,结果并没有好多少。
关于手柄,是的,为了回归,我把它放在了初始阶段,为了Radi,我忘记了这样做。
我需要选择利润系数最高的前锋,回测的结果应该是差不多的,所以有了这些参数,网格就能做出一个体面的预测。如果我看一下统计数据,我不明白为什么我错过了,我不明白为什么我错过了,我也不明白为什么。
而RN3由于某种原因给出的信号要少得多。
我还是不太明白,如果规范化函数采用5000条数组而不是50条数组是否更好,这样它可以从一开始就找到更正确的最大和最小值,而不是随着时间的推移而更新,因为在测试开始时,我们会收到不太正确的规范化输入值,但后来越来越准确了
另外,我仍然会对图表进行去趋势化,并为网格提供更多可消化的数值,我还不确定如何改进,比如说,静止序列的回归斜率和自相关,因为我对计量经济学 不是很精通,我现在正在看视频剪辑
我还想以后把这个RNN与普通的MLP进行比较,但会有不太正确的比较,因为MLP必须向输出端输入一些东西。另一个选择,做一个由3个RNN组成的委员会,把他们的结果输入RNN :D,或输入一些卷积NS。即使通过克劳德,也需要很长的时间来优化。更好的是,将3个RNN送入MLP,给它一个增量价格的输出,从而摆脱过度训练,在理论上。即RNN将发挥自动编码器的作用http://cyberleninka.ru/article/n/avtoenkoder-podhod-k-ponizheniyu-razmernosti-vektornogo-prostranstva-s-kontroliruemoy-poterey-informatsii。
要找到一个可以适用于ARIMA的报价,几乎是不可能的。但这是讲座的结束。
Garch怎么样?它更有前途,在不到一天的时间范围内使用非常广泛,甚至用于高频交易。
要找到一个可以应用ARIMA的报价,几乎是不可能的。但这是讲座的结束。
Garch怎么样?它更有前途,在不到一天的时间框架内使用非常广泛,甚至用于高频交易。
我刚刚开始熟悉这些东西,我甚至还没有做过实验。我只听说过垃圾的事 :)
你认为用RNN作为MLP的自动编码器怎么样?
据我所知,递归网络是一个具有一套逻辑规则的自动编码器类型。
那么,减去趋势,然后对其应用自回归,然后把数值和回归斜率一起塞进NS中,又是怎么回事? 我刚刚开始熟悉这些东西,我甚至还没有实验过呢
你最好马上进行实验!
你将节省大量的时间和不必要的知识。
要找到一个可以适用于ARIMA的报价,几乎是不可能的。但这是讲座的结束。
Garch怎么样?它更有前途,在不到一天的时间范围内被广泛使用,甚至用于高频交易。