策略 intermediate 9 分鐘閱讀

EA 參數最佳化——如何調整而不過度配適

MT5 策略測試器 EA 參數最佳化的實用指南,涵蓋前推分析、避免曲線配適、穩定性測試,以及何時停止最佳化並開始實際交易的判斷標準。

發佈於 · 審閱於

EA 最佳化是尋找能改善策略歷史表現之參數值的過程。方法正確時,它能提煉出真實的交易優勢。方法錯誤時,它會產生在歷史資料上表現出色、卻在實盤交易中立即失敗的參數。兩者的關鍵差異在於是否有前推分析的紀律。

最佳化的核心問題

最佳化是在參數空間中搜尋,找出在歷史資料集上使所選指標(總報酬、夏普比率(Sharpe)、獲利因子)最大化的參數組合。問題在於:若參數組合足夠多,您總能在任何歷史資料上找到看起來非凡的設定——包括純粹的隨機雜訊。

這就是曲線配適(又稱過度配適)。曲線配適的 EA 記住了回測期間特定的價格走勢,而非發現了真實的市場優勢。它在前推測試中將表現不佳或完全失效。

前推分析的解決方案

曲線配適的解藥是樣本外測試。將一部分歷史資料——通常是最近的 20–30%——保留為「驗證集」,絕不納入最佳化範圍。然後:

  1. 在較早的樣本內資料(例如 2020–2024 年)上最佳化參數
  2. 在樣本外資料(例如僅 2025 年)上測試最佳參數,不做任何進一步調整
  3. 若效能在樣本外期間依然維持,則這些參數具備一定的真實預測價值

MT5 的策略測試器內建「前推最佳化」模式,可在滾動視窗上自動化執行此流程。

穩定性測試——實用的捷徑

若前推最佳化看起來複雜,一個更簡單的過度最佳化訊號是參數敏感度。找出最佳參數後,測試其變化值:若預設的 ATR 乘數為 2.0,也測試 1.8 和 2.2。

  • 穩定的參數:1.8 和 2.2 的效能與 2.0 相近。結果對此參數不高度敏感——優勢是真實的。
  • 曲線配適的參數:效能在 1.9 或 2.1 時急劇下降。2.0 這個值是專門針對歷史資料最佳化出來的;稍微變動就會使結果崩潰。

即使某個最佳參數的絕對峰值效能略低於更敏感的最優值,也應優先選擇位於效能平坦區域的參數。

應最佳化什麼(以及不應最佳化什麼)

應最佳化

  • 停損乘數(基於 ATR 的停損具有自然的參數範圍)
  • 趨勢過濾器的門檻值(ADX 水平、EMA 週期)
  • 交易時段過濾器(日內進場時間窗口)

不應最佳化

  • 每筆交易的風險百分比——這是部位管理決策,而非優勢參數
  • 以最大化回測利潤為設定目標的出場點——未來的市場並非過去市場的鏡像

何時停止最佳化

一個實用的停止規則:一旦您在樣本外期間的夏普比率(Sharpe)超過 1.5,且前推效率(樣本外利潤 / 樣本內利潤)高於 0.5,就停止最佳化。在此時點進行進一步的精調,只會在增加曲線配適風險的同時,無法帶來相應的優勢提升。

正式上線前的最後確認:在模擬帳戶上執行最佳化後的 EA 一個月,並將交易結果逐筆與回測對比。若模擬效能在回測夏普比率的 20% 以內,則這些參數可行。若模擬效能嚴重低於預期,請重新審視回測設定中的成交模型假設(點差、滑價)。