English
中文
日本語
ID
Vietnam
한국어
Filipino
 
   学院导航

如何在 MT4 中正确优化智能交易系统 (EA)

How to Properly Optimize an Expert Advisor (EA) in MT4

在不考虑优化的情况下开发交易系统会很好。 然而,实际上,有利可图的交易策略的开发是一种反复试验的活动,其中某种形式的优化总是发挥作用。 总有一个优化器在某个地方——如果在桌面上不可见,那么就潜伏在阴影中。

- J. 卡茨,D. 麦考密克。 交易策略百科全书。


在本文中了解如何在 MT4 中正确优化智能交易系统 (EA),从回溯测试到选择最佳模型类型。


Metatrader 4 真正强大的功能之一是其内置的优化器,允许您测试数百种专家顾问设置的组合,以找到最合适和最有利可图的。 这就是回溯测试的全部力量,甚至更多。


它可以在一个可爱的表格中显示数百个支持结果(参数和参数组合内的任何变量范围),可按值得注意的统计数据(如净利润、利润因子和最大亏损)进行排序。 然后,您可以一目了然地查看这些不同设置中的每一个在历史上的表现,从而让您更全面地了解您的策略如何与其所有部分相关联。 更重要的是,这张更大的图片允许您挑选出最佳参数值以增强您的 EA。


优化器将返回并排序所选日期范围内不同设置的结果,使用户更容易找到最合适的组合。


为了优化您的智能交易系统,您可以将智能交易系统插入您的图表,然后右键单击智能交易系统/策略测试器或 F6。 这将使用 EA 交易的名称、交易品种、建模类型和周期填充策略测试器。


或者,您可以从 Expert Advisor 下拉框选择 EA 的名称,从符号框选择货币,从周期框选择图表周期。 对于模型,您可以在三种模型类型之间进行选择:1) 每个分时报价(基于可用的最少时间帧生成每个分时报价的最精确方法); 2)控制点(基于最近的较少时间范围的一种非常粗略的方法,可能不考虑结果); 和 3) 仅开盘价(分析刚刚完成的柱的最快方法,仅适用于明确控制柱开盘的 EA)。


选择最佳模型类型

最理想的回测和优化模型类型是 Every Tick,因为它比其他两个精确得多。 但是,运行这种模型类型比其他两种模型需要更长的时间,尤其是在优化方面。 参数组合越多,日期范围越大,优化越慢。


您将等待数小时。 为了加快速度,您需要尽可能多地利用其他两种模型类型。 Open prices 模型类型是最快的方法,但它最不准确,而 Control points 方法是两者之间的一个很好的折衷。 为了发现哪种方法最适合您的 EA,请在 6 个月的时间内在所有三种模式下对您的 EA 运行示例回测或优化 - 使用 Tick 模式作为仲裁器。 如果 Control 和 Open 结果与 Tick 结果匹配,那么您选择 Open 作为您的方法; 如果只有对照与 Tick 结果匹配,则选择对照; 如果 Control 和 Open 都不与 Tick 匹配,则选择 Tick。


左键单击“专家属性”按钮以打开您的专家顾问设置。 在“测试”选项卡下,您会看到初始存款从 500 下降到 50,000,可以在此处添加任何数字并以美元、欧元、英镑、瑞士法郎表示。 我通常使用 10,000 美元或任何与被测试策略相符的实际值进行测试。 我将此选项卡中的其他字段保留为默认值,除非我只想测试多头或仅测试空头而不是多头和空头。


中间选项卡 Inputs 是您可以输入要优化的值范围的地方。 给定设置的最低值将出现在“开始”列中,最高值将出现在“停止”列中。 Step 列是优化器从 Start 到 Stop 设置“步进”的数量。


在上图中,我们正在为 MACross 智能交易系统优化 FastMAPeriod 和 SlowMAPeriod。 对于 FastMAPeriod,Start 值为 15,Step 为 5,Stop 为 50。优化器将测试从 15、20、25 等到 50 的每个值组合。对于 SlowMAPeriod,Start 值为 50,Step 为 25,Stop 为 250。


