实盘之前必须要做的一个步骤
为什么你的EA开发之后实盘不能赚钱?很有可能是你的策略开发完成之后,在实盘之前缺少一个必要的验证阶段。这个步骤其实并不难、不复杂,说白了,就是当你开发完成一个EA之后,不管做了多少复杂的测试,都不能完全相信它并马上实盘,这是不行的。
有些人可能会说:“我这个策略已经千锤百炼了,什么样的测试没做过?比如Walk Forward Analysis(滚动测试)、滑点模拟、穿透性测试(WFA)等能做的都做了,还不够吗?”是的,还不够。归根结底,你还处于历史回测阶段。历史可以参考,但无法完全代表未来。所以,当我们打算将EA上架、进行实盘操作之前,必须把它放在小资金账户或Demo账户上运行一段时间。我把这个阶段叫做Pre Live阶段,也可称之为验证阶段。
这个步骤能提升策略盈利概率的原因:
确保EA无Bug
验证阶段能确保程序按预期开仓、平仓及执行仓位管理。若发现问题(如Bug),说明回测阶段的绩效参考意义需打折扣,需解决Bug后重新审视和测试策略,确保绩效仍令人满意。足够的时间和交易笔数验证
- 时间要求:个人认为至少运行1个月。
- 交易笔数要求:至少产生30笔交易。太少可能无法暴露问题。
我的验证方法:
真实情况是,开发策略后大家不想浪费时间模拟,因为开发辛苦且有效策略产出频率低。我的做法是:不在模拟盘运行,而是在风控保守的小账户上验证。小账户跑几个月且交易笔数≥30笔后,导出实盘交易记录,与同时期回测记录对比。
对比步骤:
- 例如,6月1日开发完成EA,用小账户跑到9月1日(3个月)。
- 将实盘交易记录导入QA或其他分析软件。
- 在MT5上用相同参数和风控回测6月1日-9月1日,导出回测结果。
- 对比实盘与回测记录的差异(不要求100%一致,因实盘存在滑点、动态点差等),只要误差合理,说明回测绩效值得参考。
具体对比内容:
手动逐笔对比开仓时间、点位,平仓时间、点位及盈亏金额。亲自对比更有信心。若差异大,检查EA逻辑;若无问题,继续运行后再对比(部分EA交易记录足够多时,误差会变得可接受)。
验证阶段的另一大好处:剔除过度拟合
- 若运行时间太短,看不出过度拟合。拟合程度高的策略,跑一段时间会明显暴露问题。
- 建议跑至少6个月,将实盘记录与回测记录合并统计资金曲线。若肉眼能明显区分回测与实盘数据,说明策略大概率过度拟合,无需用真金白银实盘。