MT5 策略測試器完整教學:設定、優化與結果解讀

📌 本文重點
完整掌握 MT5 策略測試器:回測模式選擇、參數設定、優化方法(遺傳演算法)、報告指標解讀,以及避免常見回測陷阱的方法。

開啟策略測試器

在 MT5 中按 Ctrl+R 或點選「檢視」→「策略測試器」即可開啟。

回測模式說明

模式 速度 精確度 建議用途
每根K線開盤價 最快 最低 快速篩選策略
每根K線 基本驗證
每個即時報價(基於真實跳動點) 最慢 最高 最終驗證、掛單策略
⚠️ 重要:含止損、止盈或掛單的策略,必須使用「每個即時報價(基於真實跳動點)」才能獲得可靠的回測結果。

關鍵設定參數

  • 初始資金:建議與實盤資金相近,影響倉位計算
  • 槓桿:選擇你的經紀商提供的槓桿倍數
  • 優化:關閉時為單次回測;開啟時為參數優化
  • 歷史數據期間:至少需要 2–3 年數據,才有統計意義
  • 點差:建議使用「目前」或設定一個略高於實際的保守值

參數優化設定

在 EA 的 input 參數旁邊勾選「✓」即可加入優化。設定「起始值」、「終止值」、「步進」:

input int InpFastMA = 10;   // 起始:5, 終止:20, 步進:1
input int InpSlowMA = 30;   // 起始:20, 終止:50, 步進:5
input double InpRisk = 1.0; // 起始:0.5, 終止:3.0, 步進:0.5

優化標準建議選擇:自定義最大(需在 EA 中定義 OnTester())或 餘額最大(簡單但容易過度擬合)。

自定義優化指標

// 在 EA 中實作 OnTester() 回傳自定義評分
double OnTester()
{
    double profit      = TesterStatistics(STAT_PROFIT);
    double drawdown    = TesterStatistics(STAT_BALANCE_DD);
    double trades      = TesterStatistics(STAT_TRADES);
    double winRate     = TesterStatistics(STAT_WIN_TRADES) / MathMax(trades, 1);
    double profitFactor= TesterStatistics(STAT_PROFIT_FACTOR);

    // 過濾條件:交易數不足、勝率太低、利潤因子太低則評分為0
    if (trades < 30 || winRate < 0.4 || profitFactor < 1.2) return 0;

    // 自定義評分:利潤 / 最大回撤(越高越好)
    double score = (drawdown > 0) ? profit / drawdown : 0;
    return score;
}

解讀回測報告關鍵指標

指標 說明 參考標準
獲利因子(Profit Factor) 總獲利 / 總虧損 > 1.5 為良好
最大回撤(Max DD) 資金峰值到谷值的最大跌幅 < 20% 為可接受
Sharpe Ratio 風險調整後報酬 > 1.0 為良好
期望值(Expected Payoff) 每筆交易的平均獲利 必須為正值
交易次數 樣本數量 至少 100 筆以上
回收比率(Recovery Factor) 總獲利 / 最大回撤 > 3 為良好

避免過度擬合的方法

  • 優化後保留 30% 數據做 Out-of-Sample 測試(不參與優化)
  • 優化結果應在 Out-of-Sample 期間表現相近
  • 避免優化過多參數(>5個參數容易過度擬合)
  • 優先選擇「穩健區域」的參數,而非極值

本文由 James Lee 撰寫。內容僅供教育目的,不構成投資建議。

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *