取消委託單
important
- 提供
OrderID (37)或ClOrdID (11)其中之一來識別委託單。若兩者均提供,以OrderID為準。 - 僅可取消未成交或部分成交的委託單。
- 對於現貨交易,請使用
OrderFilter (30024)區分普通委託、止盈止損委託與條件委託。 - 最終
OrdStatus取決於取消時的成交狀態:若無任何成交則為4(Canceled);若有部分成交則為F(PartiallyFilledCanceled)。
訊息類型
OrderCancelRequest — MsgType F
請求欄位
| Tag | 欄位 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| 30010 | Category | Y | String | 產品類型,目前僅支援 spot |
| 55 | Symbol | Y | String | 交易對名稱,例如 BTCUSDT |
| 37 | OrderID | N | String | 伺服器委託單 ID,OrderID 或 ClOrdID 至少填一個 |
| 11 | ClOrdID | N | String | 用戶端委託單 ID,OrderID 或 ClOrdID 至少填一個 |
| 30024 | OrderFilter | N | String | 僅限現貨。Order(預設);tpslOrder;StopOrder |
回應
伺服器回應 OrderCancelAck (XCA):
| Tag | 欄位 | 必填 | 說明 |
|---|---|---|---|
| 37 | OrderID | N | 伺服器委託單 ID。拒絕時不返回 |
| 11 | ClOrdID | N | 若請求帶了 ClOrdID,響應原樣回傳;若請求未帶,則回帶原始訂單的 orderLinkId。拒絕時不返回,需依發送順序關聯 |
| 150 | ExecType | N | 受理成功時為 6(PendingCancel)。拒絕時不返回 —— 收到 XCA 但缺少 150/39、且帶有 103/58,即代表本次撤單被拒 |
| 39 | OrdStatus | N | 受理成功時為 6(PendingCancel)。拒絕時不返回 |
| 103 | OrdRejReason | N | Bybit 內部錯誤碼(例如 170213)。僅在拒絕時存在 |
| 58 | Text | N | 可讀的拒絕說明。僅在拒絕時存在 |
信息
OrderCancelAck 僅為受理確認(ExecType=6 PendingCancel),僅包含最小狀態欄位。最終取消狀態(ExecType=4 Canceled 或 F PartiallyFilledCanceled)由後續 ExecutionReport (35=8) 推送給出,攜帶完整訂單欄位及 30040 CancelType;該推送僅在 ResponseMode=1(Everything)模式下發送。
請求範例
8=FIX.4.4|9=105|35=F|49=FIX_CLIENT|56=BYBIT_FIX_SERVER|34=4|52=20240101-08:02:00.000|
30002=1704096120000|30001=5000|
30010=spot|55=BTCUSDT|37=1234567890123456|10=xxx|
注意:| 在實際傳輸格式中代表 SOH(0x01)字元。
取消中(PendingCancel) Ack(ExecType=6)
OnlyAcks模式下這是唯一的回應。Everything模式下這條先到,隨後會推送ExecutionReport(ExecType=4Canceled 或FPartiallyFilledCanceled)確認最終狀態。- 速率限制標頭(
30005TraceId、30007BapiLimit、30008BapiLimitStatus、30009BapiLimitResetTimestamp)僅出現在這條 ack 上,後續狀態推播不再攜帶。 - 若請求攜帶
30006 ReqId,此 ack 會原樣回帶;後續狀態推送則不會攜帶30006。
8=FIX.4.4|9=265|35=XCA|34=2|49=BYBIT_FIX_SERVER|52=20260824-10:13:20.321|56=FIX_CLIENT|
30005=56fc3d7313c3739e7ca1f36ddda54c65|30006=f15d0d96-a643-4b13-9186-1a9f3138752a|30007=20|30008=19|30009=1787566400320|
11=b52e9783-1a34-4264-aae3-bd5e6ca3f522|37=2288666911934089984|150=6|39=6|10=108|
取消失敗回應範例 ACK(已拒絕)
拒絕時 XCA 不返回 150/39/37/11,客戶端需依發送順序關聯本次撤單請求,並透過 103 內部錯誤碼與 58 錯誤描述判斷失敗原因。
8=FIX.4.4|9=184|35=XCA|34=2|49=BYBIT_FIX_SERVER|52=20260820-06:28:36.328|56=FIX_CLIENT|
30005=2119c192fd5916fa6d5f065567a73293|30007=20|30008=19|30009=1787207316327|
58=Order does not exist.|103=170213|10=121|
已取消終態推送範例(ExecType=4)
Everything 模式下,PendingCancel Ack 之後由 ExecutionReport (35=8) 推送最終狀態,攜帶完整訂單欄位及 30040 CancelType 說明取消原因(如 CancelByUser);OrdRejReason (103) 承載內部原因碼(如 EC_PerCancelRequest)。
8=FIX.4.4|9=402|35=8|34=3|49=BYBIT_FIX_SERVER|52=20260824-10:13:20.325|56=FIX_CLIENT|
11=b52e9783-1a34-4264-aae3-bd5e6ca3f522|37=2288666911934089984|150=4|39=4|
30010=spot|55=BTCUSDT|54=1|40=2|38=0.001000|44=50000.0|59=1|30013=UNKNOWN|30014=N|
151=0.001|30041=50.0000000|14=0|30038=0.0000000|
60=20260824-10:13:20.320|30039=20260824-10:12:36.590|
103=EC_PerCancelRequest|30040=CancelByUser|
30018=None|30019=N|30046=77297.5|10=146|