English
NAV
console python

中文社區和參考資料

歡迎使用 Bybit APIs 和 Websocket官方文檔!

如果您在使用API的過程中遇到問題需要幫助,請加入我們的 官方Telegram API討論群

中文社區和參考資料

更新日誌

2021-10-13

REST API

2021-09-17

Websocket API

2021-09-10

REST API

2021-09-07

REST API

2021-09-03

Websocket API

2021-06-29

REST API

2021-06-28

REST API

2021-06-02

REST API

2021-05-13

REST API

2021-04-30

REST API

2021-04-07

REST API

2021-04-02

REST API

2021-03-18

REST API

2021-02-02

Websocket API

2021-02-01

REST API

2021-01-12

REST API

2020

2020-12-14

REST API

2020-12-03

REST API

2020-11-16

REST API

2020-11-02

REST API

2020-10-21

REST API

2020-10-16

REST API

2020-09-27

REST API

Websocket API

2020-09-15

REST API

2020-08-19

REST API

2020-07-07

REST API

2020-06-17

REST API

2020-05-21

REST API

2020-05-18

REST API

2020-04-29

REST API

Websocket API

2020-04-27

REST API

2020-04-18

REST API

2020-04-17

REST API

2020-04-14

REST API

2020-04-09

REST API

2020-04-07

REST API

2020-03-31

REST API

Websocket API

2020-03-27

REST API

Websocket API

FAQ

reduce_only and close_on_trigger - what's the difference?

Why aren't all my orders showing on the website?

Calculating order size based on available wallet balance

Can I exchange assets with the API?

Where are Bybit's servers located?

AWS Singapore, Availability Zone ID apse1-az3.

How do I get funds for testnet?

To get testnet funds, please contact the website's customer support using the yellow support button shown in the bottom-right corner.

Why are my Closed PNL prices inaccurate?

Why are values returned to too many decimal places? (float precision issue)

鑒權/認證

所有private接口都需要認證,public 接口不需要認證。

公共參數

需要簽名的接口必須包含以下參數:

另外我們提供可選的recv_window參數(單位是毫秒,默認值為5000),來指定請求在多長時間內有效,同時用來防止重放攻擊。

構建請求

拼接參數示例(以修改槓桿率為例):

param_str = "api_key=B2Rou0PLPpGqcU0Vu2&buy_leverage=100&sell_leverage=110&symbol=BTCUSDT&timestamp=1542434791747"
param_str = "api_key=B2Rou0PLPpGqcU0Vu2&buy_leverage=100&sell_leverage=110&symbol=BTCUSD&timestamp=1542434791747"

# api_key=B2Rou0PLPpGqcU0Vu2&
# leverage=100&
# symbol=BTCUSD&
# timestamp=1542434791747

參數按照 字母順序 排列,然後計算sign

1. 所有參數按照字母順序排序,然後按照query string格式拼接。

2. 使用HMAC_SHA256算法對第1步中拼接的query string簽名,並轉換為16進製字符串,得出sign參數。

GET請求格式(查詢賬號余額):

GET /user/leverage?api_key=B2Rou0PLPpGqcU0Vu2&timestamp=1542434791000&sign=670e3e4aa32b243f2dedf1dafcec2fd17a440e71b05681550416507de591d908 HTTP/1.1
Host: api-testnet.bybit.com

POST請求格式(創建訂單):

POST /user/leverage/save HTTP/1.1
Host: api-testnet.bybit.com
Content-Type: application/json

{
    "api_key": "B2Rou0PLPpGqcU0Vu2",
    "leverage": 100,
    "symbol": "BTCUSD",
    "timestamp": 1542434791000,
    "sign": "670e3e4aa32b243f2dedf1dafcec2fd17a440e71b05681550416507de591d908"
}

3. 將sign參數加到請求參數中即可;註意GETPOST請求參數格式不同,詳見右邊示例。

行情接口

以下市場行情數據接口不需要驗權.

Orderbook

請點擊查看接口描述。

查詢K線數據

請求示例

curl https://api.bybit.com/public/linear/kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearKline.LinearKline_get(symbol="BTCUSDT", interval="m", **{'from':1581231260}).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
    {
        "id": 3866948,
        "symbol": "BTCUSDT",
        "period": "1",
        "start_at": 1577836800, // 已廢棄!!
        "volume": 1451.59,
        "open": 7700,           // 已廢棄!!
        "high": 999999,
        "low": 0.5,
        "close": 6000,
        "interval": 1,
        "open_time": 1577836800,
        "turnover": 2.4343353100000003,
    }],
    "time_now": "1581928016.558522"
}

查詢標記價格K線數據, 請瀏覽Mark Price Kline 接口

HTTP 請求

GET /public/linear/kline

請求參數

parameter 是否必須 類型 說明
symbol true string 合約類型
interval true string 數據更新頻率. 枚舉值: 1 3 5 15 30 60 120 240 360 720 "D" "M" "W"
from true integer 起始時間戳(單位秒)
limit false integer 最大200. 默認每頁200條

返回參數

參數 類型 說明
symbol string 合約類型
period string 數據記錄周期. 5min 15min 30min 1h 4h 1d
start_at integer 開始時間戳(秒)
volume number 交易量
open integer 開始價格
high integer 最高價格
low number 最低價格
close integer 結束價格
interval integer 數據記錄周期. 5min 15min 30min 1h 4h 1d
open_time integer 開始時間
turnover number 成交金額

合約最新信息

請點擊查看接口描述。

平臺交易歷史數據

請求示例

curl https://api.bybit.com/public/linear/recent-trading-records?symbol=BTCUSDT&limit=500
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearMarket.LinearMarket_trading().result())

響應示例

{
    "ret_code": 0,                                   // error code 0 means success
    "ret_msg": "OK",                                 // error message
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "id": "18368131384",                            // ID, string type, all ids are in descending order globally
            "symbol": "BTCUSDT",                            // contract type
            "price": 9499.5,                                // execution price
            "qty": 9500,                                    // execution quantity
            "side": "Buy",                                  // side
            "time": "2019-11-19T08:03:04.077Z",             // 已廢棄!!
            "trade_time_ms":1587638305175
        }
    ],
    "time_now": "1567109419.049271"
}

獲取Bybit的最近成交數據。如果您想獲取歷史所有的成交記錄,請通過這裏下載歷史行情。

HTTP 請求

GET /public/linear/recent-trading-records

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
limit false int 返回條數,最大1000,默認500

返回參數

參數 類型 說明
id string 最新數據ID
symbol string 合約類型
price number 交易價格
qty number 交易數量
side string 方向
time string UTC 時間
trade_time_ms number 毫秒時間戳

查詢合約信息

請點擊查看接口描述。

查詢強平訂單數據

請點擊查看接口描述。

查詢上個周期的資金費率

請求示例

curl https://api.bybit.com/public/linear/funding/prev-funding-rate?symbol=BTCUSDT
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearFunding.LinearFunding_prevRate(symbol="BTCUSDT").result())

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":{
        "symbol":"BTCUSDT",
        "funding_rate":-0.00005965,
        "funding_rate_timestamp":"2020-04-07T08:00:00.000Z"
    },
    "time_now":"1586251109.454281"
}

UTC時間每天0點、8點、16點產生一個資金費率。 假設當前時間是UTC12點,則返回的是上一次結算即UTC8點產生的資金費率。

HTTP 請求

GET /public/linear/funding/prev-funding-rate

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型

返回參數

參數 類型 說明
symbol string 合約類型
funding_rate number 資金費率
funding_rate_timestamp string 資金費率時間戳

標記價格K線

請求示例

curl https://api.bybit.com/public/linear/mark-price-kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearKline.LinearKline_markPrice(symbol="BTCUSDT", interval="m", limit=10, **{'from':1}).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [{
        "id": 3866948,
        "symbol": "BTCUSDT",
        "period": "1",
        "start_at": 1577836800,
        "open": 7700,
        "high": 999999,
        "low": 0.5,
        "close": 6000
    },
    {
        "id": 3866948,
        "symbol": "BTCUSDT",
        "period": "1",
        "start_at": 1577836800,
        "open": 7700,
        "high": 999999,
        "low": 0.5,
        "close": 6000
    }],
    "time_now": "1581928016.558522"
}

查詢標記價格K線

HTTP 請求

GET /public/linear/mark-price-kline

請求參數

parameter 是否必須 類型 說明
symbol true string 合約類型
interval true string 數據更新頻率. 枚舉值: 1 3 5 15 30 60 120 240 360 720 "D" "M" "W"
from true integer 起始時間戳(單位秒)
limit false integer 最大200. 默認每頁200條

返回參數

參數 類型 說明
symbol string 合約類型
period string 數據記錄周期. 5min 15min 30min 1h 4h 1d
start_at integer 開始時間戳(秒)
open integer 開始價格
high integer 最高價格
low number 最低價格
close integer 結束價格

查詢指數價格K線數據

請求示例

curl "https://api.bybit.com/public/linear/index-price-kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearKline.LinearKline_indexPrice().result())

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[{
        "symbol":"BTCUSDT",
        "period":"1",
        "open_time":1582231260,
        "open":"10106.09",
        "high":"10108.75",
        "low":"10104.66",
        "close":"10108.73"
    }],
    "time_now":"1591263582.601795"
}

指數價格K線

HTTP 請求

GET /public/linear/index-price-kline

請求參數

parameter 是否必須 類型 說明
symbol true string 合約類型
interval true string 數據更新頻率. 枚舉值: 1 3 5 15 30 60 120 240 360 720 "D" "M" "W"
from true integer 起始時間戳(單位秒)
limit false integer 最大200. 默認每頁200條

返回參數

參數 類型 說明
symbol string 合約類型
period string 數據記錄周期. 5min 15min 30min 1h 4h 1d
open_time integer 開始時間戳(秒)
open string 開始價格
high string 最高價格
low string 最低價格
close string 結束價格

查詢溢價K線數據

請求示例

curl "https://api.bybit.com/public/linear/premium-index-kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearKline.LinearKline_premiumIndexPrice().result())

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[{
        "symbol":"BTCUSDT",
        "period":"1",
        "open_time":1582231260,
        "open":"0.000588",
        "high":"0.000618",
        "low":"0.000588",
        "close":"0.000618"
    }],
    "time_now":"1591263582.601795"
}

溢價K線

HTTP 請求

GET /public/linear/premium-index-kline

請求參數

parameter 是否必須 類型 說明
symbol true string 合約類型
interval true string 數據更新頻率. 枚舉值: 1 3 5 15 30 60 120 240 360 720 "D" "M" "W"
from true integer 起始時間戳(單位秒)
limit false integer 最大200. 默認每頁200條

返回參數

參數 類型 說明
symbol string 合約類型
period string 數據記錄周期. 5min 15min 30min 1h 4h 1d
open_time integer 開始時間戳(秒)
open string 開始價格
high string 最高價格
low string 最低價格
close string 結束價格

平臺進階數據

未平合約持倉數量

請點擊查看接口描述。

主動成交大額訂單

請點擊查看接口描述。

用戶多空持倉比率

請點擊查看接口描述。

賬戶/交易接口

以下賬戶/交易接口都需要鑒權.

活動單

創建活動委托單

請求示例

curl https://api.bybit.com/private/linear/order/create \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","side"="Buy","symbol"="BTCUSD","order_type":"Market","qty":10,"time_in_force":"GoodTillCancel","timestamp":{timestamp},"sign":"{sign}"}'

