繁體中文
返回

如何排查策略的問題

1. 使用檢查策略功能

創建策略的過程中,點擊畫布右上角的"檢查策略"按鈕,系統會實時檢查策略中,參數配置是否缺失、卡片是否適用於當前策略類型等問題。

點擊檢查訊息中的文案,系統會定位到出現異常的卡片,幫助您修復異常。

 

2. 使用歷史回測功能

歷史回測幫助檢驗策略的有效性。在實盤運行前,建議您將策略進行多次歷史回測,來檢驗策略配置是否正常,查看策略執行的結果是否符合您的預期。

另外,富途支持包括港股、美股、A股通、期貨等多個市場多個品種的交易。但是每個市場的交易能力又略有不同。例如 A 股通市場不支援市價單,期貨市場不支援止損市價單、觸及市價單。這些不支援的交易能力,也是可以在回測中發現的。

 

3. 使用運行日誌排查問題

3.1 日誌介紹

歷史回測和實盤運行,都有運行日誌可以查看。日誌中包括:事件卡片執行的詳細信息、下單後的訂單狀態和成交狀態、各種異常的報錯文案等。

每條日誌包含 3 個部分:

● 時間:北京時間

● 屬性:分 3 類

  ○ info:正常運行時的信息記錄。例如:事件卡片的執行結果、訂單狀態變更、成交狀態變更、行情權限變化等;

  ○ warning:不會阻斷整個策略運行的異常提醒。例如:下單失敗、訂單失效等;

  ○ error:會阻斷策略運行的異常報錯。例如:全局變量賦值異常導致策略初始化失敗、行情訂閱異常導致策略初始化失敗、交易解鎖有效期不足等。

● 詳細內容:

  ○ 標題:若日誌內容與某個卡片相關,標題的格式為"卡片名-卡片類型",方便與畫布中的卡片一一對應;

  ○ 正文:詳細信息。

3.2 查核方法

1)檢查日誌中是否有error/warning類的信息。如果有,則按照日誌中的提示調整策略,避免該錯誤再次發生。

2)如果希望檢查條件卡片的判斷結果是否正確,可以運用賦值運算卡片,來打印條件變量的值(詳見 3.2.1)。或者運用消息提醒卡片,打印自定義的信息(詳見 3.2.2)。

3.2.1 巧用賦值運算卡片

目前事件卡片的執行結果支援打印日誌,那麽如何排查條件卡片中的問題呢?其實我們只需要把條件變量的值打印出來即可。

例如:

比較兩個 MA 的大小時,通常我們會按下圖配置條件卡片。

但是在回測中發現當 MA(5) < MA(10) 的時候,程序並沒有執行後面的操作。這時,我們可以新建兩個全局變量,運用賦值運算卡片,將 MA(5) 和 MA(10) 賦值給全局變量,就可以在運行過程中,通過日誌來查看 MA(5) 和 MA(10)的具體數值是多少了。

3.2.2 增加消息提醒卡片

在關鍵處,運用消息提醒卡片,可以在日誌中打印自定義的提醒內容。

例如:在雙均線策略中,你想知道,究竟是哪個條件沒有滿足,導致最終沒有執行下單操作。此時可以在每個條件後面增加一個消息提醒卡片,幫助我們從日誌中得到答案。

 

4. 求助項目團隊協助

如果在進行了上述所有操作後,還是不能解決問題,您可以加入富途量化官方交流群QQ群:972441253,求助富途量化項目團隊協助您排解問題。