EA自動交易

MT4 EA回測教學:如何在MetaTrader 4回測EA智能交易系統(圖文步驟)

2020-12-30

MT4 EA回測是什麼?

MT4 EA回測是指在 MetaTrader 4(MT4)平台上,利用內建的「投資策略測試器」(Strategy Tester)功能,將 EA(Expert Advisor,智能自動交易系統)套用到歷史價格數據上,模擬該 EA 在過去市場環境中的交易表現。

透過回測,交易者可以在不投入任何真實資金的情況下,客觀評估一個 EA 的獲利能力、風險特性以及策略邏輯的合理性。這是決定是否使用某個 EA 進行實盤交易之前,最重要的驗證步驟。

回測能幫你回答以下關鍵問題:

  • 這個 EA 在過去的市場中能否穩定獲利?
  • 它的最大虧損(回撤)幅度有多大?風險是否可控?
  • 不同參數設定會如何影響交易績效?
  • EA 的交易頻率和持倉時間是否符合你的預期?

如果你對「回測」這個概念還不太熟悉,建議先閱讀 回測是什麼?完整概念解説,了解回測的基本原理和重要性。本篇文章則聚焦在MT4 平台的實際操作步驟,手把手教你完成 EA 回測的全部流程。

MT4 EA回測的準備工作

在開始回測之前,你需要確認以下三項準備工作已經完成:

1. 安裝 MT4 平台

MT4 是目前最多交易者使用的外匯交易平台之一,幾乎所有主流外匯經紀商都提供 MT4 下載。如果你還沒有安裝 MT4,可以從你的經紀商官網免費下載安裝。

2. 安裝 EA(智能自動交易系統)

你需要將想要回測的 EA 檔案(.ex4 或 .mq4)放入 MT4 的 Experts 資料夾中。安裝完成後,在 MT4 的「導航」視窗中應該能看到你的 EA。如果你對演算法交易和 EA 的運作原理有興趣,可以參考相關文章了解更多。

3. 開設交易帳戶

你需要一個有效的交易帳戶才能登入 MT4 並使用回測功能。即使使用模擬帳戶也可以進行回測操作。

推薦經紀商:如果你還沒有 MT4 帳戶,推薦使用 ThinkMarkets。ThinkMarkets 提供穩定的 MT4 平台、具競爭力的交易條件,以及最高 2,000 倍槓桿,非常適合進行 EA 回測與實盤交易。

步驟一:獲取歷史數據

回測的準確度取決於歷史數據的品質。MT4 預設的歷史數據量有限,因此在回測之前,建議先手動下載完整的歷史數據。

A. 開啟歷史資料中心

在 MT4 上方選單中,點選「工具」→「歷史資料中心」(或使用快捷鍵 F2)。

MT4歷史資料中心開啟畫面

B. 選擇貨幣對並下載數據

在歷史資料中心的左側清單中,找到你要回測的貨幣對(例如 USDJPY),展開後選擇你需要的時間週期。

在歷史資料中心選擇貨幣對

建議從最小的時間週期(1分鐘圖或5分鐘圖)開始下載,因為較大的時間週期數據可以由小週期數據自動合成。這樣做可以確保回測使用的數據更加精確。

選擇5分鐘圖的歷史數據

C. 執行數據下載

選擇好貨幣對和時間週期後,點選「下載」按鈕。系統可能會顯示警告訊息,提示下載的數據將覆蓋現有數據,點選「確定」繼續即可。

點擊下載按鈕獲取歷史數據下載數據時出現的覆蓋警告訊息

下載過程需要一些時間,視網路速度和數據量而定。請等待進度條完成。

歷史數據下載進行中的進度畫面

下載完成後,建議對其他你可能需要的貨幣對也重複相同操作,確保數據完整。

步驟二:設定投資策略測試

歷史數據準備好後,接下來開啟 MT4 的投資策略測試器,配置回測參數。

A. 開啟投資策略測試器

在 MT4 上方選單中,點選「顯示」→「投資策略測試」(或使用快捷鍵 Ctrl+R)。測試器面板會出現在 MT4 視窗底部。

MT4選單中開啟投資策略測試器

B. 選擇要回測的 EA

在投資策略測試器的「EA」下拉選單中,選擇你想要回測的 EA。所有已安裝在 Experts 資料夾中的 EA 都會出現在此清單中。