import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearOrder.LinearOrder_new(side="Sell",symbol="BTCUSDT",order_type="Limit",qty=0.22,price=10000,time_in_force="GoodTillCancel",reduce_only=False, close_on_trigger=False).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
        "user_id": 1,
        "symbol": "BTCUSDT",
        "side": "Sell",
        "order_type": "Limit",
        "price": 8083,
        "qty": 10,
        "time_in_force": "GoodTillCancel",
        "order_status": "New",
        "last_exec_price": 8083,    //最近成交價格
        "cum_exec_qty": 0,          //累計成交數量
        "cum_exec_value": 0,        //累計成交價值
        "cum_exec_fee": 0,          //累計成交手續費
        "reduce_only": false,       //是否平倉單 true-平倉 false-開倉
        "close_on_trigger": false
        "order_link_id": "",
        "created_time": "2019-10-21T07:28:19.396246Z",
        "updated_time": "2019-10-21T07:28:19.396246Z",
    },
    "time_now": "1575111823.458705",
    "rate_limit_status": 98,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

市價活動委托: 一個傳統的市場價格訂單,會以當前的最優價格為您成交訂單。當且僅當選擇市價單時,price可為空!

限價活動委托: 您可以為您的訂單設置一個執行價格,當市場價格達到您的設置價格時,系統會為您成交訂單。

止盈止損: 您僅能在開倉時設置止盈止損條件單,一旦持有倉位後提交活動委托時關聯的止盈止損則不會生效。如果不設置止盈止損觸發條件trigger_by則默認使用LastPrice

委托數量: 表示您要購買/賣出的永續合約數,對於委托數量目前Bybit只允許提交正整數。增減最小單位請參考交易對接口響應中的lot_size_filter字段。

委托價格: 如果是下限價單,該參數為必填. 在沒有倉位時,做多的委托價格需高於市價的10%、低於1百萬。如有倉位時則需優於強平價。價格增減最小單位請參考交易對接口響應中的price_filter字段。

自定義條件單ID: 您可以自定義活動委托訂單ID,我們會為您關聯到系統的訂單ID,並把系統的唯一訂單ID在活動委托創建成功後一並返回給您,您可以使用該訂單ID去取消活動委托,同時要求您傳遞的自定義訂單ID最大長度不超過36個字段且唯一

每個賬戶最多可同時持有500個活動訂單。這是針對合約的,因此可以允許出現例如:賬戶同時持有300個BTCUSDT的活動單、280個ETHUSDT合約的活動單。

當您達到訂單上限的時候的時候,仍然可以下單設置了參數reduce_onlyclose_on_trigger的訂單。

HTTP 請求

POST /private/linear/order/create

請求參數

參數 是否必須 類型 說明
side true string 方向
symbol true string 合約類型
order_type true string 委托單價格類型
qty true number 委托數量(BTC)
price false number 委托價格。如果是下限價單,該參數為必填. 在沒有倉位時,做多的委托價格需高於市價的10%、低於1百萬。如有倉位時則需優於強平價。價格增減最小單位請參考交易對接口響應中的price_filter字段
time_in_force true string 執行策略
close_on_trigger true bool 什麽是 close on trigger order?只會減少您的倉位而不會增加您的倉位。如果當平倉委托被觸發時,賬戶上的余額不足,那麽該合約的其他委托將被取消或者降低委托數量。使用此選項可以確保您的止損單被用於減倉而非加倉。
reduce_only true bool 什麽是 reduce-only order?,true-平倉 false-開倉,ture時止盈止損設置不生效
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
take_profit false number 止盈價格,僅開倉時生效
stop_loss false number 止損價格,僅開倉時生效
tp_trigger_by false string 止盈激活價格類型,默認為LastPrice
sl_trigger_by false string 止損激活價格類型,默認為LastPrice

返回參數

參數 類型 說明
order_id string 訂單ID
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
last_exec_price number 最近一次成交價格
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee number 累計成交手續費
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉
order_link_id string 機構自定義訂單ID
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice

查詢活動委托

請求示例

curl "https://api.bybit.com/private/linear/order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}&symbol=BTCUSDT"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearOrder.LinearOrder_getOrders(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "current_page": 1,
        "last_page": 6,
        "data": [
            {
                "order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
                "user_id": 1,
                "symbol": "BTCUSDT",
                "side": "Sell",
                "order_type": "Limit",
                "price": 8083,
                "qty": 10,
                "time_in_force": "GoodTillCancel",
                "order_status": "New",
                "last_exec_price": 8083,
                "cum_exec_qty": 0,
                "cum_exec_value": 0,
                "cum_exec_fee": 0,
                "order_link_id": "",
                "reduce_only": false,
                "close_on_trigger": false,
                "created_time": "2019-10-21T07:28:19.396246Z",
                "updated_time": "2019-10-21T07:28:19.396246Z",
            }
        ]
    },
    "ext_info": null,
    "time_now": "1577448922.437871",
    "rate_limit_status": 98,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

獲取我的活動委托單列表。

創建/取消訂單是異步的,因此該接口可能返回的數據可能會有延遲。如果要獲取訂單的實時信息,可以調用接口實時查詢活動單信息.

HTTP 請求

GET /private/linear/order/list

請求參數

參數 是否必須 類型 說明
order_id false string 訂單ID
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
symbol true string 合約類型
order false string 按創建時間排序
page false integer 頁碼.默認取第一頁,最大50
limit false integer 每頁數量, 最大50. 默認每頁20條
order_status false string 指定訂單狀態查詢訂單列表。不傳該參數則默認查詢所有狀態訂單。該參數支持多狀態查詢,狀態之間用英文逗號分割。

返回參數

參數 類型 說明
order_id string 訂單ID
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
last_exec_price number 最近一次成交價格
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee number 累計成交手續費
order_link_id string 機構自定義訂單ID
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice

撤銷活動委托單

請求示例

curl https://api.bybit.com/private/linear/order/cancel \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearOrder.LinearOrder_cancel(symbol="BTCUSDT", order_id="").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
    },
    "time_now": "1575112681.814760",
    "rate_limit_status": 98,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

所有撤銷活動委托都必須填寫order_idorder_link_idorder_id - 當您成功創建了活動委托時會為您返回36位唯一的訂單ID。

您可以撤銷未成交、部分成交的活動委托單。但全部成交的活動委托不可取消。

HTTP 請求

POST /private/linear/order/cancel

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
order_id false string 訂單ID。如果未填order_link_id則為必填字段。
order_link_id false string 機構ID。如果未填order_id則為必填字段。

返回參數

參數 類型 說明
order_id string 訂單ID

撤銷所有活動委托單

請求示例

curl https://api.bybit.com/private/linear/order/cancel-all \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearOrder.LinearOrder_cancelAll(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,      
    "ret_msg": "OK",    
    "ext_code": "",     
    "ext_info": "",
    "result": [
        "89a38056-80f1-45b2-89d3-4d8e3a203a79",  
        "89a38056-80f1-45b2-89d3-4d8e3a203a79",  
    ],
    "time_now": "1575110339.105675",
    "rate_limit_status": 98,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

撤銷所有未成交、部分成交的活動委托單。但全部成交的活動委托不可取消。

HTTP 請求

POST /private/linear/order/cancel-all

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型

返回參數

參數 類型 說明
result arr 訂單ID

修改活動單信息

請求示例

curl https://api.bybit.com/private/linear/order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearOrder.LinearOrder_replace(symbol="BTCUSDT", order_id="").result())

響應示例

{
    "ret_code": 0,    //Error code,
    "ret_msg": "ok",  //Error message,
    "ext_code": "",
    "result": {
        "order_id": "efa44157-c355-4a98-b6d6-1d846a936b93"
    },
    "time_now": "1539778407.210858",    // UTC timestamp
    "rate_limit_status": 99, // The remaining number of accesses in one minute
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100             
}

本接口可以修改您的活動單信息.

HTTP 請求

POST /private/linear/order/replace

請求參數

參數 是否必須 類型 說明
order_id false string 訂單ID。如果未填order_link_id則為必填字段。
order_link_id false string 機構ID。如果未填order_id則為必填字段。
symbol true string 合約類型
p_r_qty false integer 修改後的訂單數量。如果是未完全成交訂單,則表示修改剩余未成交的部分。如果不修改這個字段,請不要傳這個參數。
p_r_price false number 修改後的訂單價格。如果不修改這個字段,請不要傳這個參數。
take_profit false number 修改後的止盈價格。如果不修改這個字段,請不要傳這個參數。
stop_loss false number 修改後的止損價格。如果不修改這個字段,請不要傳這個參數。
tp_trigger_by false string 止盈激活價格類型,默認為LastPrice
sl_trigger_by false string 止損激活價格類型,默認為LastPrice

返回參數

參數 類型 說明
order_id string 訂單ID

實時查詢活動委托

請求示例

curl "https://api.bybit.com/private/linear/order/search?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}order_id={order_id}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearOrder.LinearOrder_query(symbol="BTCUSDT", order_id="87d8a4ed-dc9d-41c9-8dac-6e3c51356645").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "order_id": "e3f7662b-8b94-42e2-8d46-dead09dd2a52",
        "user_id": 106958,
        "symbol": "BTCUSDT",
        "side": "Sell",
        "order_type": "Market",
        "price": 11775,
        "qty": 0.001,
        "time_in_force": "ImmediateOrCancel",
        "order_status": "Filled",
        "last_exec_price": 11874.5,
        "cum_exec_qty": 0.001,
        "cum_exec_value": 11.8745,
        "cum_exec_fee": 0.00890588,
        "order_link_id": "",
        "reduce_only": false,
        "close_on_trigger": false,
        "created_time": "2020-08-10T19:28:56Z",
        "updated_time": "2020-08-10T19:28:57Z"
    },
    "time_now": "1597171508.869341",
    "rate_limit_status": 598,
    "rate_limit_reset_ms": 1597171508867,
    "rate_limit": 600
}

//當只傳參數symbol的時候,返回結構如下:
{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "order_id": "6449d89e-6ef5-4f54-a065-12b2744de0ae",
            "user_id": 118921,
            "symbol": "LINKUSDT",
            "side": "Buy",
            "order_type": "Limit",
            "price": 9,
            "qty": 0.1,
            "time_in_force": "GoodTillCancel",
            "order_status": "New",
            "last_exec_price": 11874.5,
            "cum_exec_qty": 0.005,
            "cum_exec_value": 11.8745,
            "cum_exec_fee": 0.00890588,
            "order_link_id": "",
            "reduce_only": false,
            "created_time": "2020-11-27T08:25:44Z",
            "updated_time": "2020-11-27T08:25:44Z",
            "take_profit": 0,
            "stop_loss": 0,
            "tp_trigger_by": "UNKNOWN",
            "sl_trigger_by": "UNKNOWN"
        },
        ...
        {
            "order_id": "6d4dc4e0-b4e3-4fc5-a92d-3d693bdff4a5",
            "user_id": 118921,
            "symbol": "LINKUSDT",
            "side": "Buy",
            "order_type": "Limit",
            "price": 8.2,
            "qty": 9999,
            "time_in_force": "GoodTillCancel",
            "order_status": "New",
            "last_exec_price": 11888.5,
            "cum_exec_qty": 0.004,
            "cum_exec_value": 11.8745,
            "cum_exec_fee": 0.00890588,
            "order_link_id": "",
            "reduce_only": false,
            "created_time": "2020-11-23T09:19:49Z",
            "updated_time": "2020-11-23T09:20:31Z",
            "take_profit": 0,
            "stop_loss": 0,
            "tp_trigger_by": "UNKNOWN",
            "sl_trigger_by": "UNKNOWN"
        }
    ],
    "time_now": "1606465563.551193",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1606465563547,
    "rate_limit": 600
}

