一项智能交易系统失败原因分析(基础篇)
「EA 上线前先看清这三类死法」
很多交易者在 MT5 装上 EA 后没几天就爆仓或停跑,问题往往不在策略本身,而在部署环节。2022 年 4 月一篇社区案例帖下,一个失败 EA 主题获得 2074 次浏览、11 条讨论,说明这类坑极其普遍。 外汇与贵金属杠杆品种波动剧烈,EA 若未做点差与滑点假设就直接实盘,大概率会在流动性稀薄时段亏穿止损。把回测里完美的成交价当成真实环境,是新手最常犯的低级错误。 另一类死法是参数过拟合:在历史上某段行情调出的神奇数值,换到近期震荡或单边市就完全失灵。还有一类是忽略经纪商执行规则,比如部分平台禁止剥头皮,EA 逻辑与之冲突会被强制平仓。 开 MT5 后别急着跑实盘,先到「策略测试器」用最近 3 个月 tick 数据复跑,观察成交缺口与回撤曲线,比看任何宣传都实在。
EA 为什么迟早会失效
智能交易系统(EA)在实盘里常常能连续几个月甚至几年交出不错的成绩,但几乎都会撞上一段表现拉胯的周期。能连续十年稳定盈利的 EA 极其罕见,这本身就是市场非平稳性的直接证据。 如果一款 EA 在历史回测或近期实盘里已经出现明显回撤,单纯指望它未来一直好用并不现实——样本外的分布漂移迟早会咬人一口。外汇与贵金属杠杆高、跳空频繁,这类回撤可能来得比股票更快更狠。 本次分析抛出了两个硬问题:时间序列里究竟发生了什么结构变化,足以强烈拖累 EA 绩效?有没有一种技术指标,能提前预警 EA 何时将陷入劣势、何时又回到优势区?若真存在,它大概率比 EA 本身更有交易价值。
◍ 用 15 分钟 EURUSD 验证均线交叉的盈利窗口
拿 16 年长度的 15 分钟 K 线做底稿,试验一种最朴素的均线交叉(MAC)触发:快线 SMA 上穿慢线 SMA 出买入,下穿出卖出。快线周期通常锁在 1–4,慢线在 10–150,两段均线在整个测试期内固定不动,不随行情重优化。 在 2006.01–2021.12 的 EURUSD 上,最优组合是快线 2 / 慢线 80(0.1 手计)。曲线不是一路向北:2008.01–2013.06 这段盈利稳步堆积,其余年份多处回吐,说明 MAC 的甜区高度依赖时段。 同窗口换 GBPUSD,最优快/慢周期变成 1 / 80,但图面只剩零星正盈利,长持基本不讨好。外汇与贵金属这类品种杠杆高、回撤凶,均线交叉在某一货币对赚到的钱,换一对就可能吐光,开 MT5 用这两组参数跑一遍历史中心里才有数。 既然两张图都露出明显的时间聚集性,下一步就该核查:常见技术指标自身的行为节律,和 MAC 真正赚钱的时段到底有没有统计上的耦合。
「ATR 与布林带为何抓不住月度盈亏节奏」
把几个常见技术指标拉到 16 年 EURUSD 月度数据里比对,能看清它们跟赚钱月份、亏钱月份到底有没有关系。图例 3 是这段时间月均 ATR,它确实刻画出波动率的季节漂移,比如 2008 年底和 2020 年初两次危机前后出现极端尖峰,但和前文盈亏时间分布对不上号。 这说明拿价格绝对值阈值做触发条件风险很高,危机时波动瞬间放大,固定点数止损或突破会频繁被洗。更稳妥的做法是用平滑后的 ATR 做动态尺度,而不是死磕某个绝对点位。 布林带上下轨扩张在月度长线图里(图例 4)几乎复刻了 ATR 的形状,理论上它该同时受波动和趋势强度牵引,结果在 EURUSD 与 GBPUSD 上都没显出对正回报、负回报区域的区分能力。 结论很直接:长期波动率本身解释不了前文那两张盈亏日历的行为。做跨月尺度策略时,别指望传统波动类指标能替你挑出好月份,外汇和贵金属这种高杠杆品种里,用它定仓位尺度比用它定方向更靠谱。