基礎知識閱讀時間 8 分鐘

MT5 回測方法|策略測試器(Strategy Tester)的使用與判讀

想在 MT5 做回測,卻因設定項目太多而不知所措嗎?

結論是:讓條件貼近實際交易,並以多個數字來看結果。

本文整理策略測試器的開啟方式、模型的差異、結果的判讀、注意點,以及到前進測試為止的步驟。

本文重點

  • MT5 的回測使用策略測試器進行,讓條件貼近實際,並以數字來看結果。
  • 結果要組合總損益、獲利因子、最大回撤、交易數與期望值來看。
  • 請留意過度最佳化與點差設定,並先經過模擬帳戶的前進測試再進入實際運用。

結論:回測要統一條件,用數字來看

  • 回測是以過去的資料測試手法或 EA 的驗證方法
  • 策略測試器可從檢視選單或 Ctrl+R 開啟
  • 模型是精準度與速度的取捨,因此要分階段區分使用
  • 即使得到好的結果,也要先經過模擬帳戶的前進測試再使用

什麼是回測?目的與限制

回測是以過去的行情資料執行規則,確認績效的驗證。不必動用實際資金,就能調查手法或 EA 的特性。

  • 可以確認規則是否如預期運作
  • 可以用最大回撤等數字,掌握虧損的規模
  • 可以在相同條件下,比較改變手數時的差異
  • 在實際運用之前,可以排除明顯不合適的設定

不過,過去能獲利並不保證未來也能獲利。與其說回測是合格的證明,不如視為找出不合格之處的工具,會比較安全。

策略測試器的開啟方式與設定項目

在 MT5 中,從檢視選單選擇策略測試器(Strategy Tester),或按 Ctrl+R 即可開啟。開啟後,依序決定以下項目。驗證的核心是 EA(自動交易)。

為 MT5 繁體中文版的標準標示。畫面的排列可能因版本而異。
項目內容決定方式的參考
專家(Expert)要驗證的 EA選擇想驗證的 EA
交易品種(Symbol)要驗證的貨幣對等配合實際交易的品種
時間框架驗證所用的圖表週期統一為 EA 所設想的週期
期間要驗證的日期範圍設為包含上漲、下跌、區間盤整的長度
模型價格波動的重現方式差異於下一節比較
初始存款驗證開始時的資金接近實際使用的金額(例:$1,000)
槓桿驗證所用的倍率配合實際帳戶的設定
初始存款請接近實際預定投入的金額。資金太大的話,就不容易看出相對於手數的損失有多重。

模型的差異:精準度與速度的比較

要選精準度,還是速度

模型是決定要多細緻地重現過去價格波動的設定。越細緻越接近實際,但需要的時間也越長。

為一般傾向。實際的重現程度,會因資料品質與所用 EA 的設計而改變。
模型精準度速度適合的用途
每個跳動(Every tick)高慢最終確認
1 分鐘 OHLC(1 minute OHLC)中等中等以數小時為單位的手法
僅開盤價(Open prices only)低快大致的確認

僅開盤價適合只在 K 線確定時才動作的 EA。短線頻繁買賣的 EA,若不用每個跳動,結果容易產生偏差。先用快速的模型篩選,只對有希望的再細緻驗證,就能節省時間。

結果的判讀:組合 5 個數字來看

即使勝率 40%,績效也能為正

測試結束後,會顯示總損益與交易數等結果。不要只憑一個數字判斷,而是把多個數字合起來看。

指標意義判讀的參考
總損益所有交易損益的合計即使為正,也要與其他數字合併判斷
獲利因子總獲利÷總虧損超過 1,表示獲利大於虧損
最大回撤資產的最大下跌幅度確認是否為自己能承受的金額
交易數驗證期間的買賣次數過少時,偶然結果的可能性很高
期望值每次交易的平均損益確認扣除成本後是否仍為正