實時查詢活動委托。當傳遞參數order_idorder_link_id其中任意一個時,將返回單條訂單數據,如果參數order_idorder_link_id都不傳遞時,將返回所有未成交的訂單,最多500條。

HTTP 請求

GET /private/linear/order/search

請求參數

參數 是否必須 類型 說明
order_id false string 訂單ID。如果未填order_link_id則為必填字段。
order_link_id false string 機構ID。如果未填order_id則為必填字段。
symbol true string 合約類型

返回參數

參數 類型 說明
order_id string 訂單ID
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
last_exec_price number 最近一次成交價格
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee number 累計成交手續費
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉
order_link_id string 機構自定義訂單ID
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice

條件單

創建條件委托單

請求示例

curl https://api.bybit.com/private/linear/stop-order/create \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","order_type":"Limit","side":"Buy","symbol":"BTCUSD","qty":1,"price":8100,"base_price":8300,"stop_px":8150,"time_in_force":"GoodTillCancel","order_link_id":"cus_order_id_1","reduce_only":false,"close_on_trigger":false,"timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearConditional.LinearConditional_new(order_type="Limit", side="Buy", symbol="BTCUSD", qty=1, price=8100, base_price=8300, stop_px=8150, time_in_force="GoodTillCancel", order_link_id="cus_order_id_1", reduce_only=False, close_on_trigger=False).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
       "stop_order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
       "user_id": 1,
       "symbol": "BTCUSDT",
       "side": "Sell",
       "order_type": "Limit",
       "price": 8083,
       "qty": 10,
       "time_in_force": "GoodTillCancel",
       "order_status": "New",
       "base_price": "16100.0000",
       "trigger_by": "LastPrice",
       "trigger_price": 8003,
       "order_link_id": "",
       "reduce_only": false,
       "close_on_trigger": false,
       "created_time": "2019-10-21T07:28:19.396246Z",
       "updated_time": "2019-10-21T07:28:19.396246Z",
       "tp_trigger_by": "UNKNOWN",
       "sl_trigger_by": "UNKNOWN",
    },
    "ext_info": null,
    "time_now": "1577450904.327654",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1577450904335,
    "rate_limit": "100"
}

市價條件委托: 一個傳統的市場價格訂單,會以當前的最優價格為您成交訂單。當且僅當選擇市價單時,'price', '可為空!

限價條件委托: 您可以為您的訂單設置一個執行價格,當市場價格達到您的設置價格時,系統會為您成交訂單。

止盈止損: 您僅能在開倉時設置止盈止損條件單,一旦持有倉位後提交活動委托時關聯的止盈止損則不再有效。一旦持倉後,當創建訂單後發送的止盈止損信息將不再有效。

委托數量: 表示您要購買/賣出的永續合約數,對於委托數量目前Bybit只允許提交正整數。

委托價格: 表示您期望購買/賣出永續合約的價格,可以根據交易對接口查詢不同symbol價格階梯。

條件委托觸發價格: 您可以為您的條件委托單設置一個觸發價格,條件委托單不進入委托表(Order Book),只有觸發條件成立如市場價格到達觸發價格時,條件委托單才會進入交易系統。當市場價格到達觸發價格:1)您的限價條件委托單進入Order Book,等待被執行;2)您的市價條件委托單將按照市場最優價格立即被執行。

自定義條件單ID: 您可以自定義活動委托訂單ID,我們會為您關聯到系統的訂單ID,並把系統的唯一訂單ID在活動委托創建成功後一並返回給您,您可以使用該訂單ID去取消活動委托,同時要求您傳遞的自定義訂單ID最大長度不超過36個字段且唯一。

HTTP 請求

POST /private/linear/stop-order/create

請求參數

參數 是否必須 類型 說明
side true string 方向
symbol true string 合約類型
order_type true string 委托單價格類型
qty true number 委托數量(BTC)
price false number 條件委托執行價格。如果條件委托是限價單,則price為必傳字段
base_price true number 當前市價。用於和stop_px值進行比較,確定當前條件委托是看空到stop_px時觸發還是看多到stop_px觸發。主要是用來標識當前條件單預期的方向
stop_px true number 觸發價格
time_in_force true string 執行策略
trigger_by false string 觸發價格類型. 默認為最新市價
close_on_trigger true bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
reduce_only true bool 什麽是 reduce-only order?,true-平倉 false-開倉,ture時止盈止損設置不生效
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
take_profit false number 止盈價格,僅開倉時生效
stop_loss false number 止損價格,僅開倉時生效
tp_trigger_by false string 止盈激活價格類型,默認為LastPrice
sl_trigger_by false string 止損激活價格類型,默認為LastPrice

返回參數

參數 類型 說明
stop_order_id string 條件委托訂單ID。
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 訂單類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
trigger_price number 如果stop_order_type為`TrailingProfit`時,為激活價格,否則為觸發價格。
order_link_id string 機構自定義訂單ID
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
base_price string 下單時市價
trigger_by string 觸發價格類型. 默認為最新市價
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉

查詢條件委托

請求示例

curl "https://api.bybit.com/private/linear/stop-order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearConditional.LinearConditional_getOrders(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "current_page": 1,
        "last_page": 1,
        "data": [
            {
                 "stop_order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
                 "user_id": 1,
                 "symbol": "BTCUSDT",
                 "side": "Sell",
                 "order_type": "Limit",
                 "price": 8083,
                 "qty": 10,
                 "time_in_force": "GoodTillCancel",
                 "order_status": "New",
                 "trigger_price": 8003,
                 "order_link_id": "",
                 "created_time": "2019-10-21T07:28:19.396246Z",
                 "updated_time": "2019-10-21T07:28:19.396246Z",
                 "take_profit": 0,
                 "stop_loss": 0,
                 "tp_trigger_by": "UNKNOWN",
                 "sl_trigger_by": "UNKNOWN",
                 "base_price": "16100.0000",
                 "trigger_by": "LastPrice",
            },
            {
                 "stop_order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
                 "user_id": 1,
                 "symbol": "BTCUSDT",
                 "side": "Sell",
                 "order_type": "Limit",
                 "price": 8083,
                 "qty": 10,
                 "time_in_force": "GoodTillCancel",
                 "order_status": "New",
                 "trigger_price": 8003,
                 "order_link_id": "",
                 "created_time": "2019-10-21T07:28:19.396246Z",
                 "updated_time": "2019-10-21T07:28:19.396246Z",
                 "take_profit": 0,
                 "stop_loss": 0,
                 "tp_trigger_by": "UNKNOWN",
                 "sl_trigger_by": "UNKNOWN",
                 "base_price": "16100.0000",
                 "trigger_by": "LastPrice",
                 "reduce_only": false,
                 "close_on_trigger": false,
            }
        ]
    },
    "ext_info": null,
    "time_now": "1577451658.755468",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1577451658762,
    "rate_limit": 600
}

獲取我的條件委托單列表。

創建/取消訂單是異步的,因此該接口可能返回的數據可能會有延遲。如果要獲取訂單的實時信息,可以調用接口實時查詢條件單信息

HTTP 請求

GET /private/linear/stop-order/list

請求參數

參數 是否必須 類型 說明
stop_order_id false string 條件委托訂單ID。
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
symbol true string 合約類型
stop_order_status false string 條件單狀態
order false string 按創建時間排序
page false integer 頁碼.默認取第一頁
limit false integer 每頁數量, 最大50. 默認每頁20條

返回參數

參數 類型 說明
stop_order_id string 條件委托訂單ID。
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 訂單類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 條件單狀態
trigger_price number 如果stop_order_type為`TrailingProfit`時,為激活價格,否則為觸發價格。
order_link_id string 機構自定義訂單ID
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
base_price string 下單時市價
trigger_by string 觸發價格類型. 默認為最新市價
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉

撤消條件委托單

請求示例

curl https://api.bybit.com/private/linear/stop-order/cancel \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearConditional.LinearConditional_cancel(symbol="BTCUSDT", stop_order_id="52095ff7-b080-498e-b3a4-8b3e76c42f5e").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
         "stop_order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
    },
    "ext_info": null,
    "time_now": "1577452218.567120",
    "rate_limit_status": 97,
    "rate_limit_reset_ms": 1577452218573,
    "rate_limit": "100"
}

您可以撤銷所有未被激活的條件委托,或止盈止損單。本質上所有條件委托在被激活後都是屬於活動委托,所以條件委托一旦被激活,您需要通過調用取消活動委托接口來取消所有未成交、部分成交的活動委托單。同樣全部成交的活動委托不可取消。

HTTP 請求

POST /private/linear/stop-order/cancel

請求參數

參數 required type comments
symbol true string 合約類型
stop_order_id false string 訂單ID。如果未填order_link_id則為必填字段。
order_link_id false string 機構ID。如果未填stop_order_id則為必填字段。

返回參數

參數 類型 說明
stop_order_id string 條件委托訂單ID。

撤消全部條件委托單

請求示例

curl https://api.bybit.com/private/linear/stop-order/cancel-all \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearConditional.LinearConditional_cancelAll(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        "89a38056-80f1-45b2-89d3-4d8e3a203a79",  
        "89a38056-80f1-45b2-89d3-4d8e3a203a79",
    ],
    "time_now": "1577454993.799912",
    "rate_limit_status": 90,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

撤銷所有未被激活的條件委托。本質上所有條件委托在被激活後都是屬於活動委托,所以條件委托一旦被激活,您需要通過調用取消活動委托接口來取消所有未成交、部分成交的活動委托單。同樣全部成交的活動委托不可取消。

HTTP 請求

POST /private/linear/stop-order/cancel-all

請求參數

參數 required type comments
symbol true string 合約類型

修改條件委托單

請求示例

curl https://api.bybit.com/private/linear/stop-order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","stop_order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearConditional.LinearConditional_replace(symbol="BTCUSDT", stop_order_id="").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "stop_order_id": "378a1bbc-a93a-4e75-87f4-502ea754ba36"
    },
    "ext_info": null,
    "time_now": "1577475760.604942",
    "rate_limit_status": 96,
    "rate_limit_reset_ms": 1577475760612,
    "rate_limit": "100"
}

修改未觸發的條件單。

HTTP 請求

POST /private/linear/stop-order/replace

請求參數

參數 是否必須 類型 說明
stop_order_id false string 訂單ID。如果未填order_link_id則為必填字段。
order_link_id false string 機構ID。如果未填stop_order_id則為必填字段。
symbol true string 合約類型
p_r_qty false integer 修改後的訂單數量。如果是未完全成交訂單,則表示修改剩余未成交的部分。如果不修改這個字段,請不要傳這個參數。
p_r_price false number 修改後的訂單價格。如果不修改這個字段,請不要傳這個參數。
p_r_trigger_price false number 修改後的條件單的觸發價格或止盈止損的價格。如果不修改這個字段,請不要傳這個參數。
take_profit false number 修改後的止盈價格。如果不修改這個字段,請不要傳這個參數。
stop_loss false number 修改後的止損價格。如果不修改這個字段,請不要傳這個參數。
tp_trigger_by false string 止盈激活價格類型,默認為LastPrice
sl_trigger_by false string 止損激活價格類型,默認為LastPrice

返回參數

參數 類型 說明
stop_order_id string 條件委托訂單ID。

實時查詢條件委托

請求示例

