回測的陷阱 — 唯有實機驗證才能發現的事
最後更新:2026-05-20 | 預計閱讀時間:15 分鐘
即使回測顯示資產曲線持續向右上方延伸,也不代表未來的獲利有所保證。回測存在若干「陷阱」,會讓績效看起來比現實更好。本文解析這些陷阱的本質,以及如何透過實機驗證的思維來避免落入陷阱。
回測「過好」為何危險
回測是對歷史價格走勢的模擬。由於歷史資料只有一種走法,只要對其進行擬合,就能製造出任意好看的績效,這就是過度最佳化(曲線擬合)。
此外,若回測設定比現實寬鬆,績效也會比實際更好看。例如設定過窄的固定點差,或假設成交必定以理想價格執行——這些「與現實的落差」累積下來,就會導致回測與實際交易之間出現巨大差距。
模型品質與 Tick 資料
MT5 策略測試器的計算精度(模型品質)會因設定而異。若使用成本較低的開盤價計算方式,一根 K 線內的價格走動會被忽略,SL 和 TP 是否被觸及的判定也會不準確。
最精確的模式是「所有 Tick(基於最小可用時間框架的最精確方法)」或「基於實際 Tick 的所有 Tick」。前者通常顯示精度約為 99.9%。對於點差窄小的剝頭皮策略,Tick 精度的影響尤為顯著。
| 計算模式 | 精度 | 用途 |
|---|---|---|
| 僅開盤價 | 低 | 僅供大略確認趨勢 |
| 1 分鐘 OHLC | 中等 | 簡易確認 |
| 所有 Tick | 約 99.9% | 公開前正式驗證必備 |
| 實際 Tick | 最高 | 以券商實際資料進行精密驗證 |
容易被忽略的 4 大成本
這些因素在回測中看起來微不足道,但在實際交易中卻會侵蝕獲利。
點差的變動
回測常使用固定點差,但實際點差會隨時段變動,在經濟數據公布時可能擴大至平時的 5~10 倍。若固定值設定過窄,會低估實際交易成本。
滑點
理想價格與實際成交價格之間的差距。回測中幾乎被忽略,但在市場急速波動時或剝頭皮交易中,可能成為不可忽視的虧損來源。
隔夜利息(Swap)
持倉過夜時產生的利息成本。對於長期持倉型 EA,累積的隔夜利息可能左右損益。需確認回測中的隔夜利息設定是否與實際相符。
成交拒絕與重新報價
實際交易中,有時訂單無法成交或需要重新報價。回測中預設訂單必然成交,這類摩擦無法被重現。
回測陷阱檢查清單
檢視回測結果時,請確認以下幾點。符合的項目越多,應越謹慎看待這些數字。
| 確認項目 | 陷阱內容 |
|---|---|
| 模型品質低於 99.9% | K 線內部走動被忽略,SL/TP 判定不準確 |
| 點差固定且過窄 | 低估實際交易成本 |
| 期間過短(不足 3 年) | 僅涵蓋特定市場環境,結果有偏差 |
| PF 超過 3.0、資產曲線過於平滑 | 強烈懷疑過度最佳化 |
| 以最佳化的期間作為評估依據 | 將對過去的擬合誤認為真實實力 |
| 僅一個貨幣對、一個期間 | 可能只是偶然成功 |
以實機與多期間進行驗證
避免回測陷阱的最佳方法,是「在多個獨立條件下反覆驗證」。一次的好成績可能只是偶然,但若在不同期間、不同條件下均能穩定獲利,則可期待其具備真實優勢。
分割多個期間分別測試
將 10 年資料分成 3~4 個期間,分別確認是否各自獲利。若只有一個期間表現突出、支撐整體成績,需特別注意。
以走前分析偵測過度最佳化
確認在最佳化未使用的期間(OOS)績效是否不會崩潰。這是偵測過度最佳化最可靠的方法。
以前向測試暴露於真實市場
在模擬帳戶至少運行 3 個月,在實際點差與滑點的環境下,確認能否維持回測的 70~130% 左右的績效。