在投資策略測試器中選擇EA

C. 選擇貨幣對

在「品種」下拉選單中,選擇你要回測的貨幣對。請確認這個貨幣對與你之前下載歷史數據的貨幣對一致。

選擇回測的貨幣對

D. 設定回測時間範圍

勾選「使用日期」核取方塊,並設定回測的開始日期與結束日期。建議選擇至少一年以上的時間範圍,以涵蓋不同的市場狀況。

設定回測的時間範圍

E. 選擇復盤模式

復盤模式決定了回測的精確度。MT4 提供三種復盤模式:

復盤模式精確度速度適用場景
每個即時報價(Every tick)最高最慢最終驗證、精確回測
控制點(Control points)中等中等初步測試、參數篩選
僅用開盤價(Open prices only)最低最快快速預覽、僅在開盤時交易的 EA

如果你需要可靠的回測結果,建議使用「每個即時報價」模式。這個模式會使用最小時間週期的數據來模擬每一個報價變化,結果最接近真實市場。

選擇回測復盤模式

F. 設定點差

點差(Spread)是影響交易成本的重要因素。你可以選擇「目前值」使用當前市場的點差,或手動輸入一個固定值。由於回測期間的實際點差會波動,建議設定一個略高於平均值的點差,這樣回測結果會更加保守和可靠。

設定回測使用的點差

G. 選擇時間週期

選擇 EA 運行的 K 線時間週期(如 M1、M5、M15、H1、H4、D1 等)。這個設定應與 EA 原本設計使用的時間週期一致,否則可能影響回測結果的準確性。

選擇回測的K線時間週期

H. 設定 EA 參數

點選測試器面板中的「EA 屬性」按鈕,可以設定 EA 的各項參數,包括初始資金、手數大小、以及 EA 自身的策略參數。

開啟EA屬性設定

在「輸入參數」分頁中,可以修改 EA 的各項策略參數。不同的 EA 會有不同的可調參數,例如停損點數、停利點數、交易手數、指標參數等。

EA輸入參數設定界面

建議先使用 EA 的預設參數進行第一次回測,了解基本表現後,再嘗試調整參數進行優化。

步驟三:運行回測與分析結果

A. 開始執行回測

所有設定完成後,點選投資策略測試器右下角的「開始」按鈕,回測即會開始執行。

點擊開始按鈕執行回測

回測執行期間,你可以在進度條中觀察進度。使用「每個即時報價」模式進行多年回測時,可能需要較長時間,請耐心等待。

回測進度條顯示測試完畢

B. 查看回測結果

回測完成後,在測試器面板底部會出現多個分頁,讓你從不同角度分析結果:

「結果」分頁:顯示每一筆交易的詳細記錄,包括開倉時間、方向、手數、進出場價格、損益等。你可以逐筆檢視 EA 的交易行為是否合理。

回測結果分頁顯示每筆交易記錄

「浮值圖」分頁:以圖表方式呈現帳戶權益的變化曲線。理想的權益曲線應該呈現穩定向上的趨勢,大幅波動或急劇下跌則代表策略風險較高。

回測浮值圖顯示權益變化曲線

「報表」分頁:提供完整的績效統計摘要,包含總損益、獲利因子、最大回撤、交易次數等關鍵指標。這是最重要的結果頁面,用於全面評估 EA 的表現。

回測報表顯示完整績效統計

回測結果的解讀方式

拿到回測報表後,以下幾個關鍵指標是你必須重點關注的:

獲利因子(Profit Factor)

獲利因子 = 總獲利金額 ÷ 總虧損金額。這是衡量 EA 獲利能力最直覺的指標。

  • 大於 1.0:EA 整體有獲利
  • 1.5 ~ 2.0:表現不錯,策略有一定的獲利優勢
  • 大於 2.0:非常優秀,但需留意是否存在過度擬合的風險
  • 小於 1.0:EA 整體虧損,不建議使用

最大回撤(Maximum Drawdown, MDD)

最大回撤是指帳戶權益從最高點到最低點的最大跌幅,代表你在使用這個 EA 時可能面臨的最大虧損。

  • MDD 占初始資金的比例越低越好,通常希望控制在 20~30% 以內
  • 如果 MDD 過高(例如超過 50%),即使最終結果獲利,實際交易時也很難承受這樣的心理壓力
  • 建議以 MDD 的 1.5~2 倍作為帳戶的風險容忍上限