curl "https://api.bybit.com/private/linear/stop-order/search?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}order_id={order_id}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearConditional.LinearConditional_query(symbol="BTCUSDT", stop_order_id="").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "stop_order_id":"bd1844f-f3c0-4e10-8c25-10fea03763f6",
        "user_id": 1,
        "symbol": "BTCUSDT",
        "side": "Sell",
        "order_type": "Limit",
        "price": 8083,
        "qty": 10,
        "time_in_force": "GoodTillCancel",
        "order_status": "New",
        "trigger_price": 8003,
        "order_link_id": "",
        "created_time": "2019-10-21T07:28:19.396246Z",
        "updated_time": "2019-10-21T07:28:19.396246Z",
        "take_profit": 0,
        "stop_loss": 0,
        "tp_trigger_by": "UNKNOWN",
        "sl_trigger_by": "UNKNOWN",
        "base_price": "16100.0000",
        "trigger_by": "LastPrice",
        "reduce_only": false,
        "close_on_trigger": false,
    },
    "time_now": "1577476584.386958",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

//當只傳參數symbol的時候,返回結構如下:
{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "user_id": 1301180,
            "stop_order_id": "a1dbf284-b6ee-4eaf-9fda-2d3f3fa4c501",
            "symbol": "BTCUSDT",
            "side": "Buy",
            "order_type": "Limit",
            "price": 8020,
            "qty": 0.001,
            "time_in_force": "GoodTillCancel",
            "order_status": "Untriggered",
            "trigger_price": 16000,
            "order_link_id": "",
            "created_time": "2020-11-16T09:06:17.000Z",
            "updated_time": "2020-11-16T09:06:17.000Z",
            "take_profit": 0,
            "stop_loss": 0,
            "tp_trigger_by": "UNKNOWN",
            "sl_trigger_by": "UNKNOWN",
            "trigger_by": "LastPrice"
        },
        ...
        {
            "user_id": 1301180,
            "stop_order_id": "d4g5bf862-b6ee-4eaf-9fda-2d3f3fd9g4j6",
            "symbol": "BTCUSDT",
            "side": "Sell",
            "order_type": "Limit",
            "price": 8022,
            "qty": 0.005,
            "time_in_force": "GoodTillCancel",
            "order_status": "Untriggered",
            "trigger_price": 16000,
            "order_link_id": "",
            "created_time": "2020-11-16T09:06:17.000Z",
            "updated_time": "2020-11-16T09:06:17.000Z",
            "take_profit": 0,
            "stop_loss": 0,
            "tp_trigger_by": "UNKNOWN",
            "sl_trigger_by": "UNKNOWN",
            "trigger_by": "LastPrice"
        }
    ],
    "time_now": "1606445293.547976",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1606445293545,
    "rate_limit": 600
}

實時查詢條件委托。當傳遞參數order_idorder_link_id其中任意一個時,將返回單條訂單數據;如果參數order_idorder_link_id都不傳遞時,將返回所有未成交的訂單,最多50條。

HTTP 請求

GET /private/linear/stop-order/search

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
stop_order_id false string 訂單ID。如果未填order_link_id則為必填字段。
order_link_id false string 機構ID。如果未填order_id則為必填字段。

返回參數

參數 類型 說明
stop_order_id string 條件委托訂單ID。
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 訂單類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
trigger_price number 如果stop_order_type為`TrailingProfit`時,為激活價格,否則為觸發價格。
order_link_id string 機構自定義訂單ID
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
base_price string 下單時市價
trigger_by string 觸發價格類型. 默認為最新市價
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉

持倉

獲取持倉(實時)

請求示例

curl https://api.bybit.com/private/linear/position/list?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_myPosition(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
       {
               "user_id":100004,
               "symbol":"BTCUSDT",
               "side":"Buy",
               "size":0,
               "position_value":0,      //當前倉位價值
               "entry_price":0,         //平均開倉價
               "liq_price":1,           //強平價格
               "bust_price":100,        //破產價格
               "leverage":0,
               "is_isolated":true,
               "auto_add_margin": 0,
               "position_margin":0,     //倉位保證金
               "occ_closing_fee":0,     //預占用平倉手續費
               "realised_pnl":0,        //當日已結盈虧
               "cum_realised_pnl":0,    //累計已結盈虧
               "free_qty": 30,          //可平倉位數量
               "tp_sl_mode": "Full",
               "unrealised_pnl": 0,
               "deleverage_indicator": 0,
               "risk_id": 0,
               "stop_loss": 0,
               "take_profit": 0,
               "trailing_stop": 0
           },
           {
               "user_id":100004,
               "symbol":"BTCUSDT",
               "side":"Sell",
               "size":0,
               "position_value":0,
               "entry_price":0,
               "liq_price":1,
               "bust_price":100,
               "leverage":0,
               "is_isolated":true,
               "auto_add_margin": 0,
               "position_margin":0,
               "occ_closing_fee":0,
               "realised_pnl":0,
               "cum_realised_pnl":0,
               "free_qty": 30,
               "tp_sl_mode": "Full",
               "unrealised_pnl": 0,
               "deleverage_indicator": 0,
               "risk_id": 0,
               "stop_loss": 0,
               "take_profit": 0,
               "trailing_stop": 0
           }
    ],
    "time_now": "1577480599.097287",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 120
}

//當不傳參數symbol的時候,返回結構如下:
{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "is_valid": true, //表示當前data對應的symbol數據是否可用
            "data": { //只有在is_validtrue時,data才可用,否則請不要使用data
                "user_id": 118921,
                "symbol": "BTCUSDT",
                "side": "Buy",
                "size": 0.009,
                "position_value": 117.6845,
                "entry_price": 13076.05555555,
                "liq_price": 11834,
                "bust_price": 11768.5,
                "leverage": 10,
                "is_isolated":true,
                "auto_add_margin": 0,
                "position_margin": 11.84788704,
                "occ_closing_fee": 0.07943738,
                "realised_pnl": 0,
                "cum_realised_pnl": -1.50755354,
                "free_qty": 0.009,
                "tp_sl_mode": "Full",
                "unrealised_pnl": 0,
                "deleverage_indicator": 0,
                "risk_id": 0,
                "stop_loss": 0,
                "take_profit": 0,
                "trailing_stop": 0
            }
        },
        {
            "is_valid": true, //表示當前data對應的symbol數據是否可用
            "data": { //只有在is_validtrue時,data才可用,否則請不要使用data
                "user_id": 118921,
                "symbol": "BTCUSDT",
                "side": "Sell",
                "size": 0.001,
                "position_value": 13.078,
                "entry_price": 13078,
                "liq_price": 14320,
                "bust_price": 14385.5,
                "leverage": 10,
                "is_isolated":true,
                "auto_add_margin": 0,
                "position_margin": 1.31858935,
                "occ_closing_fee": 0.01078913,
                "realised_pnl": 0,
                "cum_realised_pnl": 164.30402588,
                "free_qty": 0.001,
                "tp_sl_mode": "Full",
                "unrealised_pnl": 0,
                "deleverage_indicator": 0,
                "risk_id": 0,
                "stop_loss": 0,
                "take_profit": 0,
                "trailing_stop": 0
            }
        },
        ...
        {
            "is_valid": true, //表示當前data對應的symbol數據是否可用
            "data": { //只有在is_validtrue時,data才可用,否則請不要使用data
                "user_id": 118921,
                "symbol": "XTZUSDT",
                "side": "Buy",
                "size": 0,
                "position_value": 0,
                "entry_price": 0,
                "liq_price": 0,
                "bust_price": 0,
                "leverage": 25,
                "is_isolated":true,
                "auto_add_margin": 0,
                "position_margin": 0,
                "occ_closing_fee": 0,
                "realised_pnl": 0,
                "cum_realised_pnl": 0,
                "free_qty": 0,
                "tp_sl_mode": "Full",
                "unrealised_pnl": 0,
                "deleverage_indicator": 0,
                "risk_id": 0,
                "stop_loss": 0,
                "take_profit": 0,
                "trailing_stop": 0
            }
        },
        {
            "is_valid": true, //表示當前data對應的symbol數據是否可用
            "data": { //只有在is_validtrue時,data才可用,否則請不要使用data
                "user_id": 118921,
                "symbol": "XTZUSDT",
                "side": "Sell",
                "size": 0,
                "position_value": 0,
                "entry_price": 0,
                "liq_price": 0,
                "bust_price": 0,
                "leverage": 25,
                "is_isolated":true,
                "auto_add_margin": 0,
                "position_margin": 0,
                "occ_closing_fee": 0,
                "realised_pnl": 0,
                "cum_realised_pnl": 0,
                "free_qty": 0,
                "tp_sl_mode": "Full",
                "unrealised_pnl": 0,
                "deleverage_indicator": 0,
                "risk_id": 0,
                "stop_loss": 0,
                "take_profit": 0,
                "trailing_stop": 0
            }
        }
    ],
    "time_now": "1604302080.356538",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1604302080353,
    "rate_limit": 120
}



獲取我的倉位列表。通過該接口可以獲取當前用戶的持倉信息,如持倉數量、賬戶余額等信息

HTTP 請求

GET /private/linear/position/list

請求參數

參數 是否必須 類型 說明
symbol false string 合約類型

返回參數

參數 類型 說明
user_id number 用戶ID
symbol string 合約類型
side string 方向
size number 倉位數量
position_value number 當前倉位價值
entry_price number 平均開倉價
liq_price number 強平價格
bust_price number 破產價格
leverage number 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
auto_add_margin number 是否自動追加保證金
is_isolated bool 是否逐倉,true-逐倉 false-全倉
position_margin number 倉位保證金
occ_closing_fee number 預占用平倉手續費
realised_pnl number 當日已結盈虧
cum_realised_pnl number 累計已結盈虧
free_qty number 可平倉位數量
tp_sl_mode string 止盈止損模式
deleverage_indicator number 風險指示燈等級(1,2,3,4,5)
unrealised_pnl number 未結盈虧
risk_id integer 風險限額ID
take_profit string 止盈價格
stop_loss string 止損價格
trailing_stop string 追蹤止損

自動追加保證金

請求示例

curl https://api.bybit.com/private/linear/position/set-auto-add-margin \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT",margin="10","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_setAutoAddMargin(symbol="BTCUSDT", side="Sell", auto_add_margin=False).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": null,
    "time_now": "1586780385.549188",
    "rate_limit_status": 74,
    "rate_limit_reset_ms": 1586780385547,
    "rate_limit": 75
}

設置自動追加保證金。

HTTP 請求

POST /private/linear/position/set-auto-add-margin

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
side true string 方向
auto_add_margin true bool 追加保證金開關

全倉/逐倉切換

請求示例

curl https://api.bybit.com/private/linear/position/switch-isolated \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","is_isolated":true,"buy_leverage":1,"sell_leverage":1,"timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_switchIsolated(symbol="BTCUSDT", is_isolated=True, buy_leverage=1, sell_leverage=1).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": null,
    "time_now": "1585881597.006026",
    "rate_limit_status": 74,
    "rate_limit_reset_ms": 1585881597004,
    "rate_limit": 75
}

全倉/逐倉切換,從全倉切換至逐倉時需要傳杠桿

HTTP 請求

POST /private/linear/position/switch-isolated

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
is_isolated true bool 全倉/逐倉, true是逐倉,false是全倉
buy_leverage true number 杠桿大於0,小於風險限額對應的杠桿
sell_leverage true number 杠桿大於0,小於風險限額對應的杠桿

切換止盈止損模式

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "tp_sl_mode": "Partial"
    },
    "time_now": "1598266294.610276",
    "rate_limit_status": 72,
    "rate_limit_reset_ms": 1598266294607,
    "rate_limit": 75
}

切換止盈止損模式至全倉或部分

HTTP 請求

POST /private/linear/tpsl/switch-mode

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
tp_sl_mode true string 止盈止損模式

返回參數

參數 類型 說明
tp_sl_mode string 止盈止損模式

增加/減少保證金

請求示例

