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 生成方式都不同,數字必然有差異。 判斷策略請看趨勢與統計特徵是否一致,而不是逐筆對齊。參見 如何看懂回測報告。