如何讀懂策略測試報告:Sharpe Ratio、Drawdown 完整解析

📌 本文重點
完整解析 MT5 策略測試報告的每個指標:獲利因子、Sharpe Ratio、最大回撤、期望值、回收比率,以及如何根據報告判斷策略的真實價值。

策略測試報告總覽

MT5 策略測試完成後,點選「報告」標籤可看到完整的績效報告。以下是各個指標的詳細解析。

核心獲利指標

指標 說明 計算方式 參考值
獲利因子(Profit Factor) 總獲利與總虧損的比值 總獲利 ÷ 總虧損 >1.5 良好,>2.0 優秀
期望值(Expected Payoff) 每筆交易的平均預期盈虧 總盈虧 ÷ 總交易數 必須為正值
回收比率(Recovery Factor) 獲利能力與風險的比值 總獲利 ÷ 最大回撤 >3 良好
Sharpe Ratio 風險調整後的報酬 平均報酬 ÷ 報酬標準差 >1.0 良好,>2.0 優秀

回撤指標詳解

回撤類型 說明 重要性
最大餘額回撤(Balance DD) 已實現虧損的最大連續下降 高 — 代表實際損失
最大淨值回撤(Equity DD) 包含浮動虧損的最大下降 最高 — 最真實的風險
相對回撤(Relative DD %) 以百分比表示的最大回撤 高 — 可跨帳戶比較

交易質量指標

// 在 OnTester() 中取得所有統計數據
void PrintAllStats()
{
    Print("=== 策略報告 ===");
    Print("總交易: ",     TesterStatistics(STAT_TRADES));
    Print("獲利交易: ",   TesterStatistics(STAT_WIN_TRADES));
    Print("虧損交易: ",   TesterStatistics(STAT_LOSS_TRADES));
    Print("勝率: ",       DoubleToString(TesterStatistics(STAT_WIN_TRADES)/
                           MathMax(TesterStatistics(STAT_TRADES),1)*100,1), "%");
    Print("獲利因子: ",   TesterStatistics(STAT_PROFIT_FACTOR));
    Print("期望值: $",    TesterStatistics(STAT_EXPECTED_PAYOFF));
    Print("Sharpe: ",     TesterStatistics(STAT_SHARPE_RATIO));
    Print("最大回撤: $",  TesterStatistics(STAT_BALANCE_DD));
    Print("相對回撤: ",   DoubleToString(TesterStatistics(STAT_BALANCE_DD_RELATIVE)*100,2), "%");
    Print("回收比率: ",   TesterStatistics(STAT_RECOVERY_FACTOR));
    Print("平均獲利: $",  TesterStatistics(STAT_GROSS_PROFIT)/
                           MathMax(TesterStatistics(STAT_WIN_TRADES),1));
    Print("平均虧損: $",  TesterStatistics(STAT_GROSS_LOSS)/
                           MathMax(TesterStatistics(STAT_LOSS_TRADES),1));
}

判斷策略好壞的實用清單

  • ☑ 交易次數 > 100 筆(樣本足夠)
  • ☑ 獲利因子 > 1.5
  • ☑ 最大淨值回撤 < 20%
  • ☑ Sharpe Ratio > 1.0
  • ☑ 連續最大虧損次數 < 8 次
  • ☑ Out-of-Sample 績效 ≥ In-Sample 的 50%
  • ☑ 在不同品種/時間框架有類似表現(策略具普遍性)

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

Similar Posts

發佈留言

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