總交易次數

交易次數直接影響回測結果的統計可靠性。交易次數太少(例如低於 100 筆),即使結果漂亮,也可能只是運氣好,缺乏統計意義。一般來說,至少需要 200~300 筆以上的交易,結果才具有參考價值。

權益曲線的形狀

除了數字指標,權益曲線(浮值圖)的形狀也非常重要:

  • 理想型:穩定、平滑地向右上方爬升,回撤幅度小且恢復迅速
  • 警示型:有大幅度的急劇下跌,即使最終回升,也代表策略有較大的風險
  • 危險型:長期橫盤或向下,僅靠最後幾筆大交易翻盤——這通常是不穩定的策略

模擬品質(Modelling Quality)

在回測報表中還有一個容易被忽略但很重要的數值——模擬品質百分比。如果使用「每個即時報價」模式且歷史數據完整,理想的模擬品質應達到 90% 以上。低於 90% 的結果可能因數據不完整而存在偏差,建議重新下載歷史數據後再測試。

重要提醒:回測結果反映的是策略在過去市場中的表現,不能保證未來的獲利。市場環境會不斷變化,一個過去表現優秀的 EA,在未來也可能因為市場結構改變而失效。建議在正式實盤之前,先用模擬帳戶進行一段時間的前測(Forward Test),確認 EA 在當前市場中的表現。

常見問題

Q1:MT4 回測和模擬交易(Demo)有什麼不同?

回測使用的是過去的歷史數據,可以在短時間內模擬多年的交易結果;模擬交易則是在當前的即時市場中以虛擬資金交易。回測用於快速驗證策略,模擬交易則用於確認策略在真實市場環境中的表現。兩者相輔相成,建議先回測再模擬交易。

Q2:回測結果的「模擬品質」應該達到多少才可靠?

使用「每個即時報價」復盤模式時,模擬品質建議至少達到 90%。低於此數值表示歷史數據不完整,可能導致回測結果出現偏差。可以透過重新下載歷史數據來提高模擬品質。

Q3:為什麼回測結果和實盤交易結果會有差異?

差異主要來自以下幾個因素:滑點(回測通常不考慮真實的滑點)、點差波動(回測使用固定點差,實盤點差會隨市場變化)、執行延遲(實盤存在網路延遲)、以及流動性(回測假設所有訂單都能立即成交)。這些因素加總後,通常會使實盤結果略遜於回測結果。

Q4:回測時應該使用多長的時間範圍?

建議至少使用 2~5 年的歷史數據,以涵蓋不同的市場環境(趨勢市、盤整市、高波動、低波動等)。時間太短的回測,結果可能只反映了特定市場狀況下的表現,缺乏普遍性。但也要注意,如果 EA 的策略邏輯需要配合特定的市場環境,過長的回測時間反而可能降低參考價值。

Q5:我可以通過調整參數讓回測結果變得更好嗎?

可以,但要格外小心「過度擬合」(Overfitting)的陷阱。過度擬合是指透過反覆調整參數,讓策略完美適配過去的數據,但在面對未來的新數據時卻效果很差。避免過度擬合的方法包括:保持參數簡單(可調參數越少越好)、使用「走步分析」(Walk-Forward Analysis)、以及保留一段數據不用於優化而僅用於驗證。

在 ThinkMarkets 開始你的 EA 交易

提供穩定的 MT4 平台、具競爭力的點差,最高 2,000 倍槓桿

查看 ThinkMarkets 詳細評價 →
  • 本文作者

匯商專業人士

1985年出生於台灣。
99年因為父親的工作來到日本。
畢業橫濱大陸系中華學校與日本國內大學。
07年到職日系製藥公司,10年換工作到日本外匯公司。在疫情期間離職(被開除),開始做專業投資者。(無職)
2013年開始海外外匯交易平台投資。開戶過23家海外外匯經紀商的帳號,其中遇到過3次詐騙平台。
2022年由於公司的業績不佳,被開除。開始專業投資者的生活,也就是“無職”
關於筆者的詳細介紹
筆者Facebook

-EA自動交易