优化一个EA,获得优化后的最佳效果。 - 页 23

 
+1 拿了剩下的一个来优化
附加的文件:
 
George Merts:

在任何情况下都是相关的。

即使你同时做几个优化 - 这将允许更好地选择最佳输入参数集 - 只需合并XML文件,并由评估脚本处理。只有当脚本发现错误时才会出现问题,就像上次我没有在SET-文件中标记所有的变量时那样。脚本会告诉我 "无效的文件",但我无法弄清楚哪里出了问题。

这样,你的优化就会被考虑在内。现在我将处理它,在Yandex上更新版本,并发布下一个 "退出 "联盟的专家。如果它是有趣的--我可以写 "因为我被踢出了什么"。:)

一般来说,我以为遗传学每次都会选择相同的结果,难道不是这样吗?

可以收集降级的统计数据,也许这些数据将导致顾问的改进,如果方法改变......

 
Aleksey Vyazmikin:

一般来说,我以为遗传学每次都会带走同样的结果,难道不是这样吗?

可以收集出发时的统计数据,也许可以按照这些数据来改进EA,如果方法改变的话......。

遗传学--不能给出同样的结果。只有亲密的人。而这是在功能足够 "均匀 "的情况下。

我们有一个10亿个cobmin变体的空间。我们需要选择最好的。

首先--我们随机抽取512个变体。这是第一代。

然后我们形成下一代--我们进行随机的参数改变--在每一次的交配中突变。我们获得了1024个人。我们选择具有最高健身函数值的512(健身函数--这只是优化设置中的自定义设置)。而突变的周期也在不断重复。

循环往复,直到健身函数的大值不再出现。

因此,尽管在不同的优化中,结果(一个值)可能是相同的,但各代人本身,以及 "寻找 "这个值的路径 - 将是不同的。而这些查找路径--在XML文件中显示。我的估计脚本通过这个文件运行,并计算出后向和前向的健身函数值的方差。然后选择一个折中的健身函数值,使其尽可能大,但方差尽可能小(但在第二数量级)。

如果我们采取两个不同的XML优化文件,其中的最佳值可能是相同的。但差异--必然会有所不同。而这--会影响到选择,可能更合理的做法是取一个稍小的健身函数值,然而,这样一来,这个值周围的方差就会小很多。

 
Aleksey Vyazmikin:
+1 把其余的都拿去优化。

你有24个红代码,我将处理GBPCHF_EMAFlatRTS,它将是25。 发布下一个文件,它将是26。 但我现在要出去了。我大约四小时后回来,我将发布下一个外人。


阿列克谢,如果你想使用红色代码 - 这将是更合理的编译一个单独的 "联盟 "版本 - 这将是立即 "加载 "你选择的代码,为选定的行动时间。这样,在设置中,你只需要写出所需的风险。所有选定的系统--将独立工作,就像它们是联盟的多个副本,每个都在自己的魔力上(这就是EA在普通模拟账户上的工作方式,没有270个EA,只有5个,但它们在所有270个TS上工作)。

对于那些感兴趣的人,专家顾问交易系统联盟--可在YandexDisk 上下载

EALeague
EALeague
  • yadi.sk
View and download from Yandex.Disk
 
GBPJPY_ChnTrendRTS
附加的文件:
 
George Merts:

首先--我们采取随机的512个选择。这是第一代。

我们是在服用还是优化剂?只是我对随机性有所怀疑,也就是说,这种随机性是由什么产生的,算法是否已知?它有时间限制吗?


乔治-默茨

然后我们形成下一代--在每次拼凑中,我们对参数进行随机改变--突变。我们获得了1024个人。我们选择具有最高健身函数值的512(健身函数只是优化设置中的自定义设置)。而突变的周期也在重复。

我在哪里可以看到这样一个函数自己编译的例子?

或者它只是一个基于自定义计算的单一数字,应该倾向于一个较高或较低的值,相应地,如果有一个动态,那么遗传学就会朝这个方向滴下来?

乔治-默茨

你有24个注册码,我将处理GBPCHF_EMAFlatRTS,它将是25。 你发布下一个文件,它将是26。 但我现在得走了。我四小时后回来,我将发布下一个 "局外人"。


阿列克谢,如果你想使用读取代码 - 这将是更合理的编译一个单独的 "联盟 "版本 - 这将是立即 "加载 "你选择的代码,为选定的行动时间。这样,在设置中,你只需要写出所需的风险。所有选定的系统 - 将独立工作,就像他们是联盟的多个副本,每个人都有自己的魔力(所以在共同的模拟账户上工作的专家,没有270个顾问,但只有五个,但他们工作的所有270个TS)。

嗯,我甚至不知道如何选择它们......那有什么可优化的,还是只有一个 "风险 "值?

 

对。它适合。没关系,都处理好了,嵌入到联盟中。

我有一个想法,就是修改EA进行优化,这样我就可以立即从XML文件中看到它们是在哪个符号上运行的,以及在哪个前后时段运行的。我将在周末处理这个问题。

现在我必须为新手再写一些说明。

Aleksey Vyazmikin:

我们是击败打手还是优化者?我只是对随机性有疑问,也就是说,这种随机性是由什么产生的,算法是否已知?它是基于时间的吗?

当然是优化器。它做遗传优化。

而据我所知和所见--初始参数集--完全是随机产生的,很可能是使用处理器指令给出的随机数。理想情况下,应该使用RDRAND处理器指令,产生一个符合许多特殊标准的随机数。但是,当然,随机数实际上可以是伪随机的--那也差不了多少--我们不需要强大的密码学,我们需要一个统一的值域 "种子"。

 
Aleksey Vyazmikin:

我在哪里可以看到这样的自编译函数的例子?

或者它只是一个基于自定义计算结果的单一数字,它应该倾向于一个较高或较低的值,相应地,如果有一个动态,那么遗传学就会朝这个方向滴落?

是的,没错,健身函数是OnTester()的结果,它表征了这段话。在最简单的情况下,它只是通证结束时的存款价值。优化器选择该函数为最大的cobmins。而新的一代人的形成越来越接近于最大值。

我使用了一个巧妙的多因素功能,它很好地反映了交易的质量,我曾经花钱买了这个代码,但现在我不后悔。

在那里,一般来说,遗传算法 有相当多的技巧,甚至在某个地方有一篇关于遗传算法的文章,谈了很多。

 
Aleksey Vyazmikin:

嗯,我甚至不知道如何选择它们......之后有什么可以优化的,或者只是 "风险 "的一个值?

你不需要优化任何东西,一切都已经在你面前优化了。你现在所做的是优化外部系统,使其成为其他参数集上的宠儿。把它们放在演示上,看看它们是如何交易的。他们中的一些人将幸运地在开放的位置上进行交易。我们将在一个月内看到。到那时,以前的宠儿将打响试探性的一枪,并将从交易中移除,而新的系统,来自那些正在优化的系统,将取代它们。

我们采取任何喜欢的系统,在其中设置风险值--你就可以交易。

但 "如何选择"...这是我的主要问题。 如果我 "只是磨"--那么从视觉上和 "质量 "参数上看,我所选择的那些系统--我把它们设置在一个真实的账户 上,即你所拥有的投资密码。 但是,它们是凭直觉选择。不幸的是,我还没有制定明确的标准。

所以--看看图表,选择最好的--这是你现在的选择。显然有很多人可以选择。

 

需要过度优化的系统。

有两个显示SL队列太长了,其余的超过了允许的松弛度。

原因: