intermediate 中等回撤 ~5 trades/mo

均值回歸

均值回歸 EA 在價格偏離其均值達到可測量的距離後逆勢進場,目標是價格回歸。這個標籤只描述進場。在 Builder 記錄的參數搜尋中,RSI 與布林通道兩個反轉模板各試了十二組停損與目標設定,即使在樣本內,也沒有一組的獲利因子超過 1.0。

AIStrategyMiner EA Builder:用模組拼成的布林通道反彈策略

一圖看懂

進場是與均值的一段距離

EA 等待價格偏離其平均值約 1.5 至 2.5 個標準差,逆著這段走勢進場,並以均值本身為目標。此處的進場條件是觸及 2σ 通道。

進場是與均值的一段距離 均值回歸交易示意圖:價格下跌到下方 2σ 通道,EA 進場,價格回到均值,目標就在那裡。 +2σ 均值 −2σ 進場 目標

一圖看懂

預設設定:各反轉模板的獲利因子

Builder 在 USD/JPY M5 上一年的基準,預設輸入,不做最佳化。只有順著趨勢方向逢低買進的回檔進場,獲利因子(PF)才超過 1.0。

預設設定:各反轉模板的獲利因子 長條圖:預設設定下的獲利因子:MA Pullback Buy 1.10,Envelope 0.98,Bollinger Bounce 0.97,RSI Reversal 0.94,Range Filter 0.90,MFI plus StdDev 0.80,並以 1.0 為參考線。 PF 1.0 MA Pullback Buy 1.10 Envelope 0.98 Bollinger Bounce 0.97 RSI Reversal 0.94 Range Filter 0.90 MFI + StdDev 0.80

機制

EA 測量價格相對移動平均線或布林中軌偏離了多遠,通常以標準差或 ATR 單位計算,再用處於極端區域的擺盪指標確認這次拉伸。進場逆著行情方向;目標是均值,停損設在會推翻回歸假設的價位之外。這兩個出場之間的距離決定了記錄的形狀。目標貼近進場會帶來高勝率和遠低於 1 的盈虧比;目標放在完整均值處則相反。兩種設定都無法創造出進場本身沒有的優勢。

適配性

最適合大部分時間待在區間內、並會回到可定義中樞的商品——歷史上是瑞郎交叉盤、EUR/GBP 與 AUD/CAD。在趨勢階段的動能貨幣上結構性地不適用:拉伸會繼續拉伸,逆勢部位被迫扛著一段不會回頭的行情。趨勢或行情狀態過濾幾乎是必備,而更高週期趨勢的方向比擺盪指標的水準更重要。適合能夠接受成塊到來的長連虧、並且會先看停損距離再看勝率的交易者。

備註

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

這描述的是進場,而進場正是多數人能看懂的那部分。通常被硬安在它頭上的那句描述——均值回歸系統贏下大多數交易,偶爾虧一筆大的——是一個關於出場放在哪裡的主張,而不是關於機制的主張。本頁說明這台機器在 MetaTrader 5 裡如何搭建,以及 Builder 自己量測過的反轉模板顯示了什麼。最後說明如何在投入任何資金之前對它做壓力測試。

運作方式:進場是一段距離,出場決定形狀

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

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

出場有兩個部分:位於均值或均值附近的目標,以及位於推翻假設的價位之外的停損。每筆交易的期望值是 win rate × average win − (1 − win rate) × average loss,而一旦兩個出場距離被固定,這兩項就不再彼此獨立。把目標拉近,勝率上升,平均獲利則縮到平均虧損之下。把目標推到完整均值處,就會發生相反的事。

典型的回歸配置是近目標加寬停損——高勝率,代價是低於 1 的盈虧比。下面量測的十個反轉模板出廠時正好反過來,目標是停損的兩倍(30/60 或 40/80 pips)。這在不計成本時勝率 33.3 % 即可損益兩平,也意味著下面的預設基準,是在趨勢型出場下量測這些進場。

Builder 的反轉模板在預設參數下顯示了什麼

EA Builder 會在有基準值的模板卡片上印出量測結果,其中有十個反轉模板帶有基準值。在我們自己對 Builder 模板所做的預設參數基準測試中——USD/JPY M5 單次一年期執行、預設輸入值、不做最佳化——多數模板的獲利因子都低於 1.0,反轉這一類也不例外。

測試條件
來源EA Builder 各模板卡片上印出的基準值
商品 / 週期USD/JPY M5(Exness MT5);Dual-Pair 籃子交易 EUR/USD 與 GBP/USD
期間2025-06-01 – 2026-06-09
模型M1 OHLC(K 線層級,非真實 tick)
入金 / 輸入值10,000,模板預設值,不做最佳化
模板進場停損 / 目標(pips)獲利因子交易數
MA Pullback Buy價格在 EMA 50 上方 0–20 pips 且 RSI 低於 45,只做多40 / 801.10159
Envelope Reversal買價超出 SMA 20 的 0.1 % 包絡線30 / 600.98986
Bollinger Bounce觸及 20 週期、2σ 的通道40 / 800.97632
Stoch + BB在下軌處隨機指標低於 20(賣出反之)30 / 600.96896
Pin Bar Reversal看漲 Pin Bar 且 RSI 低於 35,只做多40 / 800.96179
RSI ReversalRSI 14 低於 30 / 高於 7030 / 600.94682
Range Filter Reversal僅在 10 根 K 線區間為 10–80 pips 時採用 RSI 30/7040 / 800.90573
MFI Reversal + StdDev僅在 StdDev 10 低於 StdDev 40 時採用 MFI 20/8040 / 800.80362
3-Strategy Portfolio (Mean-Reversion Mix)RSI + 布林 + 包絡線合在一個 EA同各組成部分0.922,287
Dual-Pair RSI Basket在 EUR/USD 與 GBP/USD 上採用 RSI 30/70,最多四個部位30 / 600.8712,953

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

出場旋鈕改變的是形狀,不是優勢。Builder 記錄了 RSI Reversal 與 Bollinger Bounce 在 USD/JPY H1 上的停損與目標搜尋。兩者各以十二組組合——停損 20 到 50 pips、目標 20 到 100 pips——跑過三段期間:2018–2021、2022–2024,以及 2025 年 1 月 – 2026 年 6 月。兩個模板樣本內最好的獲利因子都只有 0.91。這組網格同時包含近目標與遠目標。當沒有任何擺放方式能在它被選出的那段期間裡獲勝時,進場就沒有任何東西可以讓出場去塑形。

過濾器並不自動等於改進。Range Filter Reversal 在 RSI 30/70 進場上加了 10 根 K 線的區間閘門,得分 0.90,而單純版本為 0.94——不過兩者的停損與目標也不同,所以並不是乾淨的一對比較。只在波動收縮時才逆勢進場的 MFI Reversal + StdDev,以 0.80 成為表中最弱的單一商品模板。一道移除交易的閘門,移除的既有壞交易,也有好交易。

表中唯一高於 1.0 的模板,是順著趨勢方向逆向進場。MA Pullback Buy 只在價格位於 50 週期 EMA 之上時逢低買進,在 159 筆交易中得分 1.10。它是一個回檔進場——套在趨勢過濾上的回歸進場——從不站在較長期走勢的對面。它仍然沒有達到 Measure 面板印出的合格門檻(獲利因子至少 1.2、至少 60 筆交易、回撤不超過 20 %)。

堆疊反轉方法會把風險集中起來。三種方法的組合得分 0.92——並不比它的組成部分好,因為三者都在對抗同一次拉伸。Dual-Pair RSI Basket 在兩個相關的貨幣對上運行同一條 RSI 規則,最多同時開四個部位。它產生了 12,953 筆交易與 -36.38 % 的回撤,是 Builder 基準中所有模板裡最深的。相關的反轉部位,是同一個賭注下了好幾次。

0.9112 組停損/目標設定中樣本內最佳獲利因子,RSI 與布林反轉
1.10MA Pullback Buy——表中唯一高於 1.0 的模板
-36.38 %Dual-Pair RSI Basket 的回撤——同一規則用在兩個相關貨幣對上

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

條件有利於均值回歸 EA不利於均值回歸 EA
市場狀態有可定義中樞、價格會回來的區間不斷延展的方向性行情
波動率偏高但無方向——K 線寬闊,淨位移為零擴張 並且 朝一個方向持續跟進
拉伸本身由會耗盡的流量造成——清淡時段、過度反應由重新定價該貨幣對的資訊造成
更高週期的趨勢走平,或逆向進場正好順著它強勁且與逆向進場相反
持倉成本回歸很快,資金成本無關緊要部位逆著行情扛了好幾天,為犯錯支付隔夜利息

糟糕的環境不是虧錢的市場,而是有方向的市場,這正是趨勢跟蹤在區間裡失效方式的精確鏡像。兩者在不同的天氣裡虧錢。這也是連虧為什麼會扎堆的原因。連續十筆虧損不是十個互不相干的錯誤;那是同一條規則十次撞上同一段趨勢行情。

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

同樣的彈性假設也驅動著統計套利,只是被用在兩個商品之間的價差上,而不是單一價格上,而它的失效方式也一樣。在 EUR/GBP 這樣的單一貨幣對上,被假定的關係就是該貨幣對自身歷史與其均值之間的關係。

MT5 中的參數與設定

在 Builder 中,下列每一項都是帶有自身輸入值的積木,每個數值都會成為編譯後 EA 的輸入參數。

積木與輸入值常見起點它控制什麼
Bollinger Bands / Envelope period、deviation長到讓均值成為一個價位,而不是價格的落後複本EA 把什麼當作價格應當回歸的那個值
RSI / Stochastic / MFI 閾值僅作確認,不單獨充當扳機過濾掉仍在加速的拉伸
Market Regime Filter Allowed regime = RangeADX 閾值 25 左右,要測試而不是假定抑制趨勢中的進場——本頁最重要的一個輸入
MA Distance Filter Price side、Max pips (0=off)只在較長均線的一側逆向進場把逆勢進場變成回檔進場
Open Buy / Open Sell TP (pips)均值本身,或到均值距離的一部分與停損一起決定勝率和盈虧比
Stop Loss SL Mode位於推翻假設的價位之外,或用 ATR 倍數均值回歸與意外的馬丁格爾之間的分界線
Spread Filter Max Spread (points)略高於該商品的正常點差極端與寬點差總是結伴而來;這一項擋掉最差的成交
Position Filter Max Positions每個商品 1 個阻止規則把同一次逆向進場層層疊加

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

  • 停損有最小距離,而這套策略本來就想要一個寬停損。券商會拒絕比 SYMBOL_TRADE_STOPS_LEVEL 更近的停損。Builder 產生的 EA 在修改部位前會檢查這個價位與 SYMBOL_TRADE_FREEZE_LEVEL,並保留目前的價位,而不是送出一個會被拒絕的請求。
  • 點差恰好在這套策略進場的地方變寬。它所對抗的那些極端,往往出現在流動性清淡的條件下。用平均點差跑出來的測試,會高估一檔進場集中在點差最差時段的 EA 的優勢。請用貼近實際的點差或真實 tick 點差測試,並且先讀建模品質再讀利潤。
  • 持倉時間比這套策略的名聲所暗示的更長。需要好幾天才完成的回歸,每晚都要支付 SYMBOL_SWAP_LONG 或 SYMBOL_SWAP_SHORT,而三倍隔夜利息的日子各家券商並不相同。
  1. 固定進場與過濾器,然後別再動它們——一次改動全部只會讓你什麼也學不到。
  2. 用近目標和完整均值目標分別測試同一個進場。記下各自的勝率、盈虧比和獲利因子;如果兩者都沒超過 1.0,就停止調整出場,改去換進場。
  3. 從推翻假設的那個價位去設停損,而不是從一個整數出發。
  4. 在同一段期間內,把行情狀態或趨勢過濾器開著跑一遍、關著跑一遍。如果差別不大,說明測試期內沒有真正的趨勢,那份結果是未經檢驗,而不是穩健。
  5. 讀一讀所得記錄中最長的連虧,並在投入任何資金之前決定:兩倍長的連虧你坐得住嗎。

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

  • 拉伸繼續拉伸。這套策略虧錢的常規方式。每一次進場都逆著一段不會回頭的行情,而由於規則會反覆重新滿足條件,虧損是成塊到來的。
  • 均值搬了家。被重新定價的貨幣對有了新的均值,而 EA 仍在測量到舊均值的距離。
  • 為了躲開虧損而撤掉停損。把停損放寬,或者用攤平成本取而代之,會把一套風險確定的策略變成一個帶著好故事的網格。資金曲線立刻好看起來,尾部風險則變成無限。
  • 把相關部位算作分散。同一條反轉規則用在兩個相關的貨幣對上,是同一個賭注下了兩次。Dual-Pair 籃子 -36.38 % 的回撤,就是這在預設參數下的樣子。
  • 調整出場來拯救進場。當沒有任何停損與目標組合能在樣本內獲勝時,更努力地搜尋只會找到一個擬合出來的結果。
  • 在錯誤的 K 線上測量成本。進場集中在點差最寬的極端處,跨越多日的持倉要付隔夜利息。兩者在一份設定了固定平均點差、且不計資金成本的測試裡都是看不見的。

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

要組裝上面描述的這台機器,你並不需要寫 MQL5。偏離度量、擺盪指標確認、行情狀態閘門、位於均值的目標、位於極端之外的停損,全都是無程式碼 Builder 裡的積木,而上面的反轉模板出廠時就已接好線。最快的有用測試,是把 RSI Reversal 與 MA Pullback Buy 並排載入。兩者最明顯的差別是趨勢過濾,不過閾值、方向與出場也不同——所以請在 RSI Reversal 上加一個 MA Distance Filter,其他什麼都不改。

  • 用近目標和均值目標各測一次同一個進場,除了勝率之外也比較獲利因子。
  • 加入 Market Regime Filter 或 MA Distance Filter,並在關閉它的情況下也量測記錄,這樣你才知道過濾器實際在做什麼。
  • 按下 Measure 對照印出的門檻做概略檢查,然後在 MT5 策略測試器中用真實 tick 與貼近實際的點差執行編譯後的 EA。
  • 確認回測期間至少包含一段持續的、與策略對著幹的趨勢。

由你自己的流程編譯出的 .ex5 是免費的。.mq5 原始碼屬於 Pro,一次買斷、沒有訂閱——若想編輯產生的程式碼,請看價格方案。本站的方法論說明了應如何解讀回測結果。

均值回歸與趨勢的對比

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

整體上沒有哪一邊更安全:一個需要靜止,另一個需要運動。這是同時執行兩者的理由,但有一條表格無法呈現的但書。均值回歸 EA 和用固定停利的趨勢 EA,都依賴價格停在規則所說的地方,而放在趨勢過濾之後的反轉進場,本身就已經是兩者各佔一半。在認定兩檔 EA 已經分散了什麼之前,先確認每一個出場究竟在做什麼。

同一個反轉搭兩次,一次帶過濾、一次不帶

在 AIStrategyMiner Builder 中,把進場搭一次單純版本、再搭一次放在趨勢或行情狀態過濾之後的版本,然後在同一份逐筆歷史上回測兩者。在 Builder 基準中高於 1.0 的唯一模板,正是帶趨勢過濾的那一個。

  • 為 MetaTrader 5 編譯標準 .ex5 檔,並在投入任何資金之前先讀出最糟的連虧。

在信任之前,請先在 MetaTrader 5 中檢查成品 EA。本頁的數字來自你輸入的內容,不是結果預測。

AIStrategyMiner EA Builder:畫布上相互連接的策略模組,右側為屬性面板

典型貨幣對

此策略最適合的場景

常見問題

什麼是均值回歸 EA?
均值回歸 EA 會等到價格偏離自身均值達到一個可測量的距離,然後逆著這段行情進場,目標是價格回歸。這個距離通常表示為相對布林中軌的標準差,或相對移動平均線的 ATR 單位,並用處於極端區域的 RSI、隨機指標之類的擺盪指標作為確認。停損放在這樣一個價位之外:一旦觸及,就說明這根本不是拉伸,而是一段趨勢的開始。就進場而言,它是趨勢跟蹤的天然反面,並且在相反的天氣裡失效。
均值回歸 EA 的勝率高嗎?
只有在目標放得貼近進場時才高,而用這種方式買來的高勝率,代價付在盈虧比上。貼近進場的目標常被觸及、賺得少;放在完整均值處的目標較少被觸及、賺得多。本頁量測的反轉模板出廠時目標是停損的兩倍,不計成本時勝率 33.3 % 即可損益兩平。勝率來自出場放在哪裡,而不是來自進場是逆勢這一事實。
哪些貨幣對適合均值回歸 EA?
教科書答案是結構性區間震盪的交叉盤——EUR/CHF、USD/CHF、EUR/GBP、AUD/CAD——因為一個不斷回到中樞的貨幣對,才給了策略可回歸的對象。實務上真正重要的比貨幣對名稱更窄:那個具體商品在它自己的週期上,花在回歸上的時間是否多於花在延展上的時間。Builder 的反轉模板是在 USD/JPY M5 上量測的——雜訊多的週期上的一個趨勢型貨幣對——多數模板在那裡的得分都低於 1.0。請在你打算交易的商品上測試,而不是照搬一份貨幣對清單。
均值回歸與網格或馬丁格爾 EA 有何不同?
區別在停損。三者都會在不利行情面前持有曝險,而且只要市場配合,三者看起來都在獲利。均值回歸 EA 在一個可測量的極端處開一筆部位,如果回歸假設錯了,就以既定的虧損平掉。網格或馬丁格爾 EA 應對不利行情的方式是繼續加碼,於是虧損只有在帳戶無力支撐下一次加碼時才被實現。如果一檔被稱為均值回歸的 EA 沒有停損,或者在虧損部位上攤平成本,那它就是披著這個標籤的另一種策略。
更好的目標或停損能救回一個虧損的反轉進場嗎?
從 Builder 自己的記錄來看,不能。RSI Reversal 與 Bollinger Bounce 各自在 USD/JPY H1 上、橫跨 2018 到 2026 年的三段期間,搜尋了十二組停損與目標組合——停損 20 到 50 pips、目標 20 到 100 pips。兩者樣本內最好的獲利因子都只有 0.91。移動出場會改變勝率與盈虧比,但不會創造出進場所缺少的優勢。請先改進場或過濾條件。
同時運行好幾種反轉方法能分散風險嗎?
比看起來少。Builder 的 3-Strategy Portfolio 在一個 EA 中同時運行 RSI 反轉、布林反彈與包絡線反轉,各自使用獨立的 magic number。預設參數下,它在 2,287 筆交易中的獲利因子為 0.92——並不比它的組成部分好。三個都在對抗同一次拉伸的進場,會在同樣的趨勢天氣裡虧錢,所以虧損會一起到來。