策略偵錯器

From FxCodeBaseWiki
Jump to: navigation, search

策略偵錯器

策略偵錯器 (Strategy Debugger) 位於 SDK 根資料夾中,名稱為 luadbg1.exe。您可以使用在開始->所有程式->IndicoreSDK 中建立的「Strategy Debugger」捷徑。

您可以使用策略偵錯器來:

  • 逐步執行策略(對策略進行偵錯
  • 檢查策略效能
  • 對一段較長的歷史時期執行策略的回溯測試
  • 優化策略參數
  • 編譯策略

檔案位置

在預設設定中:

  • 價格資料位於 IndicoreSDK 資料夾的 data 子資料夾中。
  • 使用者策略位於 IndicoreSDK 資料夾的 strategies 子資料夾中。
  • 標準策略位於 IndicoreSDK 資料夾的 strategies\standard 資料夾中。

您可以在 Lua 編輯器 (Lua Editor) 設定中變更預設資料夾位置。

使用偵錯器

對策略進行偵錯

關於通用偵錯,請參閱 Lua 偵錯

關於具體的策略問題,請參閱對策略進行偵錯

檢查策略效能/回溯測試

效能

效能是策略快速處理許多資料的能力。對策略進行偵錯時無法估計實際效能,因為在偵錯模式下執行策略會額外花費很多時間,比在匯圖寶中實際執行相同的策略要慢得多。

可使用 Check Performance/Backtest(檢查效能/回溯測試)命令(Tools[工具]->Check Performance/Backtest[檢查效能/回溯測試])檢查策略效能。策略設定與對策略進行偵錯的設定相同。偵錯器執行策略的速度與匯圖寶一樣快,並會將統計資訊列印到偵錯器的 Output(輸出)頁面中。

棒線策略的建議效能:每秒不少於 20,000 根棒線。這樣的話,即使將策略應用於 1 分鐘資料,對 1 年範圍的資料執行策略測試也只需要 15 秒鐘。

價格點策略的建議效能:每秒不少於 50,000 個價格點。這樣的話,即使採用 1 分鐘資料進行市場模擬,對 1 年範圍的資料執行策略測試也只需要 60 秒鐘(一分鐘)。

另請參閱策略優化

回溯測試

在對選定的時期(例如 1 年)執行策略時,回溯測試會收集交易統計資訊。和效能測試一樣,偵錯模式對回溯測試來說速度過慢,因此,為了檢查一段較長時期內的效能,需要以類似匯圖寶的執行模式來執行回溯測試,這樣才不會像偵錯模式一樣花費額外的時間。

在回溯測試中,您看不到逐步執行過程,只能看到最終結果,但仍能看到統計資訊和圖表。

預設情況下,在您檢查策略效能時總會執行回溯測試。

如需詳細資訊,請參閱對策略進行回溯測試

參數優化器

參數優化器用於尋找對選定的時期執行策略時的最佳參數集。優化本質上是執行許多回溯測試並選擇產生最佳結果的參數。

可使用 Optimize(優化)命令(Tools[工具]->Optimize[優化])執行參數優化。

如需詳細資訊,請參閱優化策略參數

編譯策略

策略有兩種發佈形式:

  • 作為原始程式碼(僅 .lua,或者還可選擇 .rc 檔案)發佈。
  • 作為編譯的 (.bin) 檔案發佈。

如果將策略發佈為編譯的檔案,其他使用者將無法看到或變更其程式碼。編譯不會影響策略今後的效能,因為是使用完全相同的 LuaJIT (Just-In-Time) 編譯器來執行 Lua 程式碼。將程式碼編譯到虛擬機中比載入資料快得多,所以即使是在載入策略期間也不會產生影響。因此,進行編譯的唯一理由是隱藏原始程式碼,以保護商業創意或防止他人變更程式碼。

其他語言版本

Language: English  • español • français • русский • 中文 • 中文(繁體)‎