curl https://api.bybit.com \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","side":"Buy","margin":0.01","timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_changeMargin(symbol="BTCUSDT", side="Buy", margin=0.01).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "PositionListResult": {
            "user_id": 160815,
            "symbol": "BTCUSDT",
            "side": "Buy",
            "size": 3.14,
            "position_value": 18843.14,
            "entry_price": 6001,
            "liq_price": 5428,
            "bust_price": 5398,
            "leverage": 10,
            "position_margin": 1907.0331195,
            "occ_closing_fee": 12.71229,
            "realised_pnl": 3052.20905294,
            "cum_realised_pnl": 75628.40815795,
            "free_qty": 0
        },
        "wallet_balance": 68738.01696765,
        "available_balance": 66830.98384815
    },
     "time_now": "1577480599.097287",
     "rate_limit_status": 119,
     "rate_limit_reset_ms": 1580885703683,
     "rate_limit": 120
}

追加保證金

HTTP 請求

POST /private/linear/position/add-margin

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
side true string 方向
margin true number 增加/減少多少保證金,增加10,減少-10,支持小數後4位

返回參數

參數 類型 說明
user_id number 用戶ID
symbol string 合約類型
side string 方向
size number 倉位數量
position_value number 當前倉位價值
entry_price number 平均開倉價
liq_price number 強平價格
bust_price number 破產價格
leverage number 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
position_margin number 倉位保證金
occ_closing_fee number 預占用平倉手續費
realised_pnl number 當日已結盈虧
cum_realised_pnl number 累計已結盈虧
free_qty number 可平倉位數量
wallet_balance number 錢包余額
available_balance number 可用余額, 錢包余額 - 倉位保證金

修改杠桿

請求示例

curl https://api.bybit.com/private/linear/position/set-leverage \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","buy_leverage":10,"sell_leverage":10"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_saveLeverage(symbol="BTCUSDT", buy_leverage=10, sell_leverage=10).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": null,
    "time_now": "1585881527.650138",
    "rate_limit_status": 74,
    "rate_limit_reset_ms": 1585881527648,
    "rate_limit": 75
}

設置杠桿

HTTP 請求

POST /private/linear/position/set-leverage

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
buy_leverage true number 杠桿大於0,小於風險限額對應的杠桿
sell_leverage true number 杠桿大於0,小於風險限額對應的杠桿

設置止盈止損

請求示例

curl https://api.bybit.com/private/linear/position/trading-stop \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","side":"Buy","take_profit":10,"timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_tradingStop(symbol="BTCUSDT", side="Buy", take_profit=10).result())

響應示例

{
  "ret_code": 0,
  "ret_msg": "OK",
  "ext_code": "",
  "ext_info": "",
  "result": null,
  "time_now": "1586780408.193508",
  "rate_limit_status": 73,
  "rate_limit_reset_ms": 1586780408191,
  "rate_limit": 75
}

設置倉位止盈止損、部分止盈止損、追蹤止損。處於partial mode模式,設置部分止盈止損單,不會覆蓋其他部分止盈止損設置

HTTP 請求

POST /private/linear/position/trading-stop

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
side true string Position side
take_profit false number 不小於0,如果等於0則是取消止盈(TP)
stop_loss false number 不小於0,如果等於0則是取消止損(SL)
trailing_stop false number 不小於0,如果等於0則是取消追蹤止損(TS)
tp_trigger_by false string 止盈激活價格類型,默認為LastPrice
sl_trigger_by false string 止損激活價格類型,默認為LastPrice
sl_size false number 在部分止盈止損模式下,止損合約數量
tp_size false number 在部分止盈止損模式下,止盈合約數量

用戶成交記錄

請求示例

curl "https://api.bybit.com/private/linear/trade/execution/list?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearExecution.LinearExecution_getTrades(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,
        "ret_msg": "OK",
        "ext_code": "",
        "ext_info": "",
        "result": {
            "current_page": 1,
            "data": [
                {
                    "order_id": "7369b2f4-52f1-4698-abf7-368e4ba9aefa",
                    "order_link_id": "",
                    "side": "Buy",  //方向枚舉
                    "symbol": "BTCUSDT", //交易對枚舉
                    "exec_id": "9b8216fa-98d7-55c0-b5fa-279db5727996",
                    "price": 5894,//已廢棄!!
                    "order_price": 5894,
                    "order_qty": 0.001,
                    "order_type": "Limit", //訂單類型枚舉
                    "fee_rate": 0.00075,
                    "exec_price": 5894,
                    "exec_type": "Trade", //交易類型枚舉
                    "exec_qty": 0.001,
                    "exec_fee": 0.0044205,
                    "exec_value": 5.894,
                    "leaves_qty": 0,
                    "closed_size": 0, // 平倉委托對應的平倉大小
                    "last_liquidity_ind": "RemovedLiquidity",  //流動性類型枚舉, 只有當exec_type字段類型為Trade、AdlTrade、BustTrade時有效
                    "trade_time": 1585547384,//已廢棄!!
                    "trade_time_ms": 1585547384847
                }
            ]
        },
        "time_now": "1577480599.097287",
        "rate_limit_status": 119,
        "rate_limit_reset_ms": 1580885703683,
        "rate_limit": 120
    }

}

獲取用戶成交記錄,按時間降序排列。

HTTP 請求

GET /private/linear/trade/execution/list

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
start_time false integer 開始時間戳(毫秒) 限定在當前時間的七天內,如果想了解時間範圍更長的信息,請咨詢客服下載數據。
end_time false integer 結束時間戳(毫秒) 限定在當前時間的七天內, 如果想了解時間範圍更長的信息,請咨詢客服下載數據。
exec_type false string 交易類型
page false integer 頁碼.默認取第一頁
limit false integer 每頁數量, 最大200. 默認每頁50條,最多200條每頁

返回參數

參數 類型 說明
order_id string 訂單ID
order_link_id string 機構自定義訂單ID
side string 方向
symbol string 合約類型
order_price number 訂單價格
order_qty number 訂單數量
order_type string 交易記錄類型
fee_rate number 手續費率
exec_price number 成交價格
exec_type string 交易類型枚舉
exec_qty number 成交數量
exec_fee number 交易手續費
exec_value number 成交價值
leaves_qty number 剩余委托數量
closed_size number 平倉委托對應的平倉大小
last_liquidity_ind string 流動性類型枚舉, 只有當exec_type字段類型為Trade、AdlTrade、BustTrade時有效
trade_time_ms number 交易時間

平倉盈虧

請求示例

curl https://api.bybit.com/private/linear/trade/closed-pnl/list?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_closePnlRecords(symbol="BTCUSDT").result())

響應示例

{
     "ret_code": 0,
     "ret_msg": "OK",
     "ext_code": "",
     "ext_info": "",
     "result": {
         "current_page": 1,
         "data": [
             {
                 "id": 1710,
                 "user_id": 160815,
                 "symbol": "BTCUSDT",
                 "order_id": "e6a11e08-6dd0-404e-bea7-dc22b7ab0228",
                 "side": "Buy",
                 "qty": 0.5,
                 "order_price": 999999,
                 "order_type": "Market",
                 "exec_type": "Trade",
                 "closed_size": 0.5,        //對應的平倉數值
                 "cum_entry_value": 3000,   //被平掉的倉位價值
                 "avg_entry_price": 6000,   //平均入場價
                 "cum_exit_value": 3000.5,  //平倉訂單累計成交價值
                 "avg_exit_price": 6001,    //平均出場價
                 "closed_pnl": -5.000375,   //與平倉size等比例對應的盈虧
                 "fill_count": 1,           //成交筆數
                 "leverage": 100,
                 "created_at": 1577480599
             }
         ]
     },
     "time_now": "1577480599.097287",
     "rate_limit_status": 119,
     "rate_limit_reset_ms": 1580885703683,
     "rate_limit": 120

}

獲取用戶平倉記錄,按時間降序排列。

HTTP 請求

GET /private/linear/trade/closed-pnl/list

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
start_time false int 開始時間戳(秒)
end_time false int 結束時間戳(秒)
exec_type false string 交易類型(不能為"Funding")
page false integer 頁碼.默認取第一頁,最大50
limit false integer 每頁數量, 最大50. 默認每頁20條,最多50條每頁

返回參數

參數 類型 說明
id number 倉位ID
user_id number 用戶ID
symbol string 合約類型
order_id string 訂單ID
side string Side of the closing order
qty number 訂單數量
order_price number 訂單價格
order_type string 交易記錄類型
exec_type string Exec type
closed_size number 對應的平倉數值
cum_entry_value number 被平掉的倉位價值
avg_entry_price number 平均入場價
cum_exit_value number 平倉訂單累計成交價值
avg_exit_price number 平均出場價
closed_pnl number 與平倉size等比例對應的盈虧
fill_count number 成交筆數
leverage number 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
created_at number 創建時間

風險限額

查詢風險限額表

請求示例

curl "https://api.bybit.com/public/linear/risk-limit?api_key={api_key}&timestamp={timestamp}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearWallet.LinearWallet_getRiskLimit(symbol="BTCUSDT").result())

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "id":1,
            "symbol":"BTCUSDT",
            "limit":1000000,
            "maintain_margin":0.005,
            "starting_margin":0.01,
            "section":[
                "1",
                "2",
                "3",
                "5",
                "10",
                "25",
                "50",
                "100"
            ],
            "is_lowest_risk":1,
            "created_at":"2021-03-17T08:20:53.000Z",
            "updated_at":"2021-03-17T08:20:53.000Z",
            "max_leverage":100
        },
        ...
        {
            "id":10,
            "symbol":"BTCUSDT",
            "limit":10000000,
            "maintain_margin":0.05,
            "starting_margin":0.055,
            "section":[
                "1",
                "2",
                "3",
                "4",
                "5",
                "10",
                "15",
                "18"
            ],
            "is_lowest_risk":0,
            "created_at":"2021-03-17T08:21:12.000Z",
            "updated_at":"2021-03-17T08:21:12.000Z",
            "max_leverage":18.18
        }
    ],
    "time_now":"1616052270.701108"
}

查詢風險限額表。

HTTP 請求

GET /public/linear/risk-limit

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型

返回參數

參數 類型 說明
id number 風險限額ID
symbol string 合約類型
limit number 風險限額
maintain_margin number 維持保證金
starting_margin number 起始保證金
section string 區間點
is_lowest_risk number 是否最低風險限額0:不是 1:是
created_at string 創建時間
updated_at string 更新時間
max_leverage string 最大杠桿

設置風險限額

請求示例

curl https://api.bybit.com/private/linear/position/set-risk \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","risk_id":2,"timestamp":{timestamp},"sign":"{sign}"}'
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearPositions.LinearPositions_setRiskLimit(symbol="BTCUSDT", side="Buy",risk_id=1).result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "risk_id": 2
    },
    "time_now": "1609839125.563609",
    "rate_limit_status": 73,
    "rate_limit_reset_ms": 1609839125560,
    "rate_limit": 75
}

設置風險限額。

HTTP 請求

POST /private/linear/position/set-risk

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
side true string 方向
risk_id true integer 風險限額ID

返回參數

參數 類型 說明
risk_id number 風險限額ID

資金費率

查詢預測資金費率和資金費用

請求示例

curl "https://api.bybit.com/private/linear/funding/predicted-funding?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearFunding.LinearFunding_predicted(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "predicted_funding_rate": -0.00375,
        "predicted_funding_fee": 0.13081256
    },
    "time_now": "1587035697.424492",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1587035697422,
    "rate_limit": 120
}

查詢預測資金費率和資金費用。

HTTP 請求

GET /private/linear/funding/predicted-funding

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型

返回參數

