文章 "强化学习中的随机决策森林" - 页 5 12345678910 新评论 FxTrader562 2018.08.04 20:33 #41 Maxim Dmitrievsky :你好,还没准备好。完成后,我会给您写信。感谢您的回复。 你有没有想过在当前的随机森林实现中,将 Q-learning 作为奖励函数? 我的意思是,你是否想使用 "贝尔曼方程 "作为一种奖励方式,来奖励代理更新每个烛光闭合决策的奖励矩阵,这可能吗? 我有一个 Q 公式的 MQL5 示例代码,如果您感兴趣,我可以在这里发布。我试着自己实现,但我不太擅长矩阵实现,而且我仍然不能 100% 确定如何正确使用矩阵。 顺便说一下,我不得不承认,EA 有时会在某些市场条件下给出一些令人惊喜的结果,但在市场发生变化时却不一定。因此,我也在尝试实现一些功能,以便在出现亏损时,EA 可以立即自动更改预测器(指标)。我看到您在一条评论中提到了自动选择预测器的想法,我认为这也是最重要的部分。 Maxim Dmitrievsky 2018.08.04 20:47 #42 FxTrader562 :感谢您的回复。您有没有想过在您目前的随机决策森林实现中将 Q-learning 作为奖励函数?我的意思是,您是否想使用 "贝尔曼方程 "作为一种奖励方式,来奖励代理更新每个烛光闭合决策的奖励矩阵,这可能吗?我有一个 Q 公式的 MQL5 示例代码,如果您感兴趣,我可以在这里发布。我试着自己实现,但我不太擅长矩阵实现,而且我仍然不能 100% 确定如何正确使用矩阵。顺便说一下,我不得不承认,EA 有时会在某些市场条件下给出一些令人惊喜的结果,但在市场发生变化时却不一定。因此,我也在尝试实现一些功能,以便在出现亏损时,EA 可以立即自动更改预测器(指标)。我看到你在一条评论中提到了自动选择预测指标的想法,我认为这也是最重要的部分。是的,我想的是 Q-learning。问题在于,随机森林本身就能逼近策略,因此不需要贝尔曼方程。而且,Q-learning 的功能非常强大。 我现在正在寻找自动函数变换的解决方案,比如 "内核技巧"。然后,我们可以迭代地训练模型,并选择一个在测试子集上分类误差较小的具有转换特征的模型。 FxTrader562 2018.08.04 21:09 #43 Maxim Dmitrievsky :是的,我想的是 Q-learning。问题是,随机森林本身就能逼近策略,因此不需要贝尔曼方程。另外,Q-learning 的功能非常强大。我现在正在寻找自动函数变换的解决方案,比如 "内核技巧"。然后,我们可以迭代地训练模型,并在测试子集上选择一个分类误差较小的具有转换特征的模型。是的,我同意你关于策略收敛的观点。但在目前实施的政策对政策的情况下,政策并没有考虑到交易历史、交易浮动等的一致损失。因此,我所说的执行 Q,是指代理将充分了解每笔未平仓交易的当前浮动利润以及之前的连续亏损和收益,因此它将近似地使政策实现利润最大化,而不是仅仅以盈利交易数量最大化为目标,因为当出现大额亏损时,盈利交易数量就变得无关紧要了。 我的意思是,一系列盈利交易的利润会被一次大额亏损抹去,但这与代理人无关,因为她的目标只是最大限度地增加盈利交易的数量。因此,在 Q 值中,我们可以用当前的浮动利润为代理提供即时奖励,代理将在每次打开蜡烛线时检查该浮动利润,以做出下一个决定,最大限度地提高利润,减少亏损,而不管盈利交易的数量或交易的终止情况如何。 总之,如果您打算在连续亏损时自动迭代训练模型,这将非常有用。我将在下一篇文章中介绍类似的方法。 另外,根据我过去几周的 EA 训练和测试,我注意到当出现一次亏损时,你只需自动切换到不同的模型(不同的指标值或指标),否则当市场在一定时间内击中策略时,EA 会给出一系列盈利的交易。但是,一旦出现一次亏损,同样的一系列亏损就会持续一段时间。 FxTrader562 2018.08.04 21:13 #44 FxTrader562 : 是的,我同意你关于政策衔接的观点。但在目前实行的政策对政策的情况下,政策并没有考虑到交易历史的连续亏损、交易浮动收益等。因此,我所说的执行 Q,是指代理将完全了解每笔未平仓交易的当前浮动利润以及之前的连续亏损和利润,因此它将近似地使政策实现利润最大化,而不是仅仅以盈利交易数量最大化为目标,因为当出现大额亏损时,盈利交易数量就变得无关紧要了。 我的意思是,一系列盈利交易的利润会被一次大额亏损抹去,但这与代理人无关,因为她的目标只是最大限度地增加盈利交易的数量。因此,在 Q 值中,我们可以用当前的浮动利润为代理提供即时奖励,代理将在每次打开蜡烛线时检查该浮动利润,以做出下一个决定,最大限度地增加利润,减少亏损,而不管盈利交易的数量或交易的终止情况如何。 总之,如果您打算在连续亏损时自动迭代训练模型,这将非常有用。我将在下一篇文章中介绍类似的方法。 另外,根据我过去几周的 EA 训练和测试,我注意到当出现一次亏损时,你只需自动切换到不同的模型(不同的指标值或指标),否则当市场在一定时间内击中策略时,EA 会给出一系列盈利的交易。但只要出现一次亏损,同样的一系列亏损就会持续一段时间。 因此,我认为在这种情况下实施自动优化 会很有用。我认为已经有一篇文章介绍了自动优化,如果您能在当前的 EA 中实施,那么任务就完成了。 Maxim Dmitrievsky 2018.08.05 08:53 #45 FxTrader562 :是的,我同意你关于政策衔接的观点。但在目前实行的政策对政策的情况下,政策并没有考虑到交易历史的连续亏损、交易浮动收益等。因此,我所说的执行 Q,是指代理将完全了解每笔未平仓交易的当前浮动利润以及之前的连续亏损和利润,因此它将近似地使政策实现利润最大化,而不是仅仅以盈利交易数量最大化为目标,因为当出现大额亏损时,盈利交易数量就变得无关紧要了。我的意思是,一系列盈利交易的利润会被一次大额亏损抹去,但这与代理人无关,因为她的目标只是最大限度地增加盈利交易的数量。因此,在 Q 值中,我们可以用当前的浮动利润为代理提供即时奖励,代理将在每次打开蜡烛线时检查该浮动利润,以做出下一个决定,最大限度地提高利润,减少亏损,而不管盈利交易的数量或交易的终止情况如何。总之,如果您打算在连续亏损时自动迭代训练模型,这将非常有用。我将在下一篇文章中介绍类似的方法。另外,根据我过去几周的 EA 训练和测试,我注意到当出现一次亏损时,你只需自动切换到不同的模型(不同的指标值或指标),否则当市场在一定时间内击中策略时,EA 会给出一系列盈利的交易。但只要出现一次亏损,同样的一系列亏损就会持续一段时间。因此,我认为在这种情况下实施自动优化会很有用。我认为已经有一篇关于自动优化的文章,如果您能在当前的 EA 中实施,任务就完成了。例如,你可以改变奖励函数,使其更接近夏普比率。或者其他指标。我尝试过不同的函数,发现把函数弄得更复杂并没有什么好处。 您还可以阅读以下内容: https://github.com/darden1/tradingrrl 自动优化是个好主意,但我现在正在改进当前的算法。 FxTrader562 2018.08.05 13:03 #46 Maxim Dmitrievsky :例如,您可以改变奖励函数,使其接近夏普比率。或者其他指标。我尝试过不同的函数,发现把函数变得更复杂并没有什么好处。您还可以阅读以下内容: https://github.com/darden1/tradingrrl自动优化是个好主意,但现在我正在努力改进当前的算法。感谢您的文章。我会好好研究的。 毫无疑问,就编码的简易性、学习速度和结果的准确性而言,目前的实现仍然是我所见过的机器学习中最好的,如果再增加一些指标,很可能还会大大提高结果的准确性。 我完全同意你的观点,小的复杂因素会让结果变得更糟,而 EA 的自学能力是最好的。我试过使用止损和获利来限制亏损额,结果是严格止损会让结果变得更糟。 但唯一缺少的就是迭代学习。我的意思是,算法只在优化过程中学习,之后就完全依赖于训练数据,因此在一种情况下,我们不能称其为 "强化学习",因为它在交易过程中不学习,只在训练过程中学习、 因此,我正在寻找一些解决方案,以便在每次亏损时自动进行优化。我的意思是每次亏损和奖励更新时,EA 都应该调用优化器,根据上个月的数据再次进行训练。或者,我们可以在亏损后暂停一段时间,优化完成后 EA 再重新开始交易。这样,训练好的树(Mtrees 文本文件)将始终包含基于当前市场的最新策略。 可能有一些关于自动优化的文章,但我不是 EA 程序员,因此到目前为止我还没有找到将其集成到您的 EA 中的方法。 由于您当前的实施已经在使用准备数据中的策略,因此与其他 EA 不同,您的自动优化器不需要在自动优化后保存数值。只需运行优化器并单击开始按钮以及开始和结束日期,就足以实现自动优化。 Maxim Dmitrievsky 2018.08.05 15:56 #47 FxTrader562:感谢您的文章。我会好好研究一下。 毫无疑问,就编码的简易性、学习速度和结果的准确性而言,目前的实现仍然是我所见过的机器学习中最好的,如果再增加一些指标,很可能还会大大提高结果。 我完全同意你的观点,小的复杂因素会让结果变得更糟,而 EA 的自学能力是最好的。我试过使用止损和获利来限制亏损额,结果是严格止损会让结果变得更糟。 但唯一缺少的就是迭代学习。我的意思是,算法只在优化过程中学习,之后就完全依赖于训练数据,因此在一种情况下,我们不能称其为 "强化学习",因为它在交易过程中不学习,只在训练过程中学习、 因此,我正在寻找一些解决方案,以便在每次亏损时自动进行优化。我的意思是每次亏损和奖励更新时,EA 都应该调用优化器,根据上个月的数据再次进行训练。或者,我们可以在亏损后暂停一段时间,优化完成后 EA 再重新开始交易。这样,训练好的树(Mtrees 文本文件)将始终包含基于当前市场的最新策略。 可能有一些关于自动优化的文章,但我不是 EA 程序员,因此到目前为止我还没有找到将其集成到您的 EA 中的方法。 由于您当前的实施已经在使用准备数据中的策略,因此与其他 EA 不同,您的自动优化器不需要在自动优化后保存数值。只需运行优化器并点击开始按钮以及开始和结束日期,就足以实现自动优化。 我明白你的意思,为此你需要一个虚拟回溯测试器。写起来一点也不难,也许我会在下一篇文章中加入。 FxTrader562 2018.08.05 16:46 #48 Maxim Dmitrievsky :我明白你的意思,这需要一个虚拟测试员。这并不难写,我可能会把它添加到下一篇文章中。非常感谢。我会在您今后的文章中加以考虑的。 是的,我也认为这不应该是一个困难的任务,特别是对你的 EA 而言,因为除了使用优化器从开始日期到今天的日期外,没有什么可做的,优化期可以在 EA 输入设置中指定,我的意思是没有从优化文件中读写,因为这已经由你的 EA 完成了。但我不知道具体如何操作,因此我将等待您的更新。 顺便说一下,随机决策森林(RDF)吸引我的最不寻常之处在于,我注意到 RDF 实现的基本模型与 GO 游戏非常相似,尽管我的观察可能有误。因此,如果 "ALPHAGO "机器学习算法能战胜像围棋这样的复杂游戏,那么 RDF 也一定能战胜外汇市场。我的意思是,我坚信,如果在交易过程中不断输入足够的输入变量(指标)来制定和维持最优策略,那么使用 RDF 很容易获得 99% 的准确交易。 再次感谢您抽出宝贵时间。 Oleg Mironov 2018.08.05 17:59 #49 下午好、 我在此公布一些实验结果(在没有模糊逻辑的纯树上获得的结果,我本想把它们附在一篇新文章中,但由于关于奖励函数的讨论仍在继续,所以我把它们作为信息公布出来,供大家理解和讨论)。 1.在我看来,把 SELL 的随机值设置在整个区间 0...1 上是不对的,因为我们已经知道销售是无利可图的。 if(RDFpolisyMatrix[numberOfsamples-1][iNeuronEntra]==1.0)//SELL likelyhood = MathRandomUniform(0.0,0.6,unierr); else likelyhood = MathRandomUniform(0.4,1.0,unierr); 通过将范围限制在相反和不确定的值上,学习速度会提高很多倍。只需运行 2-3 次(我相信是通过随机数据),训练质量就能达到 4-6 次的水平(由于附加因素较多,散点范围较大,但效率甚至没有提高百分之几十)。 2.2. 在最初的实施过程中,我发现一个奇怪的现象,即随机获得的 值是一个强化因子。这很容易造成趋势强劲而回报较低的情况。 摆脱这种情况的首次尝试 if(RDFpolisyMatrix[numberOfsamples-1][iNeuronEntra]==1.0)//SELL nagrada=MathMin(1.0,0.61+NormalizeDouble(profit/WS.PriceStep()/250,2));想法:在 100 点及以上时,获利为 1,如果更少,则平均递增(在这种情况下,从 0.61 开始)。Priper pdl 用于卖出,买入与其他水平类似。理论上,趋势越强,回报越高。结果有所改善,但略大于统计误差。与此同时,相同条件下的树状图文件大小明显缩小。显然,这种对结果的特殊排序可以更简单地描述规则。 为了测试树的组合,我决定加载一棵树的估计结果。 updatePolicy(0); //购买 updatePolicy(1); //出售 并习惯性地运行了训练。令我惊讶的是,在使用粗化奖励函数的类似训练中,结果显示出了显著的改善--在训练过的站点上,在其他条件相同的情况下,4 个月的利润超过了旧变体 6 个月的利润(我在进行比较,因为具体数字会因训练条件、配对、编码员手柄的曲率而有很大不同),最有趣的是,控制区间的结果也得到了改善。加载评估功能改善了预测结果!也许对于一个亲统计学家来说,这没有什么新奇的,他可以用公式来证明应该如此,但对我来说,这是一个冲击,正如人们所说,有必要习惯它。于是就出现了进一步选择和评估预测函数的问题。 我希望我花在测试上的时间能够帮助别人至少减少他们的搜索时间(或者给他们犯新错误的机会,这些错误将与我们分享)。 Igor Makanu 2018.08.05 20:34 #50 这篇文章的作者好心地提供了这些代码,要把这些代码教给 3-5 个小节的最简单模式,这现实吗? SZY: hmm, even under alcohol I'm writing like on Aliexpress to a Chinese seller )))) 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好,还没准备好。完成后,我会给您写信。
感谢您的回复。
你有没有想过在当前的随机森林实现中,将 Q-learning 作为奖励函数?
我的意思是,你是否想使用 "贝尔曼方程 "作为一种奖励方式,来奖励代理更新每个烛光闭合决策的奖励矩阵,这可能吗?
我有一个 Q 公式的 MQL5 示例代码,如果您感兴趣,我可以在这里发布。我试着自己实现,但我不太擅长矩阵实现,而且我仍然不能 100% 确定如何正确使用矩阵。
顺便说一下,我不得不承认,EA 有时会在某些市场条件下给出一些令人惊喜的结果,但在市场发生变化时却不一定。因此,我也在尝试实现一些功能,以便在出现亏损时,EA 可以立即自动更改预测器(指标)。我看到您在一条评论中提到了自动选择预测器的想法,我认为这也是最重要的部分。
感谢您的回复。
您有没有想过在您目前的随机决策森林实现中将 Q-learning 作为奖励函数?
我的意思是,您是否想使用 "贝尔曼方程 "作为一种奖励方式,来奖励代理更新每个烛光闭合决策的奖励矩阵,这可能吗?
我有一个 Q 公式的 MQL5 示例代码,如果您感兴趣,我可以在这里发布。我试着自己实现,但我不太擅长矩阵实现,而且我仍然不能 100% 确定如何正确使用矩阵。
顺便说一下,我不得不承认,EA 有时会在某些市场条件下给出一些令人惊喜的结果,但在市场发生变化时却不一定。因此,我也在尝试实现一些功能,以便在出现亏损时,EA 可以立即自动更改预测器(指标)。我看到你在一条评论中提到了自动选择预测指标的想法,我认为这也是最重要的部分。
是的,我想的是 Q-learning。问题在于,随机森林本身就能逼近策略,因此不需要贝尔曼方程。而且,Q-learning 的功能非常强大。
我现在正在寻找自动函数变换的解决方案,比如 "内核技巧"。然后,我们可以迭代地训练模型,并选择一个在测试子集上分类误差较小的具有转换特征的模型。
是的,我想的是 Q-learning。问题是,随机森林本身就能逼近策略,因此不需要贝尔曼方程。另外,Q-learning 的功能非常强大。
我现在正在寻找自动函数变换的解决方案,比如 "内核技巧"。然后,我们可以迭代地训练模型,并在测试子集上选择一个分类误差较小的具有转换特征的模型。
是的,我同意你关于策略收敛的观点。但在目前实施的政策对政策的情况下,政策并没有考虑到交易历史、交易浮动等的一致损失。因此,我所说的执行 Q,是指代理将充分了解每笔未平仓交易的当前浮动利润以及之前的连续亏损和收益,因此它将近似地使政策实现利润最大化,而不是仅仅以盈利交易数量最大化为目标,因为当出现大额亏损时,盈利交易数量就变得无关紧要了。
我的意思是,一系列盈利交易的利润会被一次大额亏损抹去,但这与代理人无关,因为她的目标只是最大限度地增加盈利交易的数量。因此,在 Q 值中,我们可以用当前的浮动利润为代理提供即时奖励,代理将在每次打开蜡烛线时检查该浮动利润,以做出下一个决定,最大限度地提高利润,减少亏损,而不管盈利交易的数量或交易的终止情况如何。
总之,如果您打算在连续亏损时自动迭代训练模型,这将非常有用。我将在下一篇文章中介绍类似的方法。
另外,根据我过去几周的 EA 训练和测试,我注意到当出现一次亏损时,你只需自动切换到不同的模型(不同的指标值或指标),否则当市场在一定时间内击中策略时,EA 会给出一系列盈利的交易。但是,一旦出现一次亏损,同样的一系列亏损就会持续一段时间。
FxTrader562 :
是的,我同意你关于政策衔接的观点。但在目前实行的政策对政策的情况下,政策并没有考虑到交易历史的连续亏损、交易浮动收益等。因此,我所说的执行 Q,是指代理将完全了解每笔未平仓交易的当前浮动利润以及之前的连续亏损和利润,因此它将近似地使政策实现利润最大化,而不是仅仅以盈利交易数量最大化为目标,因为当出现大额亏损时,盈利交易数量就变得无关紧要了。
我的意思是,一系列盈利交易的利润会被一次大额亏损抹去,但这与代理人无关,因为她的目标只是最大限度地增加盈利交易的数量。因此,在 Q 值中,我们可以用当前的浮动利润为代理提供即时奖励,代理将在每次打开蜡烛线时检查该浮动利润,以做出下一个决定,最大限度地增加利润,减少亏损,而不管盈利交易的数量或交易的终止情况如何。
总之,如果您打算在连续亏损时自动迭代训练模型,这将非常有用。我将在下一篇文章中介绍类似的方法。
另外,根据我过去几周的 EA 训练和测试,我注意到当出现一次亏损时,你只需自动切换到不同的模型(不同的指标值或指标),否则当市场在一定时间内击中策略时,EA 会给出一系列盈利的交易。但只要出现一次亏损,同样的一系列亏损就会持续一段时间。
因此,我认为在这种情况下实施自动优化 会很有用。我认为已经有一篇文章介绍了自动优化,如果您能在当前的 EA 中实施,那么任务就完成了。
是的,我同意你关于政策衔接的观点。但在目前实行的政策对政策的情况下,政策并没有考虑到交易历史的连续亏损、交易浮动收益等。因此,我所说的执行 Q,是指代理将完全了解每笔未平仓交易的当前浮动利润以及之前的连续亏损和利润,因此它将近似地使政策实现利润最大化,而不是仅仅以盈利交易数量最大化为目标,因为当出现大额亏损时,盈利交易数量就变得无关紧要了。
我的意思是,一系列盈利交易的利润会被一次大额亏损抹去,但这与代理人无关,因为她的目标只是最大限度地增加盈利交易的数量。因此,在 Q 值中,我们可以用当前的浮动利润为代理提供即时奖励,代理将在每次打开蜡烛线时检查该浮动利润,以做出下一个决定,最大限度地提高利润,减少亏损,而不管盈利交易的数量或交易的终止情况如何。
总之,如果您打算在连续亏损时自动迭代训练模型,这将非常有用。我将在下一篇文章中介绍类似的方法。
另外,根据我过去几周的 EA 训练和测试,我注意到当出现一次亏损时,你只需自动切换到不同的模型(不同的指标值或指标),否则当市场在一定时间内击中策略时,EA 会给出一系列盈利的交易。但只要出现一次亏损,同样的一系列亏损就会持续一段时间。
因此,我认为在这种情况下实施自动优化会很有用。我认为已经有一篇关于自动优化的文章,如果您能在当前的 EA 中实施,任务就完成了。
例如,你可以改变奖励函数,使其更接近夏普比率。或者其他指标。我尝试过不同的函数,发现把函数弄得更复杂并没有什么好处。
您还可以阅读以下内容: https://github.com/darden1/tradingrrl
自动优化是个好主意,但我现在正在改进当前的算法。
例如,您可以改变奖励函数,使其接近夏普比率。或者其他指标。我尝试过不同的函数,发现把函数变得更复杂并没有什么好处。
您还可以阅读以下内容: https://github.com/darden1/tradingrrl
自动优化是个好主意,但现在我正在努力改进当前的算法。
感谢您的文章。我会好好研究的。
毫无疑问,就编码的简易性、学习速度和结果的准确性而言,目前的实现仍然是我所见过的机器学习中最好的,如果再增加一些指标,很可能还会大大提高结果的准确性。
我完全同意你的观点,小的复杂因素会让结果变得更糟,而 EA 的自学能力是最好的。我试过使用止损和获利来限制亏损额,结果是严格止损会让结果变得更糟。
但唯一缺少的就是迭代学习。我的意思是,算法只在优化过程中学习,之后就完全依赖于训练数据,因此在一种情况下,我们不能称其为 "强化学习",因为它在交易过程中不学习,只在训练过程中学习、
因此,我正在寻找一些解决方案,以便在每次亏损时自动进行优化。我的意思是每次亏损和奖励更新时,EA 都应该调用优化器,根据上个月的数据再次进行训练。或者,我们可以在亏损后暂停一段时间,优化完成后 EA 再重新开始交易。这样,训练好的树(Mtrees 文本文件)将始终包含基于当前市场的最新策略。
可能有一些关于自动优化的文章,但我不是 EA 程序员,因此到目前为止我还没有找到将其集成到您的 EA 中的方法。
由于您当前的实施已经在使用准备数据中的策略,因此与其他 EA 不同,您的自动优化器不需要在自动优化后保存数值。只需运行优化器并单击开始按钮以及开始和结束日期,就足以实现自动优化。
感谢您的文章。我会好好研究一下。
毫无疑问,就编码的简易性、学习速度和结果的准确性而言,目前的实现仍然是我所见过的机器学习中最好的,如果再增加一些指标,很可能还会大大提高结果。
我完全同意你的观点,小的复杂因素会让结果变得更糟,而 EA 的自学能力是最好的。我试过使用止损和获利来限制亏损额,结果是严格止损会让结果变得更糟。
但唯一缺少的就是迭代学习。我的意思是,算法只在优化过程中学习,之后就完全依赖于训练数据,因此在一种情况下,我们不能称其为 "强化学习",因为它在交易过程中不学习,只在训练过程中学习、
因此,我正在寻找一些解决方案,以便在每次亏损时自动进行优化。我的意思是每次亏损和奖励更新时,EA 都应该调用优化器,根据上个月的数据再次进行训练。或者,我们可以在亏损后暂停一段时间,优化完成后 EA 再重新开始交易。这样,训练好的树(Mtrees 文本文件)将始终包含基于当前市场的最新策略。
可能有一些关于自动优化的文章,但我不是 EA 程序员,因此到目前为止我还没有找到将其集成到您的 EA 中的方法。
由于您当前的实施已经在使用准备数据中的策略,因此与其他 EA 不同,您的自动优化器不需要在自动优化后保存数值。只需运行优化器并点击开始按钮以及开始和结束日期,就足以实现自动优化。
我明白你的意思,为此你需要一个虚拟回溯测试器。写起来一点也不难,也许我会在下一篇文章中加入。
我明白你的意思,这需要一个虚拟测试员。这并不难写,我可能会把它添加到下一篇文章中。
非常感谢。我会在您今后的文章中加以考虑的。
是的,我也认为这不应该是一个困难的任务,特别是对你的 EA 而言,因为除了使用优化器从开始日期到今天的日期外,没有什么可做的,优化期可以在 EA 输入设置中指定,我的意思是没有从优化文件中读写,因为这已经由你的 EA 完成了。但我不知道具体如何操作,因此我将等待您的更新。
顺便说一下,随机决策森林(RDF)吸引我的最不寻常之处在于,我注意到 RDF 实现的基本模型与 GO 游戏非常相似,尽管我的观察可能有误。因此,如果 "ALPHAGO "机器学习算法能战胜像围棋这样的复杂游戏,那么 RDF 也一定能战胜外汇市场。我的意思是,我坚信,如果在交易过程中不断输入足够的输入变量(指标)来制定和维持最优策略,那么使用 RDF 很容易获得 99% 的准确交易。
再次感谢您抽出宝贵时间。
下午好、
我在此公布一些实验结果(在没有模糊逻辑的纯树上获得的结果,我本想把它们附在一篇新文章中,但由于关于奖励函数的讨论仍在继续,所以我把它们作为信息公布出来,供大家理解和讨论)。
1.在我看来,把 SELL 的随机值设置在整个区间 0...1 上是不对的,因为我们已经知道销售是无利可图的。
通过将范围限制在相反和不确定的值上,学习速度会提高很多倍。只需运行 2-3 次(我相信是通过随机数据),训练质量就能达到 4-6 次的水平(由于附加因素较多,散点范围较大,但效率甚至没有提高百分之几十)。
2.2. 在最初的实施过程中,我发现一个奇怪的现象,即随机获得的 值是一个强化因子。这很容易造成趋势强劲而回报较低的情况。
摆脱这种情况的首次尝试
想法:在 100 点及以上时,获利为 1,如果更少,则平均递增(在这种情况下,从 0.61 开始)。Priper pdl 用于卖出,买入与其他水平类似。理论上,趋势越强,回报越高。结果有所改善,但略大于统计误差。与此同时,相同条件下的树状图文件大小明显缩小。显然,这种对结果的特殊排序可以更简单地描述规则。
为了测试树的组合,我决定加载一棵树的估计结果。
并习惯性地运行了训练。令我惊讶的是,在使用粗化奖励函数的类似训练中,结果显示出了显著的改善--在训练过的站点上,在其他条件相同的情况下,4 个月的利润超过了旧变体 6 个月的利润(我在进行比较,因为具体数字会因训练条件、配对、编码员手柄的曲率而有很大不同),最有趣的是,控制区间的结果也得到了改善。加载评估功能改善了预测结果!也许对于一个亲统计学家来说,这没有什么新奇的,他可以用公式来证明应该如此,但对我来说,这是一个冲击,正如人们所说,有必要习惯它。于是就出现了进一步选择和评估预测函数的问题。
我希望我花在测试上的时间能够帮助别人至少减少他们的搜索时间(或者给他们犯新错误的机会,这些错误将与我们分享)。
这篇文章的作者好心地提供了这些代码,要把这些代码教给 3-5 个小节的最简单模式,这现实吗?
SZY: hmm, even under alcohol I'm writing like on Aliexpress to a Chinese seller ))))