跳至主要内容

訂單

訂閱訂單數據推送

All-In-One Topic: order
Categorised Topic: order.spot, order.linear, order.inverse, order.option

信息
  • All-In-One topic 和 Categorised topic 不能放在同一個訂閱請求裡
  • All-In-One topic: 允許您監聽所有業務線的websocket更新(現貨, 正向合約, 反向合約, 期權)
  • Categorised Topic: 您只能監聽您指定的那個業務的websocket更新

響應參數

參數類型說明
idstring消息id
topicstringTopic名
creationTimenumber消息數據創建時間
dataarrayObject
> categorystring產品類型
  • 統一帳戶: spot, linear, inverse, option
  • 經典帳戶: spot, linear, inverse.
> orderIdstring訂單ID
> orderLinkIdstring用戶自定義ID
> isLeveragestring是否借貸. 僅統一帳戶spot有效
  • 0: 否
  • 1: 是
  • 經典帳戶現貨交易總是0
    > blockTradeIdstring大宗交易訂單Id
    > symbolstring合約名稱
    > pricestring訂單價格
    > qtystring訂單數量
    > sidestring方向. Buy,Sell
    > positionIdxinteger倉位標識。用戶不同倉位模式
    > orderStatusstring訂單狀態
    > createTypestring訂單創建類型
  • 僅作用於category=linear 或 inverse
  • 現貨、期權不返回該字段
  • > cancelTypestring訂單被取消類型
    經典帳戶現貨交易不支持
    > rejectReasonstring拒絕原因
    經典帳戶現貨交易不支持
    > avgPricestring訂單平均成交價格
  • 不存在avg price場景的訂單返回"", 以及經典帳戶下部分成交但最終被手動取消的訂單
  • 經典帳戶現貨交易: 該字段不支持, 總是""
  • > leavesQtystring訂單剩餘未成交的數量, 經典帳戶現貨交易不支持
    > leavesValuestring訂單剩餘未成交的價值, 經典帳戶現貨交易不支持
    > leavesValuestring訂單剩餘未成交的價值, 經典帳戶現貨交易不支持
    > cumExecQtystring訂單累計成交數量
    > cumExecValuestring訂單累計成交價值
    > cumExecFeestring訂單累計成交的手續費
    • 經典帳戶spot: 表示的是最近一次成交的手續費.
    • 升級到統一帳戶後, 您可以使用成交頻道中的execFee字段來獲取每次成交的手續費
    > closedPnlstring平倉單盈虧, 部分平倉時, 減去了平攤的開倉手續費和期間產生的資金費以及平倉手續費. 該數據和查詢平倉盈虧接口裡的"closedPnl"保持一致
    > feeCurrencystring現貨交易的手續費幣種. 可以從這裡了解現貨交易的手續費幣種規則
    > timeInForcestring執行策略
    > orderTypestring訂單類型. Market,Limit. 對於止盈止損單, 則表示為觸發後的訂單類型
    > stopOrderTypestring條件單類型
    > ocoTriggerBystring現貨OCO訂單的觸發類型.OcoTriggerByUnknown, OcoTriggerByTp, OcoTriggerBySl
    經典帳戶現貨不支持該字段
    > orderIvstring隱含波動率
    > marketUnitstring統一帳戶現貨交易時給入參qty選擇的單位. baseCoin, quoteCoin
    > triggerPricestring觸發價格. 若stopOrderType=TrailingStop, 則這是激活價格. 否則, 它是觸發價格
    > takeProfitstring止盈價格
    > stopLossstring止損價格
    > tpslModestring止盈止損模式 Full: 全部倉位止盈止損, Partial: 部分倉位止盈止損
    現貨不返回該字段, 期權總是返回""
    > tpLimitPricestring觸發止盈後轉換為限價單的價格
    > slLimitPricestring觸發止損後轉換為限價單的價格
    > tpTriggerBystring觸發止盈的價格類型
    > slTriggerBystring觸發止損的價格類型
    > triggerDirectioninteger觸發方向. 1: 上漲, 2: 下跌
    > triggerBystring觸發價格的觸發類型
    > lastPriceOnCreatedstring下單時的市場價格
    > reduceOnlyboolean只減倉. true表明這是只減倉單
    > closeOnTriggerboolean觸發後平倉委託. 什麼是觸發後平倉委託?
    > placeTypestring期權下單方式. iv, price
    > smpTypestringSMP執行類型
    > smpGroupinteger所屬Smp組ID. 如果uid不屬於任何組, 則默認為0
    > smpOrderIdstring觸發此SMP執行的交易對手的 orderID
    > createdTimestring創建訂單的時間戳 (毫秒)
    > updatedTimestring訂單更新的時間戳 (毫秒)

    訂閱示例

    {
    "op": "subscribe",
    "args": [
    "order"
    ]
    }
    from pybit.unified_trading import WebSocket
    from time import sleep
    ws = WebSocket(
    testnet=True,
    channel_type="private",
    api_key="XXXXX",
    api_secret="XXXXX",
    )
    def handle_message(message):
    print(message)
    ws.order_stream(callback=handle_message)
    while True:
    sleep(1)

    推送示例

    {
    "id": "5923240c6880ab-c59f-420b-9adb-3639adc9dd90",
    "topic": "order",
    "creationTime": 1672364262474,
    "data": [
    {
    "symbol": "ETH-30DEC22-1400-C",
    "orderId": "5cf98598-39a7-459e-97bf-76ca765ee020",
    "side": "Sell",
    "orderType": "Market",
    "cancelType": "UNKNOWN",
    "price": "72.5",
    "qty": "1",
    "orderIv": "",
    "timeInForce": "IOC",
    "orderStatus": "Filled",
    "orderLinkId": "",
    "lastPriceOnCreated": "",
    "reduceOnly": false,
    "leavesQty": "",
    "leavesValue": "",
    "cumExecQty": "1",
    "cumExecValue": "75",
    "closedPnl": "0",
    "avgPrice": "75",
    "blockTradeId": "",
    "positionIdx": 0,
    "cumExecFee": "0.358635",
    "createdTime": "1672364262444",
    "updatedTime": "1672364262457",
    "rejectReason": "EC_NoError",
    "stopOrderType": "",
    "tpslMode": "",
    "triggerPrice": "",
    "takeProfit": "",
    "stopLoss": "",
    "tpTriggerBy": "",
    "slTriggerBy": "",
    "tpLimitPrice": "",
    "slLimitPrice": "",
    "triggerDirection": 0,
    "triggerBy": "",
    "closeOnTrigger": false,
    "category": "option",
    "placeType": "price",
    "smpType": "None",
    "smpGroup": 0,
    "smpOrderId": "",
    "feeCurrency": ""
    }
    ]
    }