策略测试仪的优化 - 页 18

 
Renat:

只有在通过次数远远超过10000次时,使用遗传学才有意义。在你的案例中,只有817个通行证,而且需要以完全搜索模式运行。

遗传学通过对基因序列进行建模来产生高效的个体。这需要一定数量的人口,通常至少有10000个通行证。

测试还没有结束。它正在进行中。然而,在这三张图片中,仍然存在着通行证数量上的不平衡。这种不平衡不是立即形成的,但从什么时候开始(过了多少次),我也说不清楚。
 
ForexMoneyMaker:
测试还没有结束。它正在进行中。然而,在这三张图片中,仍然存在着通行证数量的不平衡。这种不平衡并没有立即形成,但从确切的时间(传球次数)来看,我无法说清。

是的,我误解了这个问题。

我们现在正在努力解决这个问题。也许这与跳过 "无用 "的结果有关。

 
Renat:

是的,我把问题搞错了。

我们现在正在梳理它。也许这与跳过 "无用 "的结果有关。

在这里,顺便说一下,你也把另一个问题带到了我的脑海中。

如果优化器,像我的情况一样,发现很难找到一个解决方案(看到结果大部分是零,尽管有4个核心和20个外部代理,但优化速度非常慢),我应该去完全的蛮力优化而不是遗传算法

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
ForexMoneyMaker:

但是,如果优化器,也许就像我的情况一样,很难找到一个解决方案(你可以看到,尽管有4个核心和20个外部代理,但结果基本上是零,优化非常缓慢),我们是否应该将优化转移到完全蛮力,而不是遗传算法

粗略地说,遗传学允许通过将参数随机打包到基因中来摆脱几乎所有的局部坑洞。

一般来说,如果遗传学(你可以运行2-3次重测)没有发现任何东西,那么蛮力在那里也没有什么用处。

 
ForexMoneyMaker:

主持人好!

我有一个问题:为什么这里所附的三张图片都显示了不同数量的优化器通道?原因是什么呢?

根据第一张图片,通行证的数量应该是817。然而,在第二和第三张照片上,他们的数量要少得多。

你所问的问题已经讨论过很多次了。而答案就在帮助中。我不是版主,但我要回答。

该图显示了所有的结果,除了标为红色的结果。有严重错误的运行被标记为红色。

只有独特的结果才会被放在结果标签中。对于连续运行,所有结果都是唯一的。对于遗传学,大量的参数集是重复的,也就是说,它们不是唯一的。结果已经在结果缓存中了--这个参数集没有被送去测试,结果被绘制出来,但不在结果列表中。

 
stringo:

我不是版主,但我要回答。

 
Renat:
stringo

你所问的问题已经讨论过很多次了。而其中的答案就在帮助中。我不是版主,但我要回答。

该图显示了所有的结果,除了标为红色的结果。有严重错误 的运行被标记为红色。

只有独特的结果才会被放在结果标签中。对于连续运行,所有结果都是唯一的。对于遗传学,大量的参数集是重复的,也就是说,它们不是唯一的。结果已经在结果缓存中了--这个参数集没有被送去测试,结果被绘制出来,但不在结果列表中。

好的。谢谢你。这一切都很清楚。
 
ForexMoneyMaker:
(笑): 好的。谢谢你。一切都很清楚。
在测试员日志的上下文菜单中勾选 "全面优化日志"。然后阅读日志--它显示哪个代理给出了哪个作业,哪个代理得到了哪个结果,哪个结果在结果缓存中被发现,哪个结果在文件缓存中被发现。哪些运行以关键错误 结束(以及什么错误)。 这可能是引人入胜的读物
Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 

你好,版主!

我有一个新的问题,关于使用OnTester() 函数对EA进行优化,其中已经写好了适当的条件。在构建496上使用遗传算法进行了优化。

优化器的工作结果显示在以下图片中。

为了确保优化过程中获得的参数能给出适当的结果,我们用每个表中最后一行获得的相应参数测试了专家顾问,但在第519次构建的更新版本上(不幸的是,在496上没有这样做)。

有三个问题。

1.如果通过OnTester(),结果等于零或大于零,为什么优化图会显示负值?

2.为什么我们看到优化图上有两个高于零的点(数值等于0.51),而表格中只有一个?

3.在Build 519上测试后,两次测试的结果与优化的结果不一致,这可能是什么原因?(在第一种情况下,专家顾问停止,而不是利润745,因为存款耗尽到没有足够资金开仓的水平,在第二种情况下,结果收到7903030,而不是利润83064)

 
ForexMoneyMaker:

有三个问题。

1.如果通过OnTester(),结果等于零或大于零,为什么优化图上会有一个负值?

2.为什么我们看到优化图上有两个高于零的点(数值等于0.51),而表格中只有一个?

3.在Build 519上测试后,两次测试的结果与优化的结果 不一致,这可能是什么原因?(在第一种情况下,专家顾问没有获利745,而是由于存款流失到没有足够的资金开仓而停止,在第二种情况下,没有获利83064,结果是79030)


我不是版主,但我会试着回答。

1.你的图表上正好有0的结果,只是0没有显示在刻度上。

2.遗传算法生成具有相同参数集的个体,对它们的结果从缓存中提取,没有真正的运行。因此,图表显示了所有的运行结果,包括重复的,而重复的运行不进入结果表(但日志显示了一条信息,即结果来自缓存)。

3.在单次运行中,如果达到停止运行的水平,测试器就会完成测试,而优化器则会跳过这种情况而不进行分析。可能,测试人员不能自己确定停止的事实,测试人员就会这样做。而平衡可能会回到积极的区域。我也观察到这种情况。

4.最后一种情况,我认为是由于终端更新或历史更新。