無需編程也能開發獲利 EA
執行摘要
對於許多希望進入演算法交易(Algorithmic Trading)領域的交易者來說,編程能力往往是最大的門檻。本報告基於數據科學家轉型為量化交易員 Lisa 的實戰演示,詳細解析如何利用 Strategy Quant X (SQX) 軟體,通過「零代碼」的方式構建、測試並導出適用於 MetaTrader 4 的自動交易機器人(Expert Advisor 或 EA)。
本流程採用四階段工作流:由遺傳演算法生成策略、樣本外數據驗證、蒙地卡羅穩健性測試,最終導出代碼。此方法的核心優勢在於通過嚴格的過濾機制,將 6,000 個原始策略篩選至 8 個高穩健性策略,有效降低過度擬合(Overfitting)的風險。
1. 自動化工作流設計原理
為了避免開發出「回測完美但實盤虧損」的策略,我們將開發流程分為四個獨立但關聯的步驟。這種分段式設計允許開發者清晰地觀察每個階段的策略淘汰率。
核心四步驟
| 步驟 | 名稱 | 目的 |
|---|---|---|
| 1 | 策略構建 (Build) | 使用 2 年數據,利用遺傳演算法生成初步策略。 |
| 2 | 樣本外測試 (Out-of-Sample) | 使用隨後 8 年「未見過」的數據進行驗證,確保策略具備泛化能力。 |
| 3 | 穩健性測試 (Monte Carlo) | 通過隨機化策略參數,測試策略在參數微調下的表現。 |
| 4 | 導出 (Save to MT4) | 將通過所有測試的策略轉換為 MQ4 格式。 |
2. 專案設置與資料庫配置
在 Strategy Quant X 中,正確設置資料庫(Databanks)是自動化流程的關鍵。這能確保策略在通過一個階段的測試後,自動流入下一個階段。
2.1 創建自定義專案
在 Custom Projects 中創建新專案,並依序添加四個任務模組:
- Build Strategies(構建策略)
- Retest Strategies(用於樣本外測試)
- Retest Strategies(用於蒙地卡羅測試)
- Save Strategies(保存結果)
2.2 資料庫串接 (Databank Chaining)
為構建篩選漏斗,需設置三個獨立的資料庫:Build、Out of Sample、Monte Carlo。
- 任務 1 的輸出指向 Build 資料庫。
- 任務 2 從 Build 讀取,輸出至 Out of Sample。
- 任務 3 從 Out of Sample 讀取,輸出至 Monte Carlo。
- 任務 4 從 Monte Carlo 讀取,並導出為 MetaTrader 4 格式。
3. 詳細參數設置指南
以下以 GBPJPY(英鎊/日圓)H4(4小時圖)為例,展示各階段的關鍵參數。
步驟 1:策略構建 (Build)
- 構建模式:選擇 Genetic Evolution(遺傳演算法)。
- 遺傳選項:
- Migrate every X generation(每 X 代遷移):設為 20。
- Population migration size(族群遷移規模):設為 10%。
- 關閉首代 Profit Factor 過濾器,給予演算法更多進化空間。
- 數據與成本:
- 數據範圍:2015 年至 2017 年(僅 2 年)。
- 點差與滑點:點差設為 0.7 pips,滑點設為 1.4 pips。
- 交易成本:開啟佣金與隔夜利息(Swaps),設為每手 $7。
- 排名過濾器:
- Trades per month(每月交易次數):> 2。
- Profit Factor(獲利因子):> 1.3。
步驟 2:樣本外測試 (Out-of-Sample)
此階段驗證策略在未知市場環境下的表現。
- 數據範圍:2017 年至今(約 8 年),即將大部分數據用於驗證。
- 數據精度:使用 1 Minute Tick Data(1分鐘 Tick 數據)以獲得最高精確度。
- 關鍵操作:任何未通過此階段過濾標準的策略將被直接刪除,不進入下一階段。
步驟 3:蒙地卡羅模擬 (Monte Carlo)
此階段測試策略是否因為參數過度優化而脆弱。
- 測試方法:開啟 Randomize strategy parameters(隨機化策略參數)。
- 參數設置:
- 變動機率:20% - 30%。
- 模擬次數:300 次。
- 目的:確保策略在參數發生微小變化時,績效曲線(Equity Curve)仍能保持向上,證明策略邏輯的穩健性。
4. 實測結果分析
經過完整的自動化流程後,數據呈現出顯著的篩選效果,形成了一個標準的「策略漏斗」:
| 階段 | 策略數量 | 通過率 | 說明 |
|---|---|---|---|
| 生成總數 | 6,000 | - | 原始生成的策略總量。 |
| 通過構建 (Build) | ~1,000 | 16.6% | 符合初步獲利因子的策略。 |
| 通過樣本外 (OOS) | 90 | 9.0% | 能在後續 8 年未見數據中獲利的策略。 |
| 通過蒙地卡羅 (Monte Carlo) | 8 | 0.8% | 最終具備高穩健性的策略。 |
案例分析:策略 #47109
在最終通過的 8 個策略中,表現最佳的策略(ID: 47109)顯示出以下特徵:
- 淨利:$6,567。
- 最大回撤 (Drawdown):$700。
- 交易風格:趨勢跟蹤(Trend Following)。勝率較低,但平均獲利($103)遠高於平均虧損($44)。
- 邏輯組成:結合了 SMA、Heiken Ashi、Awesome Oscillator 與 Gann High Low 指標。
5. 結論與建議
本流程證明了無需編寫代碼,僅透過 Strategy Quant X 的流程化設置,即可產出具備實戰潛力的交易策略。
關鍵成功因素
- 嚴格的樣本外測試:將 80% 的數據用於驗證,僅用 20% 進行訓練,極大程度避免了過度擬合。
- 分段式資料庫管理:讓開發者能清楚看見每個測試環節的淘汰率,從而微調過濾標準。
- 納入真實交易成本:測試中包含點差、滑點與隔夜利息(Commissions and Swaps),確保回測結果貼近真實市場環境。
下一步行動
建議將導出的 MQ4 檔案加載至模擬帳戶(如 IC Markets Demo),並連接 FX Blue 等第三方分析工具進行實盤前瞻測試(Forward Testing),在投入真實資金前進行最後驗證。
延伸學習資源 (External Link)
原始 YouTube 影片連結: https://www.youtube.com/watch?v=nimoZZLEAI4&list=PL6PE9dTguzLVKswnRuHoEJqVYGLLAtK7z&index=16