跳至主要内容

批量創建委託單

提示

該接口支持批量創建委託單

  • 下單時需確保帳戶內有足夠的資金。一旦下單,根據訂單所需資金,您的帳戶資金將在訂單生命週期內凍結相應額度,被凍結的資金額度取決於訂單屬性。
  • 每個請求包含的訂單數最大是: 20筆(期权), 10筆(反向合約), 10筆(正向合約), 10筆(現貨), 返回的數據列表中分成兩個list,訂單創建的列表和創建結果的信息返回,兩個list的訂單的序列是完全保持一致的。
信息
  • 期權批量接口頻率規則: 期權是按照實際發送的請求次數來統計頻率的, 因此如果帳戶頻率是10次/秒, 每次請求發送20筆訂單, 則可以每秒發送200筆訂單;

  • 期貨和現貨的批量接口頻率規則: 請從這裡查閱其API限頻說明

  • 風控限制提示:
    Bybit 將針對您的 API 請求進行統計監控,當單日 (UTC 0点 - UTC 24点) 單帳號(母帳號和子帳號整體運算)訂單總数超過一定上限,平台將保留提醒、警告,以及進行必要性限制的權利。 使用API的客戶預設接受本條款並負有配合調整的義務。

HTTP請求

POST /v5/order/create-batch

請求參數

