先说结论:回测漂亮不代表实盘能赚,但回测都亏的EA实盘基本没救。我前阵子调一个网格EA,回测年化80%回撤15%,实盘两周就穿了风控线,气得差点把电脑砸了。后来沉下心逐项排查,发现几个关键坑,分享给还在踩坑的兄弟。
第一:检查历史数据质量。我用MT4自带数据跑,结果发现某平台2018年的欧美4小时K线有大量跳空缺口,回测时EA在缺口处疯狂开平仓,产生了虚幻利润。后来换成Dukascopy的真数据,回撤直接翻倍。建议用tickstory导入真实tick数据,至少也要用「F2」核对每个品种的时段完整性。
第二:浮点误差和点差设置。很多EA回测用固定点差,但实盘经纪商在非农、利率决议时点差能飙到30点以上。我的EA是剥头皮策略,回测点差设了12点,实盘经常遇到20点,盈亏比瞬间崩盘。现在回测我通常设三档点差:正常(8)、波动(15)、极端(25),看策略能否存活。
第三:滑点和订单执行延迟。MT4自带回测的「每个tick基于实时tick」其实还是理想化,没考虑服务器到经纪商的网络延迟。我在回测里加了50ms延迟模拟,结果利润少了三分之一。实盘时用VPS且离经纪商机房近的,延迟能控制在20ms内,但回测必须保守。
第四:持仓过夜利息和佣金。这个最容易被忽略。我那个EA喜欢持仓过周末,回测时忘了加隔夜利息,实际每单每周被扣掉十几美元。佣金方面,如果经纪商收每手7美元,回测里设0,等于给EA偷偷加了buff。
最后提醒:回测至少跑2018年至今的完整周期,包含趋势和震荡段。如果实盘和回测差异超过30%,先别急着骂行情,从上面四点逐项排查。我现在每次改参数,都会用「回测-模拟盘-小资金实盘」三步走,模拟盘跑两周再上真金,虽然慢,但至少不会突然爆仓。
第一:检查历史数据质量。我用MT4自带数据跑,结果发现某平台2018年的欧美4小时K线有大量跳空缺口,回测时EA在缺口处疯狂开平仓,产生了虚幻利润。后来换成Dukascopy的真数据,回撤直接翻倍。建议用tickstory导入真实tick数据,至少也要用「F2」核对每个品种的时段完整性。
第二:浮点误差和点差设置。很多EA回测用固定点差,但实盘经纪商在非农、利率决议时点差能飙到30点以上。我的EA是剥头皮策略,回测点差设了12点,实盘经常遇到20点,盈亏比瞬间崩盘。现在回测我通常设三档点差:正常(8)、波动(15)、极端(25),看策略能否存活。
第三:滑点和订单执行延迟。MT4自带回测的「每个tick基于实时tick」其实还是理想化,没考虑服务器到经纪商的网络延迟。我在回测里加了50ms延迟模拟,结果利润少了三分之一。实盘时用VPS且离经纪商机房近的,延迟能控制在20ms内,但回测必须保守。
第四:持仓过夜利息和佣金。这个最容易被忽略。我那个EA喜欢持仓过周末,回测时忘了加隔夜利息,实际每单每周被扣掉十几美元。佣金方面,如果经纪商收每手7美元,回测里设0,等于给EA偷偷加了buff。
最后提醒:回测至少跑2018年至今的完整周期,包含趋势和震荡段。如果实盘和回测差异超过30%,先别急着骂行情,从上面四点逐项排查。我现在每次改参数,都会用「回测-模拟盘-小资金实盘」三步走,模拟盘跑两周再上真金,虽然慢,但至少不会突然爆仓。
