MT4与MT5交易平台EA优化功能详解及操作教程
MT4与MT5交易平台EA优化功能详解及操作教程
什么是优化(最佳化)?
优化 = 最佳化 = Optimization
通常我们在编写完成一个交易策略(EA)之后,在回测时会有一些参数需要设定,常见的包括:止损(SL)距离、获利(TP)距离、指标参数、K线根数等等。而通过电脑自动运算这些参数的组合,选出一组表现绩效最佳的参数组合,这样的过程就叫做“优化”。用白话文来说就是:通过历史价格数据找出最佳解。
我们可以用小学课本上的等高线地图来解释这个概念。我们可能平常熟悉的地区是黄色圈圈那格,并以为黄色那格就是最佳解;但通过空照图,可以看到完整的地形,就知道最高的山峰是在哪里。而优化就是把空照图的每一格都展示出来,让你一目了然知道红色那两个圈圈才是最佳解。
所以优化就是去看到整个地图的全貌,然后挑选出最佳解的参数组合。这个过程都是由电脑自动执行的。当然,如果你觉得所有参数表现得都不好,你再去修改策略或是加入其他辅助策略(如追踪止损、其他出场条件等等),这些也都是广义的优化行为。在这里提到的优化,就是单指通过让电脑跑出所有的参数组合结果的过程。
为什么需要优化?
在使用EA时,我们会面临一个问题:我的EA参数要设定多少好呢?以“双均线交叉策略”为例,这是一个所有交易员耳熟能详的策略,在黄金交叉时进场做多、死亡交叉时进场做空。那么我们应该如何设定长均线和短均线的周期呢?有人会说设定60均与20均,因为60是“一个交易季”、20是“一个交易月”;有些则使用5均和10均,因为5是一周、10是双周。坊间也会流传一些神秘的特殊周期参数设定。
由于主观交易无法通过人力将各种不同的参数都一一看过一次,而程序交易由电脑执行,所以可以让电脑去自动运算成千上万种排列组合,从而得到哪些参数搭配才是绩效表现最好的。而“优化”这个步骤也是程序交易与主观交易最大的差异:主观交易完全是由图表的视觉来主观判断,每一次都可能会在进出场上有些许不同;但程序交易必须将规则与数值写定在程序中,所以要通过优化来选定出一组特定的参数,让每次进出场都是统一的。
主观交易与程序交易各有优缺点:主观交易较灵活,而程序交易能够验证获利、自动运作、屏除人性。更详细的对比可以参考相关文章。
优化的好处
- 提高稳定性,让策略更“抗压”
优化的期间会尽量包含不同的行情,震荡、上升或下跌趋势,所以选出来的参数就要通过这些行情的考验,找到那些在多种市场情况下仍然稳定的参数组合。优化让我们在历史数据中反复测试不同情境,模拟可能遇到的市场状况,让策略更抗压、更能够适应未来的变动。
- 控制风险,避免过度亏损
优化过程中除了寻找利润最佳的参数,也能帮助我们识别和控制风险。如果某些参数组合在回测中出现了大幅亏损,代表这些参数组合存在较大的风险。我们可以通过优化筛选掉这些组合,从而避免在实盘中出现过大的亏损。
- 增加对策略的信心
当我们在实际进行交易时,信心也是很重要的关键。优化让我们能够“看见”策略在不同历史情况中的表现,进而对它的稳定性和获利能力有更充分的了解。这种清晰的了解能帮助我们在市场波动时保持理性,增加了实盘运行的信心。
MT4和MT5的优化功能
MT4和MT5的优化功能都在回测界面,所以大家打开回测并先熟悉回测的操作。回测教学请阅读相关文章。
MT4的优化操作教学
首先在回测设置界面,我们需要把优化勾选起来。然后打开参数设置栏(EA交易属性),把要优化的参数前面打勾,此时这些参数将不再看它的“赋值”,而是看后面的三个:初始值、步长、终止值。
- 初始值:最小从多少数值开始
- 步长:每增加多少跑一次回测
- 终止值:最大跑到多少数值结束
上图优化了四个参数:止损点数、获利点数、短均参数、长均参数。其中止损点数的初始值是500,代表从500小点开始,每增加100小点电脑自动跑一次回测,所以就会是600、700、800……最终跑到1500小点结束。
设定完后按下开始回测,进度条那边就会显示总共要跑几个排列组合。底下也会出现“优化结果”与“优化图形”的两个页面,优化结果是如下图,会显示每一次回测的简单结果与参数组合;优化图形可以显示两个参数的二维平面图,用颜色深浅来显示表现好坏。
优化跑完之后,可以在优化结果这边看到全部参数组合的结果,如果你想要选择某个参数组合单独跑一次回测,看一下详细的结果,可以在该组合上按右键,选择第一个“设置输入参数”,该组参数就会设定到单次回测的参数设置,就可以直接跑单次的回测了。
MT5的优化操作教学
在回测设置界面的最底下,如果是跑一般回测,优化是选择“禁用”;那如果我们要跑优化,就选择“完整算法”。
然后切换到输入参数的页面,把要优化的参数前面打勾,这些参数将不再看它的“值”,而是看后面的三个:开始、步长、停止。与MT4一样的规则:
- 开始:最小从多少数值开始
- 步长:每增加多少跑一次回测
- 停止:最大跑到多少数值结束
MT5在设定完参数的优化范围之后,就可以在底下看到总共要跑几次回测(上图的23595),设定完成后再按下绿色的开始按钮,就会开始跑优化。
优化跑完之后,可以在优化结果这边看到全部参数组合的结果,如果你想要选择某个参数组合单独跑一次回测,看一下详细的结果,可以在该组合上按右键,在点选“运行单个测试”,MT5就会用该参数直接帮你跑单次回测。MT5的优化图形会显示在上方图表栏,在图表上按右键,可以切换成3D图形。(一样一次也是看两个参数而已)
EA一定要优化吗?
不一定,也可以直接带入主观的参数。在避免过度最佳化的篇章有提到,我们希望EA的策略尽量“简单有逻辑”,所以如果你使用你主观判断的参数设定就能表现良好、或是你平常就是习惯用这组参数做主观交易,那就可以不用再优化。或是可以再简单优化下,看看你的主观参数是不是落在“参数高原”。这样的主观数字选择是更好的选择,更不容易陷入过度最佳化。关于什么是参数高原与过度最佳化,可以参考相关教学视频。
结语
基本上EA都需要通过优化来寻找到最佳的参数,因为一个策略用在不同商品与不同时区时,参数通常都会不同。能够主观带入参数就直接表现好的EA非常少见,也必须搭配开发者对商品有深刻的了解才能做到。优化算是整个在开发EA时最耗时的环节,参数少时可能一个下午可以跑完;参数多时可能要跑个两三天,所以尽量让策略简单并且参数数量精简,除了可以减低过度最佳化的机率,也可大大降低跑优化的时间。