开发指南

EA回测明明赚钱,为什么一上实盘就开始亏?

信号没有明显变化,实盘结果却比回测差很多,问题往往不只在策略,而在滑点、点差、延迟、费用和参数过拟合。

核心解答

一个EA历史回测非常漂亮,上线以后却开始连续亏损,这是自动交易里最值得警惕的问题之一。

很多人的第一反应是“策略失效了”。

但真正排查时,应该先把回测环境和实盘环境之间的差异拆开。

一、回测不是实盘录像

回测的本质,是根据历史数据重新模拟交易。

如果测试数据只包含较粗的K线,而策略却依赖K线内部价格路径,那么模拟出来的成交过程和真实市场可能完全不同。

MT5提供不同测试模式。

对于突破、剥头皮、挂单、盘中止损等依赖成交细节的策略,真实Tick通常比粗粒度OHLC更有参考价值。

二、实盘真正多出来的是“成交摩擦”

一个理论信号可能在100这个价格产生。

回测直接按100成交。

但实盘可能变成100.03、100.08甚至更差。

原因包括:

买卖价差;

滑点;

交易服务器处理延迟;

网络延迟;

流动性不足;

快速行情;

手续费和佣金。

单次差一点似乎没关系。

但一个高频EA如果一年交易几千次,这些细小差异会不断累积。

三、利润越薄的策略,越怕交易成本

假设一个策略平均每笔理论优势只有0.15%。

如果完整交易成本已经接近0.10%,真正留下来的空间就很小。

再出现一些滑点,优势就可能直接归零。

所以研究一个EA不能只看:

胜率;

净利润;

历史曲线。

还要看它对成本变化到底有多敏感。

四、最危险的可能不是成交,而是过拟合

如果研究人员不停调整:

均线周期;

ATR参数;

止损;

止盈;

交易时间;

过滤条件;

直到历史曲线最好看,那么最终得到的可能不是“发现规律”,而是“记住历史”。

判断过拟合最简单的方法之一,是故意离开最佳参数。

如果参数只改一点点,策略马上从大赚变成大亏,就应该非常谨慎。

五、上线前至少应该经过几层验证

第一层:样本内研究。

用于开发策略,而不是证明策略未来一定赚钱。

第二层:Walk-Forward。

用过去一段数据开发或选择参数,再到后一段未参与选择的数据验证。

第三层:严格样本外。

规则冻结后,不再看到不好看的结果就继续修改。

第四层:成本压力测试。

提高点差、手续费、滑点和延迟,看优势还能不能存在。

第五层:小规模真实环境测试。

验证真实成交、接口和风险控制。

结论

EA回测赚钱、实盘亏损,并不一定说明自动交易没有价值。

它往往说明研究阶段把真实交易世界简化得太多。

真正可靠的量化开发,不应该追求最漂亮的历史曲线,而应该不断寻找“什么条件下它会失败”。

RELATED GUIDES

继续了解这个主题

项目咨询

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