MA 交叉 EA(智能交易系统)到底有没有用?我们在 8 个市场上回测了一遍
均线交叉是每个新手最先被推荐的策略,也是网上"免费 EA"里出现最多的逻辑。 它好讲、好写,大概这就是它被反复传播的原因。它唯一很少附带的东西是:数据。所以我们跑了一遍。
我们测试的规则
- 做多:EMA 50 上穿 EMA 200。做空:下穿。
- 止损:进场价 ± 2 × ATR(14)。
- 止盈:2 倍盈亏比。
- 反向信号出场:是。
- 仓位:每单风险为账户余额的 1%。
- 每根 K 线收盘评估一次信号。无新闻过滤、无时段过滤、无人工干预。
所有市场用完全相同的规则,不做逐品种调参。这是刻意的:一个必须为每个品种单独调参才能work 的策略,那不叫策略,叫曲线拟合。
8 个市场的结果
| 品种 | 周期 · 变体 | 笔数 | 收益 | PF | 最大回撤 | 胜率 | 样本外 笔/PF | 评级 |
|---|---|---|---|---|---|---|---|---|
| EURUSD | H1 · EMA 50/200 | 79 | -19.83% | 0.63 | 20.8% | 24.1% | 25 / 0.37 | F 30.7 |
| GBPUSD | H1 · EMA 50/200 | 83 | +9.54% | 1.17 | 9.5% | 37.3% | 21 / 0.78 | D 47.0 |
| XAUUSD | H1 · EMA 50/200 | 64 | -0.25% | 0.99 | 10.5% | 34.4% | 14 / 1.42 | D 40.0 |
| EURUSD | H4 · EMA 50/200 | 11 | +3.90% | 1.66 | 4.3% | 45.5% | 2 / 1.98 | D 35.1 |
| USDJPY | H4 · EMA 50/200 | 15 | +8.43% | 2.19 | 2.2% | 53.3% | 2 / 1.96 | D 46.0 |
| XAUUSD | H4 · EMA 50/200 | 11 | +2.00% | 1.36 | 4.9% | 36.4% | 1 / — | F 30.4 |
| NAS100 | H4 · EMA 50/200 | 16 | -3.95% | 0.66 | 4.6% | 25.0% | 2 / 0.00 | F 22.0 |
| BTCUSD | H4 · EMA 50/200 | 25 | +9.39% | 1.79 | 3.5% | 48.0% | 6 / 2.49 | C 61.7 |
回测区间 2024-08-04 – 2026-08-02 · Dukascopy 分钟级数据(UTC)· 初始资金 $10,000 · 最后 20% 作为样本外 · 已扣点差,未计手续费与隔夜利息。 详见方法论页面。
这些数字说明什么
- 没有一个超过 C 级。按本站评分(盈亏比、夏普、回撤、样本外一致性、样本量), 最好的一个是 61.7 分。
- 最差的恰恰出现在最热门的货币对上。EURUSD H1 亏 19.83%,胜率 24.1%。 2 倍盈亏比意味着你不需要赢一半就能盈利——但 24% 明显低于这个赔率下的盈亏平衡胜率。
- H4 看起来比 H1 好,主要是因为它几乎不交易。EURUSD H4 两年里 只有 11 笔, 样本外 2 笔。这不是证据,这是抛硬币。低于约 30 笔的结果,一律当噪声看。
- BTCUSD H4 是唯一真正有点意思的:+9.39%,PF 1.79,最大回撤 3.5%,而且——这点更重要—— 它的样本外盈亏比(2.49)比整体还高。不过样本仍只有 25 笔,偏薄。
两个流行的"改进办法",实测
搜索怎么改进均线交叉,几乎总会得到两个答案:加趋势过滤,或者用更快的均线。这两个说法都可以验证。
| 品种 | 周期 · 变体 | 笔数 | 收益 | PF | 最大回撤 | 胜率 | 样本外 笔/PF | 评级 |
|---|---|---|---|---|---|---|---|---|
| EURUSD | H1 · + ADX > 25 | 41 | -10.56% | 0.64 | 12.1% | 24.4% | 9 / 0.24 | F 28.4 |
| XAUUSD | H4 · + ADX > 25 | 6 | +3.57% | 2.60 | 1.7% | 50.0% | 1 / — | D 46.6 |
| BTCUSD | H4 · + ADX > 25 | 19 | +3.66% | 1.37 | 7.7% | 42.1% | 4 / 1.96 | F 31.1 |
| XAUUSD | H4 · EMA 20/50 | 64 | -11.53% | 0.71 | 15.7% | 28.1% | 15 / 0.56 | D 37.4 |
| BTCUSD | H4 · EMA 20/50 | 86 | +8.44% | 1.18 | 8.9% | 34.9% | 18 / 1.57 | C 56.0 |
加 ADX 过滤有用吗?
在这里没有。理论是成立的——只在真有趋势时交易——它确实把 EURUSD H1 的亏损从 −19.83% 收窄到 −10.56%。但它主要靠少交易做到这一点(79 笔降到 41 笔),而不是靠挑出更好的交易: 盈亏比仍是 0.64,胜率仍是 24.4%。一个按比例砍掉交易的过滤器,并没有修复优势, 只是缩小了你在劣势上的敞口。在 BTCUSD 上它甚至起了反作用:C 级掉到 F 级。
用更快的均线有用吗?
交易次数大增,而这是把双刃剑。XAUUSD H4 换成 EMA 20/50 后,交易从 11 笔涨到 64 笔—— 样本量终于够用了——而更大的样本揭示的诚实答案是 −11.53%。同样的改动在 BTCUSD 上仍是正收益 (+8.44%,86 笔),这个结果虽然表面收益更低,却比 25 笔那版更可信。
那均线交叉是没用的吗?
不是没用,而是不完整。数据支持的结论比"它不管用"要窄得多:
- 它需要趋势性强的品种。本区间内,样本量说得过去的正收益只出现在加密货币上,而不是主流外汇对。
- 它是一个信号,不是一套系统。进场时机是最容易的部分;测试版本真正流血的地方, 在于不分行情状态地吃下每一次交叉。
- 最被推荐的两个改法在这份数据上都没用。这不能证明所有过滤都无效——它的意思是 你必须测试你打算用的那一个、在你打算交易的那个市场上,而不是相信某篇文章(包括这一篇)。
之后我们又做了两篇,发现了同一个模式: RSI 30/70 均值回归与 Supertrend 10/3同样在小时图上亏损、 到 H4 才勉强转正 —— 其中一个还是均值回归,结构上与本文正好相反。
常见问题
EA 用哪组均线参数最好?
没有通用最优解。这次测试里 EMA 50/200 和 EMA 20/50 各在一个市场上胜出、又各在另一个市场上失败。 有用的问题不是"用哪组参数",而是"这组参数在我实际要交易的市场上,样本外还站得住吗"—— 而这件事验证一下只要两分钟。
盈亏比都 2:1 了,为什么还是亏?
因为胜率和赔率必须一起看。2:1 的盈亏比下,盈亏平衡点大约在 33% 胜率。EURUSD H1 只有 24.1%, 所以盈利的单子不够多、也不够大,盖不住亏损。好的盈亏比救不了差的进场信号。
不会编程能做出这个 EA 吗?
可以,这正是本站在做的事:用大白话描述规则 → 变成可编辑的流程图 → 在真实分钟级数据上回测 → 生成归你所有的 MetaTrader 5(.mq5)源码。完全没接触过的话,可以先看 什么是 EA。
这些结果和我券商 MT5 里跑的会一样吗?
不会,也不该期待一样。报价源、服务器时区、点差模型、tick 生成方式都不同,数字必然有差异。 判断策略请看趋势与统计特征是否一致,而不是逐笔对齐。参见 如何看懂回测报告。