intermediate 中等回撤 ~5 trades/mo

均值回歸

均值回歸 EA 在價格偏離其均值達到可測量的距離後逆勢進場,目標是價格回歸。這個標籤只描述進場。本站公開的六檔當中,勝率從 40.26 % 到 79.17 %,盈虧比相差六倍,可六檔的獲利因子卻都落在 1.25 到 1.50 之間。

機制

EA 測量價格相對移動平均線或布林中軌偏離了多遠,通常以標準差或 ATR 單位計算,再用處於極端區域的擺盪指標確認這次拉伸。進場逆著行情方向;目標是均值本身,停損設在會推翻回歸假設的價位之外。真正決定成績單形狀的,是這兩個出場之間的距離。目標貼近進場會帶來高勝率和遠低於 1 的盈虧比;目標放在完整均值處則相反。本站公開的六檔均值回歸 EA 每月交易 1.5 到 5.45 次,中位獲利單持倉 48 到 187 小時。

適配性

最適合那些大部分時間待在區間內、並會回到可定義中樞的商品——歷史上是瑞郎交叉盤。不過本站公開的均值回歸 EA 實際跑在 AUD/CAD、USD/JPY、GBP/AUD、GBP/JPY 和 EUR/GBP 上。在趨勢階段的動能貨幣上結構性地不適用:拉伸會繼續拉伸,逆勢部位被迫扛著一段不會回頭的行情。ADX 低於 25 這類趨勢過濾幾乎是必備。適合能夠接受長連虧的交易者——這些紀錄中最糟的是連續十一筆虧損——並且會先看停損距離、再看勝率。

備註

均值回歸押的是彈性而不是動能:一個被拉離均值很遠的價格,彈回來的可能性大於繼續拉伸。EA 會等待一個統計上顯著的偏離——通常是相對移動平均線或布林中軌的 1.5 到 2.5 個標準差。它用處於極端區域的擺盪指標確認這次拉伸,隨後逆著行情進場,目標就是均值本身。

這描述的是進場,而進場正是買家能看懂的那部分。通常被硬安在它頭上的那句描述——均值回歸系統贏下大多數交易,偶爾虧一筆大的——是一個關於數字的主張,而不是關於機制的主張。這意味著它可以被檢驗,而不是被複述。拿我們自己的資料、也就是本站公開的六檔均值回歸 EA 去檢驗,這句話在其中兩檔身上成立。本頁講的是這台機器在 MetaTrader 5 裡如何搭建、那些紀錄關於結果形狀說明了什麼,以及在投入資金之前如何對它做壓力測試。

運作方式:進場是一段距離,出場才是成績單

進場這一側是一次測量,而三種常見構造幾乎可以互換:

  • 相對移動平均線的偏離。 價格距離某條均線達到設定數量的 ATR 單位或標準差,被當作「這段行情已經過度延展」的陳述。便宜,而且整套策略一行寫完。
  • 觸及布林通道或收盤於通道外。 同一個想法,只是偏離已經替你算好。收盤於通道外比觸及更嚴格,它改變交易筆數的幅度大於改變勝率的幅度。
  • 帶有狀態過濾的擺盪指標極值。 RSI 或隨機指標越過閾值,並以足夠低的 ADX 讀數為條件,用來說明市場並不處於趨勢。這個過濾器就是「均值回歸 EA」與「一路對抗趨勢直到被全部停損出場的 EA」之間的差別。

成績單真正成形的地方是出場,而出場有兩個:位於均值或均值附近的目標,以及位於推翻假設的價位之外的停損。每筆交易的期望值是 勝率 × 平均獲利 − (1 − 勝率) × 平均虧損。這是算術,不是發現——但有用的推論是:一旦兩個出場距離被固定,這兩項就不再彼此獨立。把目標拉近進場,多數交易會在雜訊把它們震出去之前觸及目標:勝率上升,平均獲利縮到平均虧損之下。把目標推到完整均值處,能走完全程的交易變少:勝率下降,盈虧比升到 1 以上。

