核心解答
很多EA回测看起来非常漂亮:胜率高、净利润稳定、最大回撤也不大。
但一接到真实账户,收益曲线却迅速变差。
除了过拟合之外,最常见原因之一就是研究阶段把成交成本想得过于理想。
图表价格不是你的真实成交价格
外汇和CFD交易通常存在Bid与Ask。
买入和卖出使用的实际价格并不完全相同,这个差值就是点差的一部分。
如果策略只根据一条Mid Price或理想K线判断进出,却没有模拟真实买卖方向对应价格,频繁交易会持续高估每一笔利润。
策略平均单笔收益越小,点差影响越大。
固定点差也可能过于乐观
真实市场的点差会随交易品种、时段和流动性变化。
重要数据公布、开盘切换、流动性不足或极端波动时,点差可能明显扩大。
如果回测永远使用一个最优固定值,就无法反映策略在真正危险时期的成本。
至少应该用多个点差场景做压力测试,而不是只跑一个理想参数。
滑点来自“想成交”和“真正成交”之间
EA发出市价单时看到的价格,不保证就是最终成交价。
网络延迟、价格跳动、订单深度和执行机制都可能让实际成交偏离信号价格。
如果策略依赖几秒甚至几百毫秒的短时优势,轻微滑点就可能吃掉大量预期利润。
回测里所有订单都精确成交在触发价,是一种非常强的假设。
手续费必须按真实交易量计算
不同账户类型、经纪商和品种可能采用点差收费、每手佣金或混合收费方式。
回测应该按照实际账户计划模拟,而不是简单在最终利润上减一个固定百分比。
因为手续费发生在每一笔交易上,高换手策略承担的累计成本远高于低频策略。
持仓跨日还要考虑融资或隔夜成本
如果EA经常持仓跨日,Swap、融资或其他持仓成本也可能影响最终收益。
尤其一个策略平均持仓几天甚至几周时,忽略隔夜成本会系统性高估长期表现。
不同品种、方向和日期的计费方式可能不同,因此应以实际交易环境为准。
同一根K线里的成交顺序仍然重要
如果一根K线同时触碰入场、止损和止盈,仅靠OHLC无法天然知道盘中先后顺序。
测试器采用什么Tick模型、是否拥有真实Tick、怎样处理Bid/Ask和挂单触发,都会改变结果。
短周期EA尤其应该了解测试平台采用的成交模型,而不是把一条回测净利润当成绝对事实。
最有价值的是成本敏感性测试
可以把基础成本设成真实常态,再分别提高点差、手续费和滑点。
例如观察成本增加以后,策略利润因子、期望收益、最大回撤和盈利月份比例怎样变化。
如果成本只增加一点,策略就从稳定盈利变成长期亏损,说明策略本身没有足够安全边际。
上线前再做一层模拟或小规模验证
回测通过后,可以在Demo、模拟撮合或极小风险环境记录实际信号价、下单价、成交价和最终费用。
然后把真实执行偏差与回测假设比较。
如果实际滑点长期明显高于模型,就应该先修正研究模型,而不是继续调整入场参数来掩盖执行问题。
资料依据
MetaTrader官方Strategy Tester与交易品种属性文档提供了测试模式、Tick、Bid/Ask以及交易条件相关说明。
真实交易成本应以具体经纪商、账户类型和交易品种最新合约规格为准。
风险提示
历史回测不代表未来收益。本文讨论量化研究和执行建模方法,不构成投资建议。
结论
EA的优势必须大于真实世界的交易摩擦才有意义。一个只在零滑点、最低点差、零手续费环境里赚钱的策略,并不是“差一点就能实盘”,而是可能从一开始就没有足够可交易优势。
继续了解这个主题
信号没有明显变化,实盘结果却比回测差很多,问题往往不只在策略,而在滑点、点差、延迟、费用和参数过拟合。
阅读全文 →EA量化一个EA有没有过拟合?不要只看净利润,看这5项测试回测利润越漂亮,不代表策略越可靠。参数稳定性、Forward Test、严格样本外、交易成本压力测试和多重测试检查更重要。
阅读全文 →EA量化胜率80%的EA,为什么可能还不如胜率45%的策略?胜率只是交易结果的一部分。如果平均盈利、平均亏损和尾部风险不同,高胜率EA完全可能拥有更差的长期期望。
阅读全文 →量化研究一个量化策略从想法到实盘,中间到底应该经历多少道测试?成熟量化流程不是“想法→回测赚钱→上线”,而是从数据审计、样本内、Walk-Forward、样本外、压力测试到小规模实盘逐层验证。
阅读全文 →淄博卓亚网络科技服务有限公司
电话:15269365953
地址:山东省淄博市张店区体育场街道办事处华光路2号泽泉消防市场三楼S18