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

想在 MT5 做回測,卻因設定項目太多而不知所措嗎?
結論是:讓條件貼近實際交易,並以多個數字來看結果。
本文整理策略測試器的開啟方式、模型的差異、結果的判讀、注意點,以及到前進測試為止的步驟。
本文重點
- MT5 的回測使用策略測試器進行,讓條件貼近實際,並以數字來看結果。
- 結果要組合總損益、獲利因子、最大回撤、交易數與期望值來看。
- 請留意過度最佳化與點差設定,並先經過模擬帳戶的前進測試再進入實際運用。
結論:回測要統一條件,用數字來看
- 回測是以過去的資料測試手法或 EA 的驗證方法
- 策略測試器可從檢視選單或 Ctrl+R 開啟
- 模型是精準度與速度的取捨,因此要分階段區分使用
- 即使得到好的結果,也要先經過模擬帳戶的前進測試再使用
什麼是回測?目的與限制
回測是以過去的行情資料執行規則,確認績效的驗證。不必動用實際資金,就能調查手法或 EA 的特性。
- 可以確認規則是否如預期運作
- 可以用最大回撤等數字,掌握虧損的規模
- 可以在相同條件下,比較改變手數時的差異
- 在實際運用之前,可以排除明顯不合適的設定
不過,過去能獲利並不保證未來也能獲利。與其說回測是合格的證明,不如視為找出不合格之處的工具,會比較安全。
策略測試器的開啟方式與設定項目
在 MT5 中,從檢視選單選擇策略測試器(Strategy Tester),或按 Ctrl+R 即可開啟。開啟後,依序決定以下項目。驗證的核心是 EA(自動交易)。
| 項目 | 內容 | 決定方式的參考 |
|---|---|---|
| 專家(Expert) | 要驗證的 EA | 選擇想驗證的 EA |
| 交易品種(Symbol) | 要驗證的貨幣對等 | 配合實際交易的品種 |
| 時間框架 | 驗證所用的圖表週期 | 統一為 EA 所設想的週期 |
| 期間 | 要驗證的日期範圍 | 設為包含上漲、下跌、區間盤整的長度 |
| 模型 | 價格波動的重現方式 | 差異於下一節比較 |
| 初始存款 | 驗證開始時的資金 | 接近實際使用的金額(例:$1,000) |
| 槓桿 | 驗證所用的倍率 | 配合實際帳戶的設定 |
模型的差異:精準度與速度的比較

模型是決定要多細緻地重現過去價格波動的設定。越細緻越接近實際,但需要的時間也越長。
| 模型 | 精準度 | 速度 | 適合的用途 |
|---|---|---|---|
| 每個跳動(Every tick) | 高 | 慢 | 最終確認 |
| 1 分鐘 OHLC(1 minute OHLC) | 中等 | 中等 | 以數小時為單位的手法 |
| 僅開盤價(Open prices only) | 低 | 快 | 大致的確認 |
僅開盤價適合只在 K 線確定時才動作的 EA。短線頻繁買賣的 EA,若不用每個跳動,結果容易產生偏差。先用快速的模型篩選,只對有希望的再細緻驗證,就能節省時間。
結果的判讀:組合 5 個數字來看

測試結束後,會顯示總損益與交易數等結果。不要只憑一個數字判斷,而是把多個數字合起來看。
| 指標 | 意義 | 判讀的參考 |
|---|---|---|
| 總損益 | 所有交易損益的合計 | 即使為正,也要與其他數字合併判斷 |
| 獲利因子 | 總獲利÷總虧損 | 超過 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)也會影響損益。請確認結果是否已包含,若未包含,就自行扣除。
資料品質與成交的偏差
測試所用的價格資料,品質會因取得來源與期間而異。若包含有缺漏的期間,結果可能失真。實際交易中,還會加上滑價。
到前進測試為止的步驟

前進測試是指在模擬帳戶等環境中,讓實際時間往前推進並進行驗證。可以確認回測看不出來的成交偏差,以及運用環境的問題。一開始,請先寫下合格的標準。
- 1
回測
以接近實際的條件驗證過去。點差與資金,也要接近實際運用。
- 2
以其他期間確認
在沒有用於調整的期間查看績效。若在此崩壞,就要懷疑是過度最佳化。
- 3
在模擬帳戶運行
以實際時間確認成交的偏差。期間沒有固定規定,包含多種行情局面會比較安心。
- 4
以小額實際運用
從小手數開始。一邊記錄交易,一邊判斷是否符合標準。
現金回饋不會列入績效表
回測的績效表不包含現金回饋。若要納入回饋,需依交易量另外計算。回饋金額尚未確定,將於上線時刊登在各券商頁面。
- 與總損益分開,另列一行計算回饋的預估
- 不要因為回饋而選擇績效不佳的 EA
- 交易次數越多的手法,回饋的影響往往越大
- 無論有無回饋,都先確認損益是否為正
輸入勝率與平均損益,即可計算每次交易的期望值。請與回測的結果對照比較。
用期望值工具確認常見問題
Q.在回測中獲利的 EA,實際運用也能獲利嗎?
沒有保證。因過度配合過去資料的過度最佳化,或與實際不同的點差影響,實際運用時績效可能下降。請先經過其他期間的確認與模擬帳戶的前進測試。
Q.模型該選哪一個?
最終確認一般使用每個跳動。也有先用僅開盤價等快速的模型大致篩選,再只對有希望的細緻驗證的用法。僅開盤價適合只在 K 線確定時才動作的 EA。
Q.獲利因子要有多少才好?
沒有固定的標準。超過 1 表示獲利大於虧損,但交易數少時可能只是偶然。請連同最大回撤、期望值與成本一併判斷。
Q.前進測試該進行多久?
沒有固定的期間。為了涵蓋多種行情局面,許多人會進行數週到數個月左右。比起期間,更應重視是否符合事先決定的合格標準。
本文僅供資訊提供,並非投資建議。條件可能變更,最新資訊請至各券商的官方頁面確認。海外外匯與CFD交易有損失超過本金的風險。