兩者都是均值回歸;兩者都在逆著一次拉伸進場。它們卻給出看起來像兩種不同策略的成績單,下面的數字就是這件事在現實中的樣子。

公開的均值回歸紀錄說明了什麼

表中每一個數字都來自各 EA 頁面上公開的已平倉交易清單——合計 1,994 筆,來自始於 2019 年、延續到 2026 年 3 月的紀錄。完整的回測執行、參數與測試條件公布在本站的方法論頁面。

EA商品 / 週期交易數勝率盈虧比(平均獲利 ÷ 平均虧損)獲利因子中位持倉,獲利 ÷ 虧損最長連虧
BeaconAUD/CAD M1538479.17 %0.321.250.41×3
BallastEUR/GBP H130778.50 %0.371.400.49×3
LanternfishUSD/JPY M540762.65 %0.751.292.91×3
WindroseAUD/CAD H110159.41 %0.901.310.56×4
Lattice WeaveGBP/AUD H149246.34 %1.741.502.66×11
Tidewell SlackGBP/JPY M1530340.26 %2.001.351.62×10

由此得出四點,而坊間說法一點都沒預測到。

高勝率不是這套策略的屬性。 六檔橫跨 40.26 % 到 79.17 %,沒有一檔落在這套策略慣常被推銷時所用的 65-75 % 區間。它們的中位數 61.03 %,高於本站公開的趨勢跟蹤 EA 的中位數(55.90 %)。無論是什麼把均值回歸 EA 與趨勢 EA 區分開來,它都沒有出現在多數買家用來排序的那一欄裡。

勝率和盈虧比是同一個旋鈕的兩頭讀數。 把六檔按勝率排序,盈虧比會自己排成完全相反的順序。79.17 % 的勝率配 0.32 的盈虧比,接著 78.50 % 配 0.37,62.65 % 配 0.75,59.41 % 配 0.90,46.34 % 配 1.74,40.26 % 配 2.00。六中有六,沒有例外。這不是關於市場的發現。這是目標相對停損移動時必然發生的事——也是為什麼一個不帶盈虧比的勝率幾乎不攜帶任何資訊。

這個旋鈕轉不動的是獲利因子。 盈虧比在組內相差六倍。而獲利因子是 1.25、1.29、1.31、1.35、1.40 和 1.50——整組都在 0.25 的跨度之內。而且六檔裡最高的那個勝率依然產生最低的那個獲利因子,其餘的排序則毫無規律。把目標放近,買到的是一份看起來更平滑的成績單,代價付在獲利尺寸上;放遠則相反;兩者都沒有變成一條實質上更好的規則。

回歸是獲利單慢慢完成的事。 這套策略被描述為快速停利、扛住虧損,那樣的話中位獲利持倉時間應當短於虧損持倉時間。這在六檔裡對三檔成立。Beacon 持有獲利單的時間是虧損單的 0.41×,Ballast 是 0.49×,Windrose 是 0.56×,與宣傳相符。另外三檔把獲利單多持有了 1.62× 到 2.91×,組內中位數是 1.09×,而趨勢組是 1.10×——只有六份紀錄時,兩組在這條軸上無法區分,而持有獲利單更久的那一半,正是把目標放在完整均值處的那一半。

40.26 %–79.17 %勝率,六檔公開的均值回歸 EA
1.25–1.50獲利因子,同樣這六檔——而盈虧比跨度達 6×
11Lattice Weave:最長連虧,勝率為 46.34 %

市場條件:均值回歸什麼時候有回報,什麼時候沒有

條件有利於均值回歸 EA不利於均值回歸 EA
市場狀態有可定義中樞、價格會回來的區間不斷延展的方向性行情
波動率高但無方向——K 線寬闊,淨位移為零擴張並且朝一個方向持續跟進
拉伸本身由會耗盡的流量造成——清淡時段、過度反應由重新定價該商品的資訊造成
交易頻率有足夠多的區間觸碰來取樣這個優勢趨勢月份,有效訊號寥寥且個個做錯
持倉成本回歸很快,資金成本無關緊要部位逆著行情扛了好幾天,為犯錯支付隔夜利息