參數 類型 說明
predicted_funding_rate number 預測資金費率
predicted_funding_fee number 預測資金費用

查詢上個周期資金費用結算信息

請求示例

curl "https://api.bybit.com/private/linear/funding/prev-funding?api_key={api_key}&symbolt=BTCUSDT&timestamp={timestamp}&sign={sign}"
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.LinearFunding.LinearFunding_prevRate(symbol="BTCUSDT").result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "symbol": "BTCUSDT",
        "side": "Buy",
        "size": 3.13,
        "funding_rate": 0.0001,
        "exec_fee": 1.868923,
        "exec_time": "2020-04-13T08:00:00.000Z"
    },
    "time_now": "1586780352.867171",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1586780352864,
    "rate_limit": 120
}

獲取Bybit的最近成交數據。如果您想獲取歷史所有的成交記錄,請通過這裏下載歷史行情。

HTTP 請求

GET /private/linear/funding/prev-funding

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型

返回參數

參數 類型 說明
symbol string 合約類型
side string 執行資金費率時的用戶倉位方向
size number 執行資金費率時的用戶倉位數量
funding_rate number 資金費率
exec_fee number 交易手續費
exec_time string 交易時間

APIKey信息

請點擊查看接口描述。

流動性貢獻分

請點擊查看接口描述。

錢包接口

錢包相關接口需要認證。

賬號余額

請點擊查看接口描述。

資金記錄

請點擊查看接口描述。

提幣記錄

請點擊查看接口描述。

資產兌換記錄

請點擊查看接口描述。

通用數據接口

通用數據接口不需要鑒權。

服務器時間

請求示例

curl https://api-testnet.bybit.com/v2/public/time

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {},
    "time_now": "1577444332.192859"
}

獲取Bybit服務器時間

HTTP 請求

GET /v2/public/time

請求參數

參數 是否必須 類型 說明

公告

請求示例

curl https://api.bybit.com/v2/public/announcement

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "id": 2,
            "title": "2019-12-02 RELEASE",
            "link": "https://github.com/bybit-exchange/bybit-official-api-docs/blob/master/en/CHANGELOG.md",
            "summary": "<p>New `cancel all` endpoint is here now!</p><p>Additionally, we strongly recommend that you use the new released place and cancel active V2 endpoints, which are more stable and efficient.The old ones are deprecated (although still working for the time be",
            "created_at": "2019-12-02T11:33:42Z"
        }
    ],
    "time_now": "1577444818.227082"
}

獲取Bybit最近30天OpenAPI公告(時間倒敘排列)

HTTP 請求

GET /v2/public/announcement

請求參數

參數 是否必須 類型 說明

頻率限製

IP頻率限製

Bybit會基於請求IP做頻率限製,針對不同的請求方法有以下規則(現貨的IP用量是獨立計算的):

賬戶頻率限製

Bybit基於每分鐘的滾動時間窗口來做頻率限製,並且是按賬戶(uid)和交易對(symbol)來做劃分限製,每次請求API響應中都會包含如下字段:

"rate_limit_status": 119,
"rate_limit_reset_ms": 1572114055663,
"rate_limit": 120

接口頻率限製表

頻率限製 請求路徑 消耗
100/min /private/linear/order/create 1 / request
/private/linear/order/cancel 1 / request
/private/linear/order/cancel-all 10 / request
/private/linear/stop-order/create 1 / request
/private/linear/stop-order/cancel 1 / request
/private/linear/stop-order/cancel-all 10 / request
75/min /private/linear/position/set-leverage 1 / request
/private/linear/position/switch-isolated 1 / request
/private/linear/tpsl/switch-mode 1 / request
/private/linear/position/set-auto-add-margin 1 / request
/private/linear/position/trading-stop 1 / request
/private/linear/position/add-margin 1 / request
120/min /private/linear/position/list 1 / request
/private/linear/trade/closed-pnl/list 1 / request
/private/linear/trade/execution/list 1 / request
600/min /private/linear/order/list 1 / request
/private/linear/order/search 1 / request
/private/linear/stop-order/list 1 / request
/private/linear/stop-order/search 1 / request
120/min /private/linear/funding/prev-funding 1 / request
/private/linear/funding/predicted-funding 1 / request

下單限製

每個交易對可以持有的訂單數量上限:

如何提高頻率限製

Bybit流動性貢獻系統

Bybit 使用報單成交率流動性貢獻打分來評價用戶對改善bybit可執行流動性作出的貢獻。

不同symbol的貢獻分報單成交率是獨立計算的。

報單成交率

平臺上每天提交超過2000個報單的賬戶,需要保持7天的報單成交率高於最小報單成交率門檻值,違反此規則將會被降低頻率或禁用 API。

報單成交率

報單成交率舉例
A用戶:
已成交報單數量 = 2
已提交報單數量 =8
報單成交率 = 2 / 8 = 25%

B用戶:
已成交報單數量 = 1
已提交報單數量 =1
報單成交率 = 1 / 1 = 100%

API 交易用戶最小報單成交率門檻

7日內API 交易用戶最小報單成交率門檻 0.1%

API 交易用戶提高頻率的條件

平臺會根據API用戶近7日掛單對平臺流動性貢獻分的最低值,對滿足條件的用戶進行提高頻率上限的獎勵

流動性貢獻分 Order頻率限製
20-100 800次 / 每分鐘
10-20 600次 / 每分鐘
5-10 400次 / 每分鐘
2-5 200次 / 每分鐘
<2 100次 / 每分鐘
流動性貢獻打分

名詞解釋
有效價格掛單

有效價格範圍
[最佳競價中間價 - 3 * 價格最小變動單位, 最佳競價中間價 + 3 * 價格最小變動單位]

舉例:
 BTC最佳競買價 = 10000
 BTC最佳競賣價 = 10001
 「有效價格」範圍:
 [(10000 + 10001) / 2 - 3* 0.5, (10000 + 10001) / 2 + 3* 0.5] = [9999,10002]

有效價格掛單自占比

每秒計算 該用戶在有效價格範圍內的報掛單數量 /該用戶提交的掛單總數量,然後每日計算用戶當日占比的平均值。

該用戶在有效價格範圍內的掛單數量 = 8000
該用戶提交的掛單總數量 = 10000
有效價格掛單自占比 = 8000 / 10000 = 0.8

有效價格掛單平臺占比

每秒計算 該用戶在有效價格範圍內的掛單數量 / 平臺所有用戶在有效價格範圍內的掛單總數量,然後每日計算用戶當日占比的平均值。

有效價格掛單平臺占比舉例:

某一秒,用戶在「有效價格」範圍:[9999, 10002] 內的掛單有8000張,全平臺的交易委托賬本在 [9999, 10002] 內的掛單總量為200000。

該用戶在有效價格範圍內的掛單數量 = 8000
平臺所有用戶在有效價格範圍內的掛單總數量 = 200000
有效價格掛單量平臺占比 = 8000 / 200000 = 0.04

WebSocket接口

鑒權/認證

認證方式:

方法1: 建立連接時附帶驗證信息.

# based on: https://github.com/verata-veritatis/pybit/blob/master/pybit/__init__.py

import hmac
import json
import time
import websocket

ws_url = "wss://stream.bybit.com/realtime"

api_key = ""
api_secret = ""

# Generate expires.
expires = int((time.time() + 1) * 1000)

# Generate signature.
signature = str(hmac.new(
    bytes(api_secret, "utf-8"),
    bytes(f"GET/realtime{expires}", "utf-8"), digestmod="sha256"
).hexdigest())

param = "api_key={api_key}&expires={expires}&signature={signature}".format(
    api_key=api_key,
    expires=expires,
    signature=signature
)

url = ws_url + "?" + param

ws = websocket.WebSocketApp(
    url=url,
    ...
)

方法2: 建立連接後發送auth請求驗證.

ws = websocket.WebSocketApp(
    url=url,
    ...
)

# Authenticate with API.
ws.send(
    json.dumps({
        "op": "auth",
        "args": [api_key, expires, signature]
    })
)

Websocket服務器地址:

如右側代碼區所示,一共有兩種驗證方法.

心跳包/Ping

如何發送心跳包

ws.send('{"op":"ping"}');

響應示例

{
    "success": true, // Whether ping is successful
    "ret_msg": "pong",
    "conn_id": "036e5d21-804c-4447-a92d-b65a44d00700",// current connection id
    "request": {
        "op": "ping",
        "args": null
    }
}

訂閱方式

Websocket訂閱方式

直接訂閱

// Subscribing to the trade data for ETHUSDT
ws.send('{"op":"subscribe","args":["trade.ETHUSDT"]}')

訂閱多個topic

// Example: Subscribing to the trade data for BTCUSD and XRPUSD
ws.send('{"op":"subscribe","args":["trade.BTCUSDT","trade.XRPUSDT"]}')

建立連接後, 可以通過發送JSON請求來訂閱topic. 其中binary為false表示不進行壓縮傳輸,為true時表示以GZIP格式進行壓縮,請求格式如下:

ws.send('{"op": "subscribe", "args": ["topic.filter"]}');

您也可以同時訂閱多個感興趣的topic,訂閱方式如下

ws.send('{"op": "subscribe", "args": ["topic.filter", "topic.filter"]}');

Websocket取消訂閱方式

取消訂閱

// Unsubscribing from the trade data for ETHUSDT
ws.send('{"op":"unsubscribe","args":["trade.ETHUSDT"]}')

您可以在不斷開連接的前提下動態調整您要訂閱的信息,取消訂閱方式如下:

ws.send('{"op": "unsubscribe", "args": ["topic.filter", "topic.filter"]}');

推送周期

如果topic名中包含一個推送周期,如100ms, 那麽表明這個topic是每隔100ms推送一次.否則, 這個topic只要有消息就會推送.

訂閱結果

訂閱推送

{
   "success": true, // Whether subscription is successful
   "ret_msg": "",   // Successful subscription: "", otherwise it shows error message
   "conn_id":"e0e10eee-4eff-4d21-881e-a0c55c25e2da",// current connection id
   "request": {     // Request to your subscription
       "op": "subscribe",
       "args": [
           "kline.BTCUSDT.1m"
       ]
   }
}

每個topic訂閱請求都會有對應的響應,您可以根據返回結果判斷是否訂閱成功。

公共 Topics

orderBook25檔

請求訂閱

ws.send('{"op": "subscribe", "args": ["orderBookL2_25.BTCUSDT"]}');
from BybitWebsocket import BybitWebsocket
ws = BybitWebsocket(wsURL="wss://stream-testnet.bybit.com/realtime_public",
                    api_key=None, api_secret=None)
ws.subscribe_orderBookL2(symbol="BTCUSDT")
while True:
    data = ws.get_data("orderBookL2_25.BTCUSDT")
    if data:
        print(data)

快照推送示例 - 連接建立成功後首次推送

{
     "topic": "orderBookL2_25.BTCUSDT",
     "type": "snapshot",
     "data": {
         "order_book":[
             {
                 "price": "2999.00",
                 "symbol": "BTCUSDT",
                 "id": 29990000,
                 "side": "Buy",
                 "size": 9
             },
             {
                 "price": "3001.00",
                 "symbol": "BTCUSDT",
                 "id": 30010000,
                 "side": "Sell",
                 "size": 10
             }
          ]
     },
     "cross_seq": 11518,
     "timestamp_e6": 1555647164875373
}

增量推送示例 - 快照數據推送後,推送的增量數據

