文章 "创建 EA 交易优化的自定义标准"

 

新文章 创建 EA 交易优化的自定义标准已发布:

MetaTrader 5 客户端提供了各种机会来优化 EA 交易的参数。除了策略测试程序中包含的优化标准以外,开发人员还有机会创建自己的标准。这样一来,EA 交易的测试和优化便具有了无限的可能性。本文介绍了创建此类标准的实用方法,既适用于复杂标准,也适用于简单标准。

优化图

作者:Dmitriy Skub

 
要知道,多货币对 EA 在不同符号下的测试结果 是不同的。我在欧元兑美元中测试 EA,它不能打开澳元兑美元的多头交易,然后在澳元兑美元中测试,它不能打开欧元兑美元的空头交易!这是为什么?如何解决?如何解决?
 

感谢德米特里的精彩文章、

在您的标准之上,是否有办法或空间将 Pardo 的完美利润标准http://www.breakoutfutures.com/Newsletters/Newsletter0605.htm 融入其中?

 

非常有用的文章,一切都很容易使用.....。

但它只描述了调用 OnTester()函数 的标准,即当优化结束时,该参数。

是否可以提前终止优化? 例如,如果缩水超过 50%,或者余额小于 n 值,这样就不会浪费 CPU 时间!

 
sigma7i:

非常有用的文章,一切都很容易使用.....。

但它只描述了调用 OnTester()函数 的标准,即当优化结束时,该参数。

例如,当缩水超过 50%或余额小于 n 值时,是否可以提前终止优化,以免浪费 CPU 时间!

专家删除
 
MetaDriver:
专家删除
哦,说到点子上了!谢谢!
 

能否请您告诉我,是否有可能在优化结束(OnTester 调用)后过滤掉不必要的结果,例如减去一个结果,以避免"优化结果"选项卡过于杂乱??

 

排序可通过点击...

对任意列进行排序。

PS.在基因优化过程中,你可以 "撕掉 "ExpertRemove(),这样就不会总是出现明知故犯的错误结果。

也可以在 OnTester() 中重置。

就我个人而言,有时基因优化走错了路。

 
Karlson:

点击...

对任意列进行排序。

也可以在 OnTester() 中清零。

就我个人而言,遗传学有时会走错路。

因此,在排序时,我希望不需要的结果完全不显示出来....。

排序很简单,例如

double  OnTester()
double  balance = TesterStatistics(STAT_PROFIT);
double  trades_number = TesterStatistics(STAT_TRADES);

if(balance < 5000 || trades_number < 20) return(-777);

....бла бла return(свой критерий оптимизации);

然后排序...

但这有点 "笨拙",我希望完全不显示不想要的结果。

 

Karlson:

PS.在遗传优化过程中,并不总能 "拆除 "ExpertRemove()。

您说得没错,在优化过程中(不仅是遗传优化),我无法使用 ExpertRemove().... "删除 "结果。

也许我不知道如何准备它:)......我把它放在 OnTick() 处理程序中,并附加了一个条件...

 

你是说......这样的代码不起作用?

if (balance < 3000) ExpertRemove();

这样的代码不起作用?

但我不是这么说的。这种崩溃(至少在过去是有效的)最终导致了基因逃逸。