按年拆解看穿EA:识别靠单一大行情年的依赖
目录
结论:只看全周期数字,看不出“押中的那一年”
回测的收益曲线一路向上,PF也很高。可是,利润的大头只来自某一年的大行情,其余年份要么横盘、要么亏损,这样的EA并不少见。全周期的汇总数字会把这种偏差平均掉、抹平。
所以我们评估EA时,第一步就是把损益按年份分开来看,也就是“按年拆解”。去掉表现最好的那一年之后,成绩还能保留多少?我们认为,这是衡量稳健性(robustness)最简便也最有效的确认方法。
为什么一年的行情就能撑起整体业绩
行情有“环境”之分
外汇和黄金的走势,有强趋势持续的时期、窄幅震荡持续的时期,也有波动率突然放大的时期,这些就是“行情环境(regime)”。每个EA都有自己擅长和不擅长的环境。
趋势跟随型EA的典型形态是:在出现大趋势的年份集中获利,在震荡年份则不断累积小额亏损。胜率偏低的突破类EA,我们认为这种倾向尤其明显。
复利会进一步放大偏差
在复利运作的回测中,后期大赚的年份在金额上的影响会被放大。累计收益数字越大,越需要确认是哪一年创造了它。
优化会迎合特定年份
做参数优化时,最容易被选中的,往往是贴合验证期内波动最剧烈那一段行情的设置。如果之后没有出现能够重现那段行情的走势,成绩也就无法重现。
按年拆解的实际步骤
在MT5策略测试器中跑完回测后,按下面的顺序确认。
- 从报告中导出交易历史:在测试结果的“回测”标签页上右键,保存报告。交易列表中包含平仓时间和损益。
- 按平仓日期所在年份汇总损益:在表格软件中新建“年份”列并进行汇总。想排除复利影响的话,建议用固定手数再跑一遍。
- 同时算出每年的PF和交易数:不仅列出损益金额,还要并列该年的总盈利÷总亏损以及交易数。
- 去掉最大的那一年,重新计算整体:成绩是否垮掉,正是这一步要回答的核心问题。
- 查看亏损年份的内容:是小幅亏损,还是出现了很大的回撤,评价会大不相同。
判断参考
| 确认项目 | 较让人放心的形态 | 需要警惕的形态 |
|---|---|---|
| 利润集中度 | 分散在多个年份 | 全部利润的一半以上集中在某一年 |
| 去掉最大年份后的PF | 保持在PF1.0以上 | 跌破PF1.0 |
| 亏损年份的亏法 | 以小额亏损扛过去 | 一次性大幅减少资金 |
| 每年的交易数 | 变化不大 | 只有特定年份极端偏多 |
数值标准终究只是参考,我们自己也不会仅凭这些就决定取舍。
套用到我们自己的EA上
我们的EA大多是在较长的周期上验证的。例如GOLD NEURON(XAUUSD M30)的验证期为22.5年。验证期越长,涵盖的行情环境越多,按年拆解的意义也就越大。
另一方面,胜率较低的趋势跟随型,其利润在年份间的分布天然容易偏斜。MEGAMAX DONCHIAN(USDJPY H1)的胜率为34.98%,最大连败为11。DONCHIAN ENGINE(USDJPY H1)的胜率为34.5%,最大连败为11。对于这种类型的EA,我们无法否认存在连续多年不盈利的可能。即使整个验证期是盈利的,如果开始使用的那一年恰好处于它不擅长的行情环境,收益在一段时间内一直不增长也完全有可能。
另外,本文没有列出各EA按年份的明细。所有EA的全周期实测数值,汇总在实测排行榜中。
局限与注意事项
- “年”这个划分本身在行情上没有意义:行情环境的切换会发生在年中。改用季度或半年为单位来看,偏差的呈现方式有时会不同。
- 不适用于交易数很少的EA:如果每年只有寥寥几笔交易,按年的PF基本由偶然决定。
- 过去的环境分散不能保证未来:一旦出现验证期内没有的行情类型,按年表现稳定的EA也可能崩掉。
- 模拟账户的前向测试周期较短:我们也有公开,但距离开始运行的时间还短,无法做以年为单位的评估。请避免用短期成绩来判断对行情环境的耐受性。
其他验证角度,也汇总在EA・MT5知识库中。
总结
- 全周期的PF和累计收益,会把特定某一年的“押中”平均掉、抹平
- 按年拆解,就是检查“去掉表现最好的那一年之后,成绩还剩多少”
- 步骤为:导出交易历史 → 按年汇总损益、PF和交易数 → 去掉最大的一年重新计算 → 确认亏损年份的亏法
- 胜率低的趋势跟随型,利润的年份分布容易偏斜,我们的EA也不例外
- 这种方法存在局限:年份划分的任意性、交易数过少、以及未知的行情环境
相关文章
📧 MQL5 Market 版涨价前通知 + 5天邮件课程(免费)
在本站,只要拥有合作经纪商的真实账户,EA 即可免费使用。MQL5 Market 上销售的版本目前为首发价,会随销量分阶段涨价。除涨价前通知外,每天还会发送一封邮件,介绍外汇自动交易的本质、回测的正确解读方法和经纪商选择技巧。
※ 严格保护隐私。可随时取消订阅。