繁體中文
返回
清空
全部
行情
資訊
課堂
幫助
全部
港股
美股
滬深
新加坡
澳洲
日本
全部
新聞
公告
研究報告
暫無匹配內容
操作过于频繁,请稍后再试
請檢查網絡設置後重試 刷新
加載中
歷史記錄
    行情 查看更多
    資訊 查看更多
    課堂 查看更多
    幫助 查看更多
    加載中
    新聞 查看更多
    公告 查看更多
    研究報告 查看更多

    主動發現異常,讓策略更有效

    如何主動發現異常

    程式演算交易功能的接口在使用出現異常時,會指出 APIException 異常,此異常的 err_code 性質,會附有具體的錯誤碼訊息。我們爲各種錯誤場景設定了一系列錯誤碼。

    錯誤碼枚舉

    錯誤碼枚舉對應場景

    ExceedReqLimit

    請求過於頻密,觸發頻率限制

    ReqTimeout

    接口請求超時

    NoQuoteRight

    報價權限不足

    InvalidArgument

    無效參數(參數驗證失敗)

    ReqFailed

    接口請求失敗

    NoDataAvailable

    無數據(返回數據是 NA)

    EmptySymbol

    參數 symbol 爲空

    Unknow

    未知錯誤

    爲了令策略更加有效,您可以在策略的關鍵環節尋找錯誤碼,並執行自訂的處理邏輯。

    舉例:爲了增加提交訂單的可能性,使用自定的行動卡片,在發現提交訂單失敗時,反覆提交訂單直至成功。

    while True:
        try:
            place_limit(symbol=self.運行標的1, price=2, qty=100, side=OrderSide.BUY, time_in_force=TimeInForce.DAY)
            break  # 下單成功,跳出循環
        except APIException as ex:
            print('下單失敗,2 秒后重試')
            time.sleep(2)
          continue  # 下單失敗,重試

    所提供的圖片並非最新圖片,任何證券或輸入內容僅用於說明目的,並非推薦。

     

    卡片中主動發現異常,與運作時的異常設定有什麼關係

    卡片中使用自訂編碼的方式尋找異常,會比整體設定的異常更優先處理。我們可通過2個例子來了解它們的關係:

    例 1:無主動發現異常

    在下圖例子中,我們使用普通卡片,不使用自訂編碼的方式主動尋找異常錯誤碼。整體的異常設定爲“跳過本輪運作”。

    所提供的圖片並非最新圖片,任何證券或輸入內容僅用於說明目的,並非推薦。

    假設,當策略運作到“無重試的下單開倉”卡片時,提交訂單失敗。此時會按照整體的異常設訂,跳過本次運作。因此,後面的“完成標記”卡片就不會運作。直到下一個訊號觸發策略時,會再次運作“無重試的下單開倉”卡片。

    例 2:有主動發現異常

    在下圖例子中,我們使用自定編碼卡片,主動尋找異常錯誤碼後重新提交訂單直至成功。整體的異常仍設定爲“跳過本輪運作”。

    所提供的圖片並非最新圖片,任何證券或輸入內容僅用於說明目的,並非推薦。

    假設,當策略運作到“有異常重試的下單開倉”卡片時,第一次提交訂單失敗。

    按照圖中的代碼邏輯,發現到異常後,重複提交訂單直至成功。之後會運作下一張“完成標記”卡片。因此,在有異常的自訂編碼卡片中,異常在發生後,會先被卡片發現,不會再執行整體的異常設定了。

    本內容僅用作提供信息及教育之目的,不構成對任何特定証券或投資策略的推薦或認可。本內容中的信息僅用於説明目的,可能不適用於所有投資者。本內容未考慮任何特定人士的投資目標、財務狀況或需求,並不應被視作個人投資建議。建議您在做出任何投資於任何資本市場産品的決定之前,應考慮您的個人情況判斷信息的適當性。過去的投資表現不能保証未來的結果。投資涉及風險和損失本金的可能性。本平台對上述內容的真實性、完整性、準確性或對任何特定目的的時效性不做任何陳述或保証。

    熱門市場機會

    投資課程

    看財報揀好股