{
     "topic": "orderBookL2_25.BTCUSDT",
     "type": "delta",
     "data": {
          "delete": [
             {
                   "price": "3001.00",
                   "symbol": "BTCUSDT",
                   "id": 30010000,
                   "side": "Sell"
             }
          ],
          "update": [
             {
                   "price": "2999.00",
                   "symbol": "BTCUSDT",
                   "id": 29990000,
                   "side": "Buy",
                   "size": 8
             }
          ],
          "insert": [
             {
                   "price": "2998.00",
                   "symbol": "BTCUSDT",
                   "id": 29980000,
                   "side": "Buy",
                   "size": 8
             }
          ],
          "transactTimeE6": 0
     },
     "cross_seq": 11519,
     "timestamp_e6": 1555647221331673
}

獲取25檔orderbook數據.

訂閱成功後, 會立即得到一個當前快照包的推送信息. orderbook數據按訂單價格升序排列, 從最低價格的買單到最高價格的賣單.

快照包之後,每當orderbook發生變化,websocket都會推送這些變化的增量數據.

返回參數

參數 類型 說明
price string 委托價格
symbol string 合約類型
side string 方向
size number 倉位數量

orderBook200檔

請求訂閱

ws.send('{"op": "subscribe", "args": ["orderBook_200.100ms.BTCUSDT"]}');

快照推送示例 - 連接建立成功後首次推送

{
     "topic": "orderBook_200.100ms.BTCUSDT",
     "type": "snapshot",
     "data": {
         "order_book":[
             {
                 "price": "2999.00",
                 "symbol": "BTCUSDT",
                 "id": 29990000,
                 "side": "Buy",
                 "size": 9
             },
             {
                 "price": "3001.00",
                 "symbol": "BTCUSDT",
                 "id": 30010000,
                 "side": "Sell",
                 "size": 10
             }
          ]
     },
     "cross_seq": 11518,
     "timestamp_e6": 1555647164875373
}

增量推送示例 - 快照數據推送後,推送的增量數據

{
     "topic": "orderBook_200.100ms.BTCUSDT",
     "type": "delta",
     "data": {
          "delete": [
             {
                   "price": "3001.00",
                   "symbol": "BTCUSDT",
                   "id": 30010000,
                   "side": "Sell"
             }
          ],
          "update": [
             {
                   "price": "2999.00",
                   "symbol": "BTCUSDT",
                   "id": 29990000,
                   "side": "Buy",
                   "size": 8
             }
          ],
          "insert": [
             {
                   "price": "2998.00",
                   "symbol": "BTCUSDT",
                   "id": 29980000,
                   "side": "Buy",
                   "size": 8
             }
          ],
          "transactTimeE6": 0
     },
     "cross_seq": 11519,
     "timestamp_e6": 1555647221331673
}

獲取200檔orderbook數據.

訂閱成功後, 會立即得到一個當前快照包的推送信息. orderbook數據按訂單價格升序排序, 從最低價格的買單到最高價格的賣單.

快照包之後,每當orderbook發生變化,websocket將會繼續推送這些增量數據.

返回參數

參數 類型 說明
price string 委托價格
symbol string 合約類型
side string 方向
size number 倉位數量

平臺成交

請求訂閱

ws.send('{"op": "subscribe", "args": ["trade.BTCUSDT"]}')

響應示例

{
    "topic": "trade.BTCUSDT",
    "data": [
        {
            "symbol": "BTCUSDT",
            "tick_direction": "PlusTick",
            "price": 8098,
            "size": 328,
            "timestamp":"2020-03-30T02:21:06.000Z",
            "trade_time_ms":"1585534866418",
            "side":"Sell",
            "trade_id":"01e79e28-d1f4-59ac-b079-ca909606d91a"
        }
    ]
}

獲取Bybit平臺最近成交數據.

返回參數

參數 類型 說明
symbol string 合約類型
tick_direction string 價格變化方向
price number 委托價格
size number 倉位數量
time string UTC 時間
trade_time_ms string 毫秒時間戳
side string 方向
trade_id string 交易ID

行情

請求訂閱

ws.send('{"op": "subscribe", "args": ["instrument_info.100ms.BTCUSDT"]}')
from BybitWebsocket import BybitWebsocket
ws = BybitWebsocket(wsURL="wss://stream-testnet.bybit.com/realtime_public",
                    api_key=None, api_secret=None)
ws.subscribe_instrument_info("BTCUSDT")
while True:
    data = ws.get_data("instrument_info.100ms.BTCUSDT")
    if data:
        print(data)

快照推送示例 - 連接建立成功後首次推送

{
  "topic": "instrument_info.100ms.BTCUSDT",
  "type": "snapshot",
  "data": {
       "id": 1,
       "symbol": "BTCUSDT",
       "last_price_e4": "322955000",
       "last_price": "322955000",
       "last_tick_direction": "ZeroPlusTick",
       "prev_price_24h_e4": "331960000",
       "prev_price_24h": "331960000",
       "price_24h_pcnt_e6": "-27126",
       "high_price_24h_e4": "333120000",
       "high_price_24h": "333120000",
       "low_price_24h_e4": "315940000",
       "low_price_24h": "315940000",
       "prev_price_1h_e4": "319490000",
       "prev_price_1h": "319490000",
       "price_1h_pcnt_e6": "10845",
       "mark_price_e4": "323133000",
       "mark_price": "323133000",
       "index_price_e4": "323106800",
       "index_price": "323106800",
       "open_interest_e8": "1430451600000",
       "total_turnover_e8": "5297934997553700000",
       "turnover_24h_e8": "243143978993099700",
       "total_volume_e8": "1184936057899924",
       "volume_24h_e8": "7511238100000",
       "funding_rate_e6": "100",
       "predicted_funding_rate_e6": "-15",
       "cross_seq": "6501157651",
       "created_at": "1970-01-01T00:00:00.000Z",
       "updated_at": "2021-07-14T09:32:10.000Z",
       "next_funding_time": "2021-07-14T16:00:00Z",
       "count_down_hour": "7",
       "bid1_price_e4": "322950000",
       "ask1_price_e4": "322955000"
       "bid1_price": "322950000",
       "ask1_price_e4": "322955000",
       "ask1_price": "322955000",
  },
  "cross_seq": "6501157734",
  "timestamp_e6": "1626255131908287"
}

增量推送示例 - 快照數據推送後,推送的增量數據

{
  "topic": "instrument_info.100ms.BTCUSDT",
  "type": "delta",
  "data": {
    "update": [
      {
        "id": 1,
        "symbol": "BTCUSDT",
        "last_price_e4": "322950000",
        "last_price": "322950000",
        "price_24h_pcnt_e6": "-27141",
        "price_1h_pcnt_e6": "10829",
        "index_price_e4": "323100000",
        "index_price": "323100000",
        "total_turnover_e8": "5297935000783200000",
        "turnover_24h_e8": "243143982222599700",
        "total_volume_e8": "1184936057999924",
        "volume_24h_e8": "7511238200000",
        "cross_seq": "6501157735",
        "created_at": "1970-01-01T00:00:00.000Z",
        "updated_at": "2021-07-14T09:32:12.000Z"
      }
    ]
  },
  "cross_seq": "6501157736",
  "timestamp_e6": "1626255132104671"
}

獲取合約的最新數據.

返回參數

參數 類型 說明
symbol string 合約類型
last_price_e4 integer (已廢棄)最新成交價 * 10^4
tick_direction string 價格變化方向
prev_price_24h_e4 integer (已廢棄)24小時前的整點市價 * 10^4
price_24h_pcnt_e6 integer 市價相對24h變化百分比 * 10^4
high_price_24h_e4 integer (已廢棄)最近 24 小時最高價 * 10^4
low_price_24h_e4 integer (已廢棄)最近 24 小時最低價 * 10^4
prev_price_1h_e4 integer (已廢棄)1小時前的整點市價 * 10^4
price_1h_pcnt_e6 integer 市價相對1小時前變化百分比 * 10^6
mark_price_e4 integer (已廢棄)標記價格 * 10^4
index_price_e4 integer (已廢棄)指數價格 * 10^4
last_price integer 最新成交價
prev_price_24h integer 24小時前的整點市價
high_price_24h integer 最近 24 小時最高價
low_price_24h integer 最近 24 小時最低價
prev_price_1h integer 1小時前的整點市價
mark_price integer 標記價格
index_price integer 指數價格
open_interest_e8 integer 未平倉合約數量* 10^8. 不是實時更新,最慢更新時間是一分鐘
total_turnover_e8 integer 總營業額 * 10^8
turnover_24h_e8 integer 24小時營業額 * 10^8
total_volume_e8 integer 總交易量 * 10^8
volume_24h_e8 integer Trading volume in the last 24 hours * 10^8
funding_rate_e6 integer 預測資金費率 * 10^6
predicted_funding_rate_e6 integer 預測資金費率 * 10^6
cross_seq integer 撮合版本號
created_at string 創建時間
updated_at string 更新時間
next_funding_time string 下次結算資金費用時間
countdown_hour number 結算資金費用剩余時間
bid1_price_e4 integer (已廢棄)最佳買單價格 * 10^4
ask1_price_e4 integer (已廢棄)最佳賣單價格 * 10^4
bid1_price integer 最佳買單價格
ask1_price integer 最佳賣單價格

K線

請求訂閱

ws.send('{"op":"subscribe","args":["candle.1.BTCUSDT"]}')

響應示例

{
    "topic":"candle.1.BTCUSDT",
    "data":[
        {
            "start":1588071660,
            "end":1588071720,
            "open":7744.5,
            "close":7745,
            "high":7745,
            "low":7744,
            "volume":"33.051",
            "turnover":"255979.995",
            "confirm":true,
            "cross_seq":71947372,
            "timestamp":1588071717325846
        }
    ],
    "timestamp_e6":1588071721163975
}

目前所支持的周期:

返回參數

參數 類型 說明
start integer 開始時間戳(秒)
end integer 結束時間戳(秒)
open number 開始價格
close number 結束價格
high number 最高價格
low number 最低價格
volume string 交易量
turnover string 成交金額
confirm bool 是否確認
cross_seq integer 撮合版本號
timestamp integer 結束時間戳(秒)

平臺強平推送

請求訂閱

ws.send('{"op":"subscribe","args":["liquidation.XRPUSDT"]}')

響應示例

{
    "topic":"liquidation.XRPUSDT",
    "data": {
        "symbol":"XRPUSDT",
        "side":"Sell",
        "price":"3384.15",
        "qty":"0.057",
        "time":1631608881954
    }
}

查詢平臺強平推送

返回參數

參數 類型 說明
symbol string 合約類型
side string 強平訂單的方向
price string 破產價格
qty string 交易數量
time number 毫秒時間戳

私有 Topics

持倉

請求訂閱

ws.send('{"op": "subscribe", "args": ["position"]}')

響應示例

{
   "topic": "position",
   "action": "update",
   "data": [
       {
           "user_id":  1,
           "symbol": "BTCUSD",
           "size": 11,
           "side": "Sell",
           "position_value": "0.00159252",
           "entry_price": "6907.291588174717",
           "liq_price": "7100.234",
           "bust_price": "7088.1234",
           "leverage": "1",
           "order_margin":  "1",
           "position_margin":  "1",
           "occ_closing_fee":  "0.1",
           "take_profit":  "0.1",
           "tp_trigger_by": 0,
           "stop_loss":  "0.12",
           "sl_trigger_by": "Normal",
           "realised_pnl": "Normal",
           "cum_realised_pnl": "Normal",
           "position_seq": 14
       }
   ]
}

獲取我的倉位列表。通過該接口可以獲取當前用戶的持倉信息,如持倉數量、賬戶余額等信息

返回參數