优化器将测试从 50、75、100 等到 250 的每个值组合。使用适合设置的 Start、Step 和 Stop 值很重要。 由于 FastMA 必须显示比 SlowMA 更短的长度,因此我需要使用更小的 Start、Step 和 Stop。


您可以在要优化的设置的最左侧放置一个复选框。 所有未选中的设置都将使用值列中的数字。 注意:优化最好不要超过3个sett一次检查 ings。 您的优化器会更快,您的结果比较将更容易阅读和解读。


当您准备好优化时,您可以点击策略测试器窗口右下角的开始按钮。 根据时间段、日期范围、测试模型和要优化的设置数量,可能需要几分钟到几小时不等。 如果花费的时间太长,请考虑更改测试模型、缩短日期范围、使用更少的设置进行优化或使用更大的步长值。


优化完成后,打开“优化结果”选项卡并双击“利润”列或“利润因子”列以对结果进行排序。 还建议右键单击 Optimization of Results 并取消选择 Skip Useless Results(这只需要做一次,永远不会再做)。


在上面的示例中,如果我保留对跳过无用结果的检查,它只会显示 168 个优化中的 7 个(只有盈利的),而忽略 161 个负面结果。 虽然我无法在此处复制并粘贴所有 161 个负面结果,但我发现它们很有用,因为它们告诉我,在这个时间框架和货币上,这种策略是坏多于好,只有少数孤立的组合是有利可图的。


取消选择跳过无用的结果

出于某些愚蠢的原因,“跳过无用结果”在应该取消选中时默认选中。 跳过无用结果会跳过所有负面结果,只为您提供正面结果。 这严重限制了优化器的能力。 能够看到所有结果,无论好坏,都是非常有利的。 你不知道好结果有多好,除非它们与坏结果相提并论。 此外,您希望能够查看盈利参数的所有相邻结果,以检查结果的完整性和稳健性。 一般来说,最有利可图的参数应该有有利可图的相邻参数才能被认为是稳健的。



右键单击优化结果并单击另存为报告始终是个好主意。 这将允许您保存优化的 html 报告以供以后参考。 这种方法的唯一问题是它不会保存你优化过的参数值——所以除非你有过目不忘的记忆力,否则不可能记住哪个 pass number 对应哪个组合。 有一个替代解决方法。


您可以编写单击优化结果并单击全部复制,然后将整个表格粘贴到 Excel 文档的工作表中。 如果您计划进行几种不同类型的优化,例如不同时间范围和货币的不同组合,将它们全部放在不同的工作表上是您比较和对比优化的最佳方式。


查看结果的另一种方法是在优化图表中查看结果,优化图表可以是 2D 或 3D。 2D 优化绘制了从初始传递到最终传递的线性进展,如果图形始终起伏不定,则可以确认没有明显的组合高于其余组合。


您还可以切换到 3D 模式并查看绿色阴影,这可以帮助您发现那些不仅好而且生活在最好(最环保)社区的参数。 听起来很环保。 一般来说,有更多理由将更大的统计价值归因于生活在最绿(更暗)社区的那些参数。 也就是说,最优的所有周围参数都具有更深的绿色阴影。


如果最佳参数位于深绿色区域,则其性能不会因过度优化而出现异常,而是更真实且值得关注。 可以将鼠标悬停在任何绿色块上以查看通行证编号、参数组合和值以及余额。 有一篇很好的文章介绍了如何通过使用 3D 图形寻找绿色社区来避免过度优化。


您可以双击优化结果中列出的任何结果,将其加载到测试仪中。 再次点击“开始”按钮以使用所选设置进行回测,以查看资产曲线和有关优化策略的更多统计数据。


最后,确保您了解最小化过度优化的所有步骤。