糟糕的環境不是下跌的市場,而是有方向的市場,這正是趨勢跟蹤在區間裡失效方式的精確鏡像。這種對稱性,才是把兩者放在一起看而不是當作替代品的誠實理由:它們在不同的天氣裡虧錢。這也是連虧為什麼會扎堆的原因。連續十一筆虧損不是十一個互不相干的錯誤;那是同一條規則十一次撞上同一段趨勢行情。

造成偏離的原因,和偏離的幅度同樣重要。在清淡時段被稀薄流動性拉開的價格,是回歸的候選。被利率決議拉開的價格已經被重新定價,不存在可以回去的舊均值。沒有任何指標能區分這兩種情況,這就是為什麼新聞過濾在這裡比在順勢進場的策略裡更重要。

同樣的彈性假設也驅動著統計套利:它交易兩個相關商品之間的價差,而不是單一商品相對自身均值的偏離。假設完全相同——只是被用在一種關係而不是一個價格上——失效方式也一樣:關係一旦不再成立,它就恰好在那一刻崩掉。在 EUR/GBP 這樣的單一商品上,被假定的關係就是該商品自身歷史與其均值之間的關係。

MT5 中的參數與設定

輸入項常見起點它控制什麼
MA_Period / BB_Period長到讓均值成為一個價位,而不是價格的落後複本EA 把什麼當作價格應當回歸的那個值
Deviation(σ 或 ATR 倍數)1.5–2.5σ,或按波動率縮放的等價值價格要拉伸多遠進場才成立——控制交易筆數的旋鈕
RSI_Period / 閾值僅作確認,不單獨充當扳機過濾掉仍在加速的拉伸
ADX_Max25 左右,要測試而不是假定抑制趨勢中的進場——本頁最重要的一個輸入
TakeProfit(到均值的距離)均值本身,或到均值距離的一部分與停損一起決定勝率和盈虧比
StopLoss位於會推翻回歸的價位之外均值回歸與意外馬丁格爾之間的分界線
MaxSpreadPoints略高於該商品的正常點差極端與寬點差總是結伴而來;這一項擋掉最差的成交
OncePerBar收盤邏輯請設為 true防止一根拉長的 K 線反覆觸發同一個訊號

有三條 MT5 特有的現實,決定一份漂亮的回測能否在實盤接觸中活下來:

  • 停損有最小距離,而這套策略本來就想要一個寬停損。 讀取 SymbolInfoInteger(symbol, SYMBOL_TRADE_STOPS_LEVEL) 並據此夾住;對靠近現價的改單,同樣處理 SYMBOL_TRADE_FREEZE_LEVEL。一個被券商悄悄拒絕的停損,會把一筆風險確定的交易變成一筆曝險無限的交易。
  • 點差恰好在這套策略進場的地方變寬。 它所對抗的那些極端,往往出現在流動性清淡的條件下。用平均點差跑出來的測試,會高估一檔進場集中在點差最差時段的 EA 的優勢。請用貼近實際的點差或真實 Tick 測試,並且先讀建模品質再讀利潤。
  • 持倉時間比這套策略的名聲所暗示的更長。 這些紀錄裡的中位獲利單持有 48 到 187 小時。這讓 SYMBOL_SWAP_LONGSYMBOL_SWAP_SHORT 成為一項真實成本而不是捨入誤差,而三倍隔夜息的日子各家券商並不相同。
  1. 固定進場距離和過濾器,然後別再動它們——你即將測量的成績單主要由兩個出場造就,一次改動全部只會讓你什麼也學不到。
  2. 用近目標和完整均值目標分別測試同一個進場,並記下各自的勝率、盈虧比和獲利因子。那個對比才是你真正在做的選擇。
  3. 從推翻假設的那個價位去設停損,而不是從一個整數出發,並夾到該商品的最小停損距離。
  4. 在同一段時間內,把 ADX 或狀態過濾器開著跑一遍、關著跑一遍。如果差別不大,說明測試期內沒有真正的趨勢,那份結果是未經檢驗,而不是穩健。
  5. 讀一讀所得成績單裡的最長連虧,並在投入任何資金之前決定:兩倍長的連虧你坐得住嗎。

