开发指南

EA回测为什么必须模拟点差、滑点和手续费?否则收益可能只是幻觉

高频或短周期EA的单笔优势可能只有很小空间。点差、手续费、滑点和隔夜成本如果被忽略,回测里的正收益很可能在实盘成交后消失。

核心解答

很多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的优势必须大于真实世界的交易摩擦才有意义。一个只在零滑点、最低点差、零手续费环境里赚钱的策略,并不是“差一点就能实盘”,而是可能从一开始就没有足够可交易优势。

RELATED GUIDES

继续了解这个主题

项目咨询

淄博卓亚网络科技服务有限公司
电话:15269365953
地址:山东省淄博市张店区体育场街道办事处华光路2号泽泉消防市场三楼S18