文章 "种群优化算法:树苗播种和成长(SSG)算法" - 页 6

 
Andrey Dik #:
在这里!我只是想表达,可以避免五次优化,并在一次优化中立即进入绿色区域。为此,有必要在次要 FF 上引入主 FF。主 FF 应描述绿色区域,并且是全局最大值。
因此,图片上的 FF 并不是我们所需要的,我们需要的是一个寻找全局最大值的 FF。
这很难用手指解释。但您可以在文章))))。

很明显,在有能力的情况下,没有人会以相同的平衡标准进行优化。他们会尽量考虑没有超调的情况、统计意义上的交易数量等。

在这里 写过一些关于这个话题的文章。

您应该能在每一轮交易中看到类似的交易情况。在这里,你可以看到流氓交易和 TC 砖块。


为了形成优化标准,最好能剔除离群的交易。

但这是形成方便的 FF 的主题。即使是完全没有山峰的丘陵地带,这些丘陵也不是一次通过就能找到的。这就是我这样做的原因。

关于交易、自动交易系统和交易策略测试的论坛

讨论文章 "种群优化算法:树苗播种和成长(SSG)算法"

fxsaber, 2023.03.22 00:32

当涉及大量内核时,我通过强制中断优化间接找到了本地。粗略地说,Tester 中有 20 个代理,我在经过 2000 次优化后中断了优化。

但这只是粗略估计。更可靠的做法是扔掉最好的山丘,然后重复优化。
Уменьшаем выборку - увеличиваем стат. значимость?
Уменьшаем выборку - увеличиваем стат. значимость?
  • 2022.01.28
  • www.mql5.com
Торговый робот должен (условно) удовлетворять следующим условиям: Совершать достаточно много сделок на интервале настройки (оптимизации). Показывать столь же стабильный результат вне интервала
 
fxsaber 优化标准 无关)。

如果在一两年内,每天用两个参数对 TC 进行全面优化,以获得相似的帧,然后将这些帧组成视频,就会得到类似这样的结果:



所以问题是:
这样做有什么意义?

 
Andrey Dik 群体 踢出群体,迫使其在不同的极端中形成团块。

坦率地说,这并不是一个具体的愿望,而是一个必须包含在严肃的算法交易软件 Tester 中的工具。

不过,自己调整也是现实的。

关于交易、自动交易系统和交易策略测试的论坛。

讨论文章 "人口优化算法:树苗播种和成长 (SSG) 算法"。

fxsaber, 2023.03.23 19:51

如果您有待切割区域的数据,您可以非常容易地(甚至在普通 Tester 中)在没有空间位置的情况下进行优化。

但我完全不知道如何在 GA 结果中定义找到的全局最大值周围的区域。

GA 算法是完全不同的。我的假设是,如果在 1000 次搜索中发现了一个最大值,然后算法停止,那么最后的 100 次搜索就是发现的最大值周围的点。然后,我们只需取这 100 个点,立即形成一个区域,以便在今后的优化中丢弃。

原则上,如果同一个常规 GA 只运行一次,那么 opt 文件中的最后 100 个条目应该就是这些点。不过,我不确定多核方法是否如此。这就是为什么需要进行某种聚类。这方面的文章很多,你应该好好研究一下。

 
Nikolai Semko #:

如果认为表面会保持静止不动,那就太天真了。

我需要在这个气泡表面中找到一个相对静止的点。我已经找到了。

然而,我们不应该把话题简化为烹饪的技巧和意义。你需要一口锅来烹饪。

 
fxsaber #:

不过,不要把话题简化为烹饪的技巧和意义。你需要一口锅来做饭。

+++

 
fxsaber #:

坦率地说,这不是一个具体的愿望,而是一个严肃的算法交易软件必须包含的工具 - Tester。

但你真的可以自己调整它

GA 算法则完全不同。我想,如果一个最大值被找到了 1000 次,然后算法停止了,那么最后 100 次就是找到的最大值周围的点。那么我们只需取这 100 个点,并立即形成一个区域,以便在今后的优化中丢弃。

原则上,如果同一个常规 GA 只运行一次,那么 opt 文件中的最后 100 个条目应该就是这些点。不过,我不确定多核方法是否如此。这就是为什么需要进行某种聚类。关于这个问题有很多文章,需要研究一下。


我相信,不同算法的最后 100 个条目会有很大不同。根据经验,我有理由这么想,所以我们有理由注意到,为任务选择算法是有道理的,而不仅仅是从表.... 中选择最好的算法。
因此,我认为创建这样一个排名表的想法很有用。
具体任务 - 我指的是具体的任务,而不是罕见的任务。有这样的需求,平台就应该考虑到,最好是这样。

 
最后 100 条记录不会对应不同的峰值,它们都将围绕最后发现的一个峰值。
 
Andrey Dik #:

我相信,不同算法的最后 100 条记录会大相径庭。根据经验,我有理由相信这一点,因此,我们有理由注意到,为任务选择算法是有道理的,而不仅仅是从表中选取最好的算法......

因此,我认为创建这样一个评级表的想法很有用。

为排名干杯更客观但我还是有点困惑。我还在研究我面临的实际问题。

具体任务--我的意思是具体的,而不是罕见的。有需求,所以最好在平台中加以考虑。

在测试器中,我会添加一个"丢弃之前优化发现的最大值区域 " 选项。

然后第一次运行时不打钩,其余运行时打钩。进行 20 次优化 - 得到 20 个峰值。

然后将它们载入 OOS-check(20 次单次运行)并进行评估,同时评估整个 TS/FF。

 
fxsaber #:

我需要在这个冒泡的表面找到一个相对静止的点。我发现这些...


我的意思是,在 TC 输入端不应有需要 "优化 "的输入参数。
即使是内部参数的自我优化也是自欺欺人。

 
fxsaber #:

在 Tester 中,我想添加一个勾选框"放弃之前优化的最大值区域"

独立实现:

  1. 读取最后一个优化文件,并从最后 100 次优化中生成一个区域(可以理解,这并不完全正确)。
  2. 我将该区域添加到了公共文件中。
  3. 在启动时,EA 会从公共文件中读取这些区域。此外,还有一项检查,即如果输入触及这些区域,我们将执行 INIT_FAILED。
一切准备就绪!最重要的是正确形成第 1 点中的区域。