失效模式:均值回歸 EA 是怎麼虧錢的

  • 拉伸繼續拉伸。 這套策略虧錢的常規方式。每一次進場都逆著一段不會回頭的行情,而由於規則會反覆重新滿足條件,虧損是成塊到來的。表中那串十一筆虧損就是這種失效模式,不是 EA 壞了。
  • 均值搬了家。 被重新定價的商品有了新的均值,舊的那個不再是一個價位。EA 仍在測量到一個已經不再有意義的數字的距離。
  • 為了躲開虧損而撤掉停損。 把停損放寬,或者用攤平成本取而代之,會把一套風險確定的策略變成一個帶著好故事的網格。資金曲線立刻好看起來,尾部風險則變成無限。
  • 把勝率當成安全邊際。 在 79 % 勝率、平均虧損為平均獲利三倍的結構下,只有命中率維持住,這套策略才有償付能力。
  • 在錯誤的 K 線上測量成本。 進場集中在點差最寬的極端處,跨越多日的持倉要付隔夜利息。兩者在一份設定了固定平均點差、且不計資金成本的測試裡都是看不見的。
  • 參數被擬合到一段區間樣本上。 在沒有趨勢的時期裡最佳化出來的偏離閾值,到了下一個時期就是錯的。相鄰取值給出差異巨大的結果,正是這個數字是被擬合出來、而非被選擇出來的跡象。

如何在 mt5depot 搭建並壓力測試一檔均值回歸 EA

要組裝上面描述的這台機器,你並不需要寫 MQL5。一個偏離度量、一個擺盪指標確認、一道 ADX 閘門、一個位於均值的目標、一個位於極端之外的停損,全都是無程式碼建構器裡的模組。自己動手搭的理由在於:真正要緊的測試不是「它賺不賺錢」,而是在同一條進場規則上比較兩種目標擺放,而沒有任何賣家頁面會替你跑這個對比。

  • 用近目標和均值目標各測一次同一個進場,比較勝率、盈虧比和獲利因子,而不是只比淨利潤。
  • 加入趨勢過濾器,並在關閉過濾器的情況下也測一遍成績單,這樣你才知道它究竟在做什麼。
  • 從推翻假設的價位去設停損,並夾到該商品的最小距離,好讓測試器和實盤帳戶對得上。
  • 用真實 Tick 歷史配合貼近實際的點差來測試,因為進場集中在點差最寬的地方;並且要讀這次執行的建模品質。
  • 把真實持倉期間的隔夜利息計入——這裡紀錄中的中位獲利單是以天計持有的,不是以分鐘計。
  • 讀最長連虧,並確認回測期間至少包含一段持續的、與策略對著幹的趨勢。

均值回歸與趨勢的對比

均值回歸趨勢跟蹤
假設什麼被拉伸的價格會回到它的均值已確立的方向會延續
相對行情的進場逆著它,在極端處順著它,在確認之後
何時虧錢市場走出趨勢,拉伸繼續拉伸市場進入區間,行情反覆折回
典型出場位於均值或其附近的固定目標移動停損或訊號反轉
最壞情況一筆部位、或一串部位,扛著一段不會回頭的行情一長串尋常的虧損
公開勝率中位數61.03 %(六檔 EA)55.90 %(五檔 EA)
公開最長連虧中位數3.5,最長 114,最長 9
複雜度中級——風險由兩個出場距離承擔入門——輸入項少,難在坐得住

整體上沒有哪一邊更安全,而它們的失效模式幾乎互補:一個需要靜止,另一個需要運動。這是同時執行兩者的真實理由,但有一條表格無法呈現的但書。一檔均值回歸 EA 和一檔用固定停利的趨勢 EA,並不像它們的標籤所暗示的那樣不同,因為那時兩者都依賴價格停在規則所說的地方。在認定持有兩檔 EA 就已經分散了什麼之前,先確認每一個出場究竟在做什麼。