參數是否必需類型說明
categorytruestring產品類型
  • 統一帳戶2.0: linear, option, spot, inverse
  • 統一帳戶1.0: linear, option, spot
  • requesttruearrayObject
    > symboltruestring合約名稱
    > isLeveragefalseinteger是否借貸. 僅統一帳戶的現貨交易有效. 0(default): 否,則是幣幣訂單, 1: 是,則是槓桿訂單
    > sidetruestring方向. Buy, Sell
    > orderTypetruestring訂單類型. Market, Limit
    > qtytruestring訂單數量 訂單數量
    • 統一帳戶
      • 現貨: 可以通過設置marketUnit來表示市價單qty的單位, 市價買單默認是quoteCoin, 市價賣單默認是baseCoin
      • 期貨和期權: 總是以base coin作為qty的單位
    • 期貨: 如果傳入qty="0"以及reduceOnly="true", 則可以平掉對應合約可達單個訂單允許的最大qty的倉位, 參照查詢可交易產品的規格信息接口裡的字段maxMktOrderQty或者maxOrderQty
    > pricefalsestring訂單價格
    • 市價單將會忽視該字段
    • 請通過該接口確認最低價格和精度要求
    • 如果有持倉, 確保價格優於強平價格
    > marketUnitfalsestring統一帳戶現貨交易創建市價單時給入參qty指定的單位, 支持orderFilter=Order, tpslOrder 和 StopOrder
  • baseCoin: 比如, 買BTCUSDT, 則"qty"的單位是BTC
  • quoteCoin: 比如, 賣BTCUSDT, 則"qty"的單位是USDT
  • > triggerDirectionfalseinteger條件單參數. 用於辨別期望的方向.
    • 1: 當市場價上漲到了triggerPrice時觸發條件單
    • 2: 當市場價下跌到了triggerPrice時觸發條件單
    linear有效
    > orderFilterfalsestring指定訂單品種, 若不傳, 默認Order
  • Order: 普通單
  • tpslOrder: 止盈止損單
  • StopOrder: 條件單
  • 僅對現貨有效
    > triggerPricefalsestring
    • 對於期貨, 是條件單觸發價格參數. 若您希望市場價是要上升後觸發, 確保:
      triggerPrice > 市場價格
      否則, triggerPrice < 市場價格
    • 對於現貨, 這是下止盈止損單(orderFilter=tpslOrder)或者條件單(orderFilter=stopOrder)的觸發價格參數
    > triggerByfalsestring條件單參數. 觸發價格類型. LastPrice, IndexPrice, MarkPrice
    linear有效
    > orderIvfalsestring隱含波動率. 僅option有效. 按照實際值傳入, e.g., 對於10%, 則傳入0.1. orderIvprice有更高的優先級
    > timeInForcefalsestring訂單執行策略
    • 市價單,系統直接使用IOC
    • 若不傳,默認使用GTC
    > positionIdxfalseinteger倉位標識, 用戶不同倉位模式. 該字段對於雙向持倉模式是必傳:
    • 0: 單向持倉
    • 1: 買側雙向持倉
    • 2: 賣側雙向持倉
    > orderLinkIdfalsestring用戶自定義訂單Id. category=option時,該參數必傳
    > takeProfitfalsestring止盈價格
    > stopLossfalsestring止損價格
    > tpTriggerByfalsestring觸發止盈的價格類型
  • MarkPrice
  • IndexPrice
  • LastPrice(默認)

  • 僅對linearinverse有效
    > slTriggerByfalsestring觸發止損的價格類型
  • MarkPrice
  • IndexPrice
  • LastPrice(默認)

  • 僅對linearinverse有效
    > reduceOnlyfalseboolean什麼是只減倉? true 將這筆訂單設為只減倉
    • 當減倉時, reduceOnly=true必傳
    • 只減倉單的止盈止損不生效
    > closeOnTriggerfalseboolean什麼是觸發後平倉委託?此選項可以確保您的止損單被用於減倉(平倉)而非加倉,並且在可用保證金不足的情況下,取消其他委託,騰出保證金以確保平倉委託的執行.
    linear, inverse有效
    > smpTypefalsestringSmp執行類型. 什麼是SMP?
    > mmpfalseboolean做市商保護. 僅option有效. true 表示該訂單是做市商保護訂單. 什麼是做市商保護?
    > tpslModefalsestring止盈止損模式
    • Full: 全部倉位止盈止損. 此時, tpOrderType或者slOrderType必須傳Market
    • Partial: 部分倉位止盈止損(下單時沒有size選項, 實際上創建tpsl訂單時, 是按照實際成交的數量來生成止盈止損). 注意: 創建限價止盈止損時, tpslMode必傳且為Partial
    linear, inverse有效
    > tpLimitPricefalsestring觸發止盈後轉換為限價單的價格
    • linear & inverse: 僅作用於當tpslMode=Partial以及tpOrderType=Limit時
    • 統一帳戶現貨: 參數必傳當創建訂單時帶了takeProfittpOrderType=Limit
    > slLimitPricefalsestring觸發止損後轉換為限價單的價格
    • linear & inverse: 僅作用於當tpslMode=Partial以及slOrderType=Limit時
    • 統一帳戶現貨: 參數必傳當創建訂單時帶了stopLossslOrderType=Limit
    > tpOrderTypefalsestring止盈觸發後的訂單類型
      category="linear"或"inverse": Market(默認), Limit
      對於tpslMode=Full, 僅支持tpOrderType=Market
    • 統一帳戶現貨:
      Market: 當帶了參數"takeProfit",
      Limit: 當帶了參數"takeProfit" 和 "tpLimitPrice"
    > slOrderTypefalsestring止損觸發後的訂單類型
    • category="linear"或"inverse": Market(默認), Limit
      對於tpslMode=Full, 僅支持slOrderType=Market
    • 統一帳戶現貨:
      Market: 當帶了參數"stopLoss",
      Limit: 當帶了參數"stopLoss" 和 "slLimitPrice"

    響應參數

    參數類型說明
    resultObject
    > listarrayObject
    >> categorystring產品類型
    >> symbolstring合約名稱
    >> orderIdstring訂單Id
    >> orderLinkIdstring用戶自定義訂單Id
    >> createAtstring訂單創建時間 (毫秒)
    retExtInfoObject
    > listarrayObject
    >> codenumber成功/錯誤碼
    >> msgstring成功/錯誤消息
    信息

    ack僅表示請求被成功接受. 請使用websocket-order推送來確認訂單狀態


    請求示例

    POST /v5/order/create-batch HTTP/1.1
    Host: api-testnet.bybit.com
    X-BAPI-SIGN: XXXXX
    X-BAPI-API-KEY: XXXXX
    X-BAPI-TIMESTAMP: 1672222064519
    X-BAPI-RECV-WINDOW: 5000
    Content-Type: application/json

    {
    "category": "spot",
    "request": [
    {
    "symbol": "BTCUSDT",
    "side": "Buy",
    "orderType": "Limit",
    "isLeverage": 0,
    "qty": "0.05",
    "price": "30000",
    "timeInForce": "GTC",
    "orderLinkId": "spot-btc-03"
    },
    {
    "symbol": "ATOMUSDT",
    "side": "Sell",
    "orderType": "Limit",
    "isLeverage": 0,
    "qty": "2",
    "price": "12",
    "timeInForce": "GTC",
    "orderLinkId": "spot-atom-03"
    }
    ]
    }

    響應示例

    {
    "retCode": 0,
    "retMsg": "OK",
    "result": {
    "list": [
    {
    "category": "spot",
    "symbol": "BTCUSDT",
    "orderId": "1666800494330512128",
    "orderLinkId": "spot-btc-03",
    "createAt": "1713434102752"
    },
    {
    "category": "spot",
    "symbol": "ATOMUSDT",
    "orderId": "1666800494330512129",
    "orderLinkId": "spot-atom-03",
    "createAt": "1713434102752"
    }
    ]
    },
    "retExtInfo": {
    "list": [
    {
    "code": 0,
    "msg": "OK"
    },
    {
    "code": 0,
    "msg": "OK"
    }
    ]
    },
    "time": 1713434102753
    }