參數 類型 說明
user_id number 用戶ID
symbol string 合約類型
size number 倉位數量
side string 方向
position_value string 倉位價值
entry_price string 平均入場價
liq_price string 強平價格
bust_price string 破產價格
leverage string 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
order_margin string 委托預占用保證金
position_margin string 倉位保證金
occ_closing_fee string 倉位占用的平倉手續費
take_profit string 止盈價格
tp_trigger_by number 止盈激活價格類型,默認為LastPrice
stop_loss string 止損價格
sl_trigger_by string string
realised_pnl string 當日已結盈虧
cum_realised_pnl string 累計已結盈虧
position_status string 倉位狀態,正常,強平,減倉
position_seq number 倉位變化版本號

個人成交

請求訂閱

ws.send('{"op": "subscribe", "args": ["execution"]}')
from BybitWebsocket import BybitWebsocket
ws = BybitWebsocket(wsURL="wss://stream-testnet.bybit.com/realtime_private",
                    api_key=api_key, api_secret=api_secret)
ws.subscribe_execution()
while True:
    data = ws.get_data("execution")
    if data:
        print(data)

響應示例

{
    "topic": "execution",
    "data": [
        {
            "symbol": "BTCUSDT",
            "side": "Sell",
            "order_id": "xxxxxxxx-xxxx-xxxx-9a8f-4a973eb5c418",
            "exec_id": "xxxxxxxx-xxxx-xxxx-8b66-c3d2fcd352f6",
            "order_link_id": "",
            "price": 11527.5,
            "order_qty": 0.001,
            "exec_type": "Trade",
            "exec_qty": 0.001,
            "exec_fee": 0.00864563,
            "leaves_qty": 0,
            "is_maker": false,
            "trade_time": "2020-08-12T21:16:18.142746Z"
        }
    ]
}

獲取用戶成交記錄,按時間升序排列。

返回參數

參數 類型 說明
symbol string 合約類型
side string 方向
order_id string 訂單ID
exec_id string 成交ID
order_link_id string 機構自定義訂單ID
price string 成交價格
order_qty number 訂單數量
exec_type string 交易類型枚舉
exec_qty number 成交數量
exec_fee string 交易手續費
trade_time string 交易時間

活動單

請求訂閱

ws.send('{"op": "subscribe", "args": ["order"]}')
from BybitWebsocket import BybitWebsocket
ws = BybitWebsocket(wsURL="wss://stream-testnet.bybit.com/realtime_private",
                    api_key=api_key, api_secret=api_secret)
ws.subscribe_order()
while True:
    data = ws.get_data("order")
    if data:
        print(data)

響應示例

{
    "topic": "order",
    "action": "",
    "data": [
        {
            "order_id": "xxxxxxxx-xxxx-xxxx-9a8f-4a973eb5c418",
            "order_link_id": "",
            "symbol": "BTCUSDT",
            "side": "Buy",
            "order_type": "Limit",
            "price": 11000,
            "qty": 0.001,
            "leaves_qty": 0.001,
            "last_exec_price": 0,
            "cum_exec_qty": 0,
            "cum_exec_value": 0,
            "cum_exec_fee": 0,
            "time_in_force": "GoodTillCancel",
            "create_type": "CreateByUser",
            "cancel_type": "UNKNOWN",
            "order_status": "New",
            "take_profit": 0,
            "stop_loss": 0,
            "trailing_stop": 0,
            "reduce_only": false,
            "close_on_trigger": false,
            "create_time": "2020-08-12T21:18:40.780039678Z",
            "update_time": "2020-08-12T21:18:40.787986415Z"
        }
    ]
}

返回參數

參數 類型 說明
order_id string 訂單ID
order_link_id string 機構自定義訂單ID
symbol string 合約類型
side string 方向
order_type string 委托單價格類型
price string 委托價格
qty number 成交數量
time_in_force string 執行策略
order_status string 訂單狀態
last_exec_price number 最近一次成交價格
cum_exec_qty number 累計成交數量
cum_exec_value string 累計成交價值
cum_exec_fee string 累計成交手續費
reduce_only bool 只減倉
close_on_trigger bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
create_time string 委托時間
update_time string 成交時間

條件單

請求訂閱

ws.send('{"op": "subscribe", "args": ["stop_order"]}')

響應示例

{
    "topic": "stop_order",
    "data": [
        {
            "stop_order_id": "xxxxxxxx-xxxx-xxxx-98fb-335aaa6c613b",
            "order_link_id": "",
            "user_id": 1,
            "symbol": "BTCUSD",
            "side": "Buy",
            "order_type": "Limit",
            "price": "8584.5",
            "qty": 1,
            "time_in_force": "ImmediateOrCancel",
            "order_status": "Untriggered", //條件單狀態stop_order_status枚舉
            "stop_order_type": "Stop",
            "trigger_by": "LastPrice",
            "trigger_price": "8584.5",
            "reduce_only": false,
            "close_on_trigger": false,
            "create_time": "2020-01-14T14:11:22.062Z",
            "update_time": "2020-01-14T14:11:22.062Z"
        }
    ]
}

返回參數

參數 類型 說明
stop_order_id string 條件委托訂單ID。
order_link_id string 機構自定義訂單ID
user_id number 用戶ID
symbol string 交易對枚舉
side string 方向
order_type string 訂單類型枚舉
price string 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
stop_order_type string 委托單價格類型
trigger_by string 觸發價格類型. 默認為最新市價
trigger_price string 如果stop_order_type為`TrailingProfit`時,為激活價格,否則為觸發價格。
reduce_only bool 只減倉
close_on_trigger bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
created_at string 創建時間
updated_at string 更新時間

錢包

請求訂閱

ws.send('{"op": "subscribe", "args": ["wallet"]}')

響應示例

{
    "topic": "wallet",
    "data": [
        {
            "wallet_balance":429.80713,
            "available_balance":429.67322
        }
    ]
}

返回參數

參數 類型 說明
wallet_balance number 錢包余額
available_balance number 可用余額, 錢包余額 - 倉位保證金

歸檔數據

歷史行情

您可以在這裏獲取Bybit 歷史行情數據

錯誤碼

Bybit使用以下HTTP Code和錯誤碼:

HTTP Code 含義
200 請求有效
403 拒絕訪問
404 訪問路徑不存在
Error Code 含義
10001 內部錯誤; 無法處理您的請求。 請再試一次.
10002 請求過期,請檢查 timestamprecv_window
10003 無效的apikey
10004 簽名錯誤
10005 apikey權限不足
10006 請求次數超限
10007 您的請求中沒有api_key
10010 請求ip不匹配
10016 服務異常或請求超時
10017 請求路徑不存在或請求方法錯誤
10018 超過ip頻率限製
33004 apikey已過期
35014 下單數量超過上限
130001 沒有獲取倉位
130002 錢包數據為空
130003 倉位狀態不正常
130004 活動單數量超過上限
130005 委托單價格超過允許範圍
130006 委托單的數量超過允許範圍
130007 委托單價格超過允許範圍
130008 委托單類型無效
130009 合約數量低於最低限製
130010 委托單不存在或超時而無法操作
130011 倉位在強平過程中而無法操作
130012 倉位在減倉過程中而無法操作
130013 追蹤單的追蹤值無效
130014 條件單的觸發價格無效
130015 條件單的預期方向和基礎價格無效
130016 無效的條件單類型,不能更改價格
130017 無效的條件單類型,不能更改數量
130018 無效的追蹤值
130019 無效的條件單類型,無法更改觸發價格
130020 無效的條件單類型,無法更改追蹤值
130021 下單成本不足
130024 不能給無倉位設置止盈止損
130025 低於10%基準價格
130026 價格太高
130027 給買方向的倉位設置的價格應該高於基準價格
130028 給賣方向的倉位設置的價格應該在基準價格和強平價之間
130029 給買方向的倉位設置的價格應該在基準價格和強平價之間
130030 給賣方向的倉位設置的價格應該低於基準價格
130032 無效的訂單狀態,不能取消或執行觸發
130033 條件單數量大於限製10
130034 無法更改止盈/止損單
130035 太頻繁取消單子,請稍後重試
130037 訂單已經被取消了
130040 倉位將被強平
130041 可用余額小於0
130049 可用余額不足
130050 相應的調整將會觸發強平
130051 由於風險限額,無法設置杠桿
130052 低於最低限製,無法設置杠桿
130056 倉位處於全倉中
130057 倉位size為0
130058 不能設置保證金低於最低倉位成本
130059 不能設置倉位開倉限額大於品種的限額
130060 自動追加保證金未更改
130061 沒有改變費用,無效的請求
130062 不能設置開倉限額低於當前買倉位價值
130063 不能設置開倉限額低於當前賣倉位價值
130064 僅支持USDT
130074 需要價格上升,但觸發價低於當前價
130075 需要價格下降,但觸發價高於當前價
130076 參數無效
130077 入金請求已處理過
130078 出金請求已處理過
130079 結算當日盈虧請求已處理過
130101 無法解析的創建委托單請求
130102 無法解析的取消委托單請求
130103 無法解析的取消所有委托單請求
130104 無法解析的強平請求
130105 無法解析的預下單請求
130106 無法解析的查詢委托單請求
130107 無法解析的觸發激活請求
130108 無法解析的追加保證金請求
130109 無法解析的計算倉位盈虧請求
130110 無法解析的查詢資產請求
130111 無法解析的查詢倉位列表請求
130112 無法解析的設置自動追加保證金請求
130113 無法解析的設置費用請求
130114 無法解析的調杠桿請求
130115 無法解析的設置保證金請求
130116 無法解析的設置開倉限額請求
130117 無法解析的設置止盈止損請求
130118 無法解析的結算資金費用請求
130119 無法解析的設置倉位模式請求
130120 無法解析的入金請求
130121 無法解析的出金請求
130122 無法解析的結算當日盈虧請求
130123 無法解析的AdlExecute請求
130124 無法解析的adl clean請求
130125 平倉數量大於持倉數量
130126 盤口沒有掛單
130023 本訂單成交後會觸發強平
130127 止盈止損及追蹤止損沒有修改
130145 平倉單size大於倉位可平量
130149 止盈止損設置失敗,價格校驗未通過
130150 操作過快,請稍後重試
130151 切換失敗,請先取消當前止盈止損設置
130152 切換失敗,請先取消當前止盈止損設置
130153 切換失敗,請先取消當前止盈止損設置
130154 切換失敗,請先取消活動單的止盈止損設置
130155 剩余可設置止盈止損的數量不足
130156 不允許修改活動單價格或數量的同事修改止盈止損觸發價格
130157 修改失敗,此活動單已部分成交情況下,不能修改止盈止損價格
130158 倉位止盈止損模式下,不允許修改止盈止損數量
130159 部分止盈止損模式下,止盈止損設置超過20條
134026 風險限額未修改
132011 調整失敗,當前倉位大小超出風險限額
130090 風險限額無效

枚舉定義

以下是各個接口請求參數或返回結果中定義的枚舉。

Side (side)

Symbol (symbol)

您可以根據Query Symbol接口獲取所有交易中的symbol。

Currency (currency/coin)

Contract Type(contract_type)

Contract Status(status)

Wallet fund type (wallet_fund_type / type)

Withdraw status (status)

Order type (order_type)

Quantity (qty)

Price (price)

Time in force (time_in_force)

Trigger price type (trigger_by)

Order (order)

排序方向

Order status (order_status)

Cancel type (cancel_type)

Create type (create_type)

Exec type (exec_type)

Liquidity type (last_liquidity_ind)

Tick direction type (tick_direction)

表示價格的波動,相對於上一筆交易是漲還是跌

TP/SL mode (tp_sl_mode)

止盈止損模式

Kline interval (interval)

Stop order type (stop_order_type)