假設得到如下的結果。數字全部都是計算範例。

  • 交易數為 100 次,贏 40 次、輸 60 次(勝率 40%)
  • 總獲利為 3,000 USD(每次獲勝的平均為 75 USD)
  • 總虧損為 2,400 USD(每次虧損的平均為 40 USD)
  • 總損益為 3,000 − 2,400 = +600 USD
  • 獲利因子為 3,000 ÷ 2,400 = 1.25
  • 期望值為 600 ÷ 100 = 每次 +6 USD

即使勝率為 40%,只要獲勝的金額大,也會成為正值。好壞無法單憑勝率決定。最大回撤務必確認是否為自己能承受的金額。

回測容易失敗的 4 個注意點

過度最佳化(曲線擬合)

把設定值配合過去資料細緻調整,會變成只適合該期間的設定。這稱為過度最佳化,在未來的行情中績效容易崩壞。對策是在沒有用於調整的期間,也確認結果。

點差的設定與實際不同

測試器的點差若比實際窄,績效就會比實際好。確認平常與擴大時的幅度,並以稍寬的設定測試,會是偏安全的估計。點差因券商而異,請至官方頁面確認。

忽略手續費與隔夜利息

依帳戶類型,有時會收取交易手續費。對於持倉過夜的 EA,隔夜利息(Swap)也會影響損益。請確認結果是否已包含,若未包含,就自行扣除。

資料品質與成交的偏差

測試所用的價格資料,品質會因取得來源與期間而異。若包含有缺漏的期間,結果可能失真。實際交易中,還會加上滑價。

不論哪個注意點,都容易讓績效看起來比實際更好。猶豫時,請以不利一側的條件測試。

到前進測試為止的步驟

正式運用前,分 4 階段確認

前進測試是指在模擬帳戶等環境中,讓實際時間往前推進並進行驗證。可以確認回測看不出來的成交偏差,以及運用環境的問題。一開始,請先寫下合格的標準。

  1. 1

    回測

    以接近實際的條件驗證過去。點差與資金,也要接近實際運用。

  2. 2

    以其他期間確認

    在沒有用於調整的期間查看績效。若在此崩壞,就要懷疑是過度最佳化。

  3. 3

    在模擬帳戶運行

    以實際時間確認成交的偏差。期間沒有固定規定,包含多種行情局面會比較安心。

  4. 4

    以小額實際運用

    從小手數開始。一邊記錄交易,一邊判斷是否符合標準。

現金回饋不會列入績效表

回測的績效表不包含現金回饋。若要納入回饋,需依交易量另外計算。回饋金額尚未確定,將於上線時刊登在各券商頁面。

  • 與總損益分開,另列一行計算回饋的預估
  • 不要因為回饋而選擇績效不佳的 EA
  • 交易次數越多的手法,回饋的影響往往越大
  • 無論有無回饋,都先確認損益是否為正
本文為一般性說明,並非推薦特定的券商或 EA。交易條件請務必至各券商的官方頁面確認。

輸入勝率與平均損益,即可計算每次交易的期望值。請與回測的結果對照比較。

用期望值工具確認

常見問題

Q.在回測中獲利的 EA,實際運用也能獲利嗎?

沒有保證。因過度配合過去資料的過度最佳化,或與實際不同的點差影響,實際運用時績效可能下降。請先經過其他期間的確認與模擬帳戶的前進測試。

Q.模型該選哪一個?

最終確認一般使用每個跳動。也有先用僅開盤價等快速的模型大致篩選,再只對有希望的細緻驗證的用法。僅開盤價適合只在 K 線確定時才動作的 EA。

Q.獲利因子要有多少才好?

沒有固定的標準。超過 1 表示獲利大於虧損,但交易數少時可能只是偶然。請連同最大回撤、期望值與成本一併判斷。

Q.前進測試該進行多久?

沒有固定的期間。為了涵蓋多種行情局面,許多人會進行數週到數個月左右。比起期間,更應重視是否符合事先決定的合格標準。

本文僅供資訊提供,並非投資建議。條件可能變更,最新資訊請至各券商的官方頁面確認。海外外匯與CFD交易有損失超過本金的風險。

相關專欄

更正通知與提問請透過 LINE

受理管道僅限LINE 官方帳號。不接受電子郵件。

透過 LINE 聯絡我們
LINE 聯絡我們