程序库: 多功能测试仪 - 页 18

 
fxsaber:

这样更便宜。

谢谢,知道了


fxsaber:

但这还不够。

没有太多选择--只能对输入参数进行编码,使 GA 无法快速找到局部最大值

ZY:几周前我研究过这个问题,甚至有一种专门针对 GA 的简单编码算法,但我找不到了。

更新:格雷对遗传算法的编码已在有关遗传算法的维基中 使用--那里有格雷编码的链接。

 

这很好地说明了为什么要连续做几个 GA。

这里有五个 GA。

 
fxsaber:

请澄清。

由于某些原因,我错过了这条信息。

经常出现的情况是,改变某个范围内的某个变量并不会改变结果。这时,这个范围内的一个随机值就是最佳结果,或者有连续的值返回相同的结果。为了将结果相同的变量的最小值或最大值(取决于变量的含义)放在最前面,我引入了微量惩罚。排序列表中的结果保持在相同的位置,但它们会变得略有不同,而 GA 会从相同值的范围中找到变量的最小值/最大值,但要付出新的代价。

同时,通过增加通过次数,往往能找到新的最大值。

是我解释错了,还是问题不一样?

顺便说一句,在遗传学末期,代际传递非常快,因此增加传递次数并不会大大降低优化速度。

 
大家好。你们能告诉我如何使优化不是运行一次,而是例如 10 次。例如,我选择 5 个自定义配对。然后运行多重测试器。但它只对每对进行一次运行。但我想让它运行更多次。如果谁有解决方案,请告诉我。
[删除]  
fxsaber:

这很好地说明了为什么连续进行多个 GA 是有用的。

这里有五个 GA。

你可以做 50 次,然后得到一个蛮力 :D

 
Maxim Dmitrievsky:

或者你可以做 50 次,然后获得一个暴力破解:D

当然,"蛮力 "是练习出来的,但也是诚实的。

 

有时,限制一次优化的持续时间会比较方便。例如,优化时间不应超过一小时。

最简单的方法是在 Expert Advisor 中添加 带计时器的框架模式。在计时器中,当达到时间阈值时,通过 MTTester.mqh 按停止按钮。

 
2492 - Win 终端的形式似乎发生了变化。现在必须重新设计点击器,寻找新的代码...
 
Edgar Akhmadeev:
2492 - Win 终端的形式似乎发生了变化。现在必须重新设计点击器,寻找新的代码...

只有启动/停止时才需要点击器,它可以工作。

ZЫ 我已经更新到很久以前的版本了。
 
fxsaber:

您只需要启动/停止的点击器,它就能工作。

ZY 我把它更新到了很久以前的版本。

实际上,我说的不是特定的 MultiTester 程序,而是它的点击器基础,我把它拿走了。在优化之前,我设置了许多字段的单击器,结果发现有些地方发生了变化。我得稍后再研究一下,现在我已经回滚了。

我只是报告了终端的变化,并不是程序的问题。