典型貨幣對

此策略最適合的場景

EA 目錄

本目錄中 12 個 均值回歸 EAs

全部 EAs →

常見問題

什麼是均值回歸 EA?
均值回歸 EA 會等到價格偏離自身均值達到一個可測量的距離,然後逆著這段行情進場,目標是價格回歸。這個距離通常表示為相對布林中軌的標準差,或相對移動平均線的 ATR 單位,並用處於極端區域的 RSI、隨機指標之類的擺盪指標作為確認。停損放在這樣一個價位之外:一旦觸及,就說明這根本不是拉伸,而是一段趨勢的開始。就進場而言,它是趨勢跟蹤的天然反面,並且在相反的天氣裡失效。
均值回歸 EA 的勝率高嗎?
並不可靠地高,而這正是關於該策略最常見的錯誤假設。本站公開的六檔均值回歸 EA 紀錄到的勝率是 79.17 %、78.50 %、62.65 %、59.41 %、46.34 % 和 40.26 %。沒有一檔落在人們描述均值回歸時慣用的 65-75 % 區間裡,而六檔的中位數 61.03 % 高於本站公開的趨勢跟蹤 EA 的中位數(55.90 %)。勝率來自目標相對停損放在哪裡,而不是來自進場是逆勢這一事實。
哪些商品適合均值回歸 EA?
教科書答案是結構性區間震盪的交叉盤——EUR/CHF、USD/CHF、EUR/GBP——因為一個不斷回到中樞的商品,才給了策略可回歸的對象。我們自己公開的均值回歸 EA 裡,只有一檔跑在那份清單上的商品,即 EUR/GBP;其餘五檔跑在 AUD/CAD、USD/JPY、GBP/AUD 和 GBP/JPY 上。這說明要求比商品名稱更窄:真正重要的是那個具體商品在它自己的週期上,花在回歸上的時間是否多於花在延展上的時間。請在你打算交易的商品上驗證這一點,而不是照搬一份商品清單。
均值回歸與網格或馬丁格爾 EA 有何不同?
區別在停損。三者都會在不利行情面前累積或持有曝險,而且只要市場配合,三者看起來都在獲利。均值回歸 EA 在一個可測量的極端處開一筆部位,如果回歸假設被推翻,就以既定的虧損平掉。網格或馬丁格爾 EA 應對不利行情的方式是繼續加碼,於是虧損只有在帳戶無力支撐下一次加碼時才被實現。如果一檔以均值回歸名義出售的 EA 沒有停損,或者在虧損部位上攤平成本,那它就是披著這個標籤的另一種策略。
均值回歸 EA 的連虧會有多長?
比這套策略的名聲所暗示的更長。本站公開的六份紀錄中,最糟的一次是連續十一筆虧損,出現在勝率 46.34 % 的那檔 EA 上。六檔最糟連虧的中位數是 3.5,略低於趨勢跟蹤組的 4,但尾部更長:六檔裡有兩檔達到 10 和 11,而趨勢跟蹤的最大值是 9。逆勢策略遭遇壞天氣時是一整塊連著來的,因為擊敗一次進場的那個趨勢行情,同樣會擊敗下一次。請在為帳戶入金之前讀連虧,而不是在經歷它的時候。
為什麼該看獲利因子而不是勝率?
因為在這些紀錄裡,勝率會動,獲利因子幾乎不動。六檔公開的均值回歸 EA 在勝率上橫跨 40.26 % 到 79.17 %,在盈虧比上相差六倍。可它們的獲利因子是 1.25、1.29、1.31、1.35、1.40 和 1.50——整組只有 0.25 的跨度。六檔裡最高的那個勝率反而產生了最低的那個獲利因子。勝率和盈虧比描述的是出場被放在哪裡;獲利因子更接近這套規則真正賺到的東西。