English
NAV
console python

中文社區和參考資料

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

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

中文社區和參考資料

更新日誌

2022-07-18

REST API

WebSocket API

2022-06-30

REST API

2022-04-29

REST API

2022-04-28

REST API

2021

2021-12-28

REST API

WebSocket 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)

How can I ensure I am using up-to-date data?

What is the difference between turnover and volume?

鑒權/認證

所有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-testnet.bybit.com/public/linear/kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260
from pybit import usdt_perpetual
session_unauth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.query_kline(
    symbol="BTCUSDT",
    interval=1,
    limit=2,
    from_time=1581231260
))

響應示例

{
    "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
interval string 數據記錄周期. 5min 15min 30min 1h 4h 1d
start_at integer 開始時間戳(秒)
open_time integer 開始時間
volume number 交易量
open integer 開始價格
high integer 最高價格
low number 最低價格
close integer 結束價格
turnover number 成交金額

合約最新信息

請點擊查看接口描述。

平臺交易歷史數據

請求示例

curl https://api-testnet.bybit.com/public/linear/recent-trading-records?symbol=BTCUSDT&limit=500
from pybit import usdt_perpetual
session_unauth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.public_trading_records(
    symbol="BTCUSDT",
    limit=500
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "id": "18368131384",
            "symbol": "BTCUSDT",
            "price": 9499.5,
            "qty": 9500,
            "side": "Buy",
            "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 Side of taker order
time string UTC 時間
trade_time_ms number 毫秒時間戳

查詢合約信息

請點擊查看接口描述。

查詢強平訂單數據

請點擊查看接口描述。

查詢上個周期的資金費率

請求示例

curl https://api-testnet.bybit.com/public/linear/funding/prev-funding-rate?symbol=BTCUSDT
from pybit import usdt_perpetual
session_unauth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.get_the_last_funding_rate(
    symbol="BTCUSDT"
))

響應示例

{
    "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-testnet.bybit.com/public/linear/mark-price-kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260
from pybit import usdt_perpetual
session_unauth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.query_mark_price_kline(
    symbol="BTCUSDT",
    interval=1,
    limit=2,
    from_time=1581231260
))

響應示例

{
    "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-testnet.bybit.com/public/linear/index-price-kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260"
from pybit import usdt_perpetual
session_unauth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.query_index_price_kline(
    symbol="BTCUSDT",
    interval=1,
    limit=2,
    from_time=1581231260
))

響應示例

{
    "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-testnet.bybit.com/public/linear/premium-index-kline?symbol=BTCUSDT&interval=1&limit=2&from=1581231260"
from pybit import usdt_perpetual
session_unauth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.query_premium_index_kline(
    symbol="BTCUSDT",
    interval=1,
    limit=2,
    from_time=1581231260
))

響應示例

{
    "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-testnet.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}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.place_active_order(
    symbol="BTCUSDT",
    side="Sell",
    order_type="Limit",
    qty=0.01,
    price=8083,
    time_in_force="GoodTillCancel",
    reduce_only=False,
    close_on_trigger=False
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "order_id": "a6c64aa0-c80b-4865-ae35-99be5fab3535",
        "user_id": 533285,
        "symbol": "MANAUSDT",
        "side": "Sell",
        "order_type": "Limit",
        "price": 0.8,
        "qty": 100,
        "time_in_force": "GoodTillCancel",
        "order_status": "Created",
        "last_exec_price": 0,
        "cum_exec_qty": 0,
        "cum_exec_value": 0,
        "cum_exec_fee": 0,
        "reduce_only": false,
        "close_on_trigger": false,
        "order_link_id": "Mactive001",
        "created_time": "2022-06-22T01:46:11Z",
        "updated_time": "2022-06-22T01:46:11Z",
        "take_profit": 0.65,
        "stop_loss": 0.99,
        "tp_trigger_by": "MarkPrice",
        "sl_trigger_by": "LastPrice",
        "position_idx": 2
    },
    "time_now": "1655862371.660491",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1655862371657,
    "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 委托數量(加密貨幣)
price false number 委托價格。如果是下限價單,該參數為必填. 在沒有倉位時,做多的委托價格需高於市價的10%、低於1百萬。如有倉位時則需優於強平價。價格增減最小單位請參考交易對接口響應中的price_filter字段
time_in_force true string 執行策略
reduce_only true bool 什麽是 reduce-only order?,true-平倉 false-開倉,ture時止盈止損設置不生效
close_on_trigger true bool 什麽是 close on trigger order?只會減少您的倉位而不會增加您的倉位。如果當平倉委托被觸發時,賬戶上的余額不足,那麽該合約的其他委托將被取消或者降低委托數量。使用此選項可以確保您的止損單被用於減倉而非加倉。
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
position_idx false integer Position idx, 用於在不同倉位模式下標識倉位。 如果是單向持倉模式, 該參數為必填:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

返回參數

參數 類型 說明
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, 最大長度36位,且同一機構下自定義ID不可重復
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

查詢活動委托

請求示例

curl "https://api-testnet.bybit.com/private/linear/order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}&symbol=BTCUSDT"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.get_active_order(
    symbol="BTCUSDT"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "current_page": 1,
        "data": [
            {
                "order_id": "a6c64aa0-c80b-4865-ae35-99be5fab3535",
                "user_id": 533285,
                "symbol": "MANAUSDT",
                "side": "Sell",
                "order_type": "Limit",
                "price": 0.8,
                "qty": 100,
                "time_in_force": "GoodTillCancel",
                "order_status": "Filled",
                "last_exec_price": 0.8315,
                "cum_exec_qty": 100,
                "cum_exec_value": 83.15,
                "cum_exec_fee": 0.04989,
                "reduce_only": false,
                "close_on_trigger": false,
                "order_link_id": "Mactive001",
                "created_time": "2022-06-22T01:46:11Z",
                "updated_time": "2022-06-22T01:46:11Z",
                "take_profit": 0.65,
                "stop_loss": 0.99,
                "tp_trigger_by": "MarkPrice",
                "sl_trigger_by": "LastPrice"
            }
        ]
    },
    "time_now": "1655862613.007213",
    "rate_limit_status": 598,
    "rate_limit_reset_ms": 1655862613003,
    "rate_limit": 600
}

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

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

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, 最大長度36位,且同一機構下自定義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-testnet.bybit.com/private/linear/order/cancel \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.cancel_active_order(
    symbol="BTCUSDT",
    order_id=""
))

響應示例

{
    "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 false string 自定義機構ID

返回參數

參數 類型 說明
order_id string 訂單ID

撤銷所有活動委托單

請求示例

curl https://api-testnet.bybit.com/private/linear/order/cancel-all \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.cancel_all_active_orders(
    symbol="BTCUSDT"
))

響應示例

{
    "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-testnet.bybit.com/private/linear/order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","order_id":"","p_r_qty":2,"timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.replace_active_order(
    symbol="BTCUSDT",
    order_id="",
    p_r_qty=2
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "order_id": "efa44157-c355-4a98-b6d6-1d846a936b93"
    },
    "time_now": "1539778407.210858",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100             
}

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

HTTP 請求

POST /private/linear/order/replace

請求參數

參數 是否必須 類型 說明
order_id false string 訂單ID
order_link_id false string 自定義機構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-testnet.bybit.com/private/linear/order/search?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}order_id={order_id}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.query_active_order(
    symbol="BTCUSDT",
    order_id=""
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "order_id": "8e7d1cd2-d7b3-4c61-87a9-a85a6e59cef8",
            "user_id": 533285,
            "symbol": "BITUSDT",
            "side": "Buy",
            "order_type": "Limit",
            "price": 0.3,
            "qty": 100,
            "time_in_force": "GoodTillCancel",
            "order_status": "New",
            "last_exec_price": 0,
            "cum_exec_qty": 0,
            "cum_exec_value": 0,
            "cum_exec_fee": 0,
            "order_link_id": "Bactive001",
            "reduce_only": false,
            "close_on_trigger": false,
            "created_time": "2022-06-22T02:11:49Z",
            "updated_time": "2022-06-22T02:11:49Z",
            "take_profit": 0.7,
            "stop_loss": 0.1,
            "tp_trigger_by": "LastPrice",
            "sl_trigger_by": "LastPrice"
        }
    ],
    "time_now": "1655863947.736147",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1655863947734,
    "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 false string 自定義機構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, 最大長度36位,且同一機構下自定義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-testnet.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","trigger_by":"LastPrice",order_link_id":"cus_order_id_1","reduce_only":false,"close_on_trigger":false,"timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.place_conditional_order(
    symbol="BTCUSDT",
    order_type="Limit",
    side="Buy",
    qty=1,
    price=8100,
    base_price=16100,
    stop_px=8150,
    time_in_force="GoodTillCancel",
    trigger_by="LastPrice",
    order_link_id="cus_order_id_1",
    reduce_only=False,
    close_on_trigger=False
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "user_id": 533285,
        "stop_order_id": "37c2f5ac-3c87-4853-a7c6-29070d4b9c4f",
        "symbol": "XRPUSDT",
        "side": "Buy",
        "order_type": "Limit",
        "price": 0.25,
        "qty": 100,
        "time_in_force": "GoodTillCancel",
        "order_status": "Untriggered",
        "trigger_price": 0.35,
        "order_link_id": "Xcond001",
        "created_time": "2022-06-22T02:20:47Z",
        "updated_time": "2022-06-22T02:20:47Z",
        "base_price": "0.3000",
        "trigger_by": "MarkPrice",
        "tp_trigger_by": "IndexPrice",
        "sl_trigger_by": "MarkPrice",
        "take_profit": 0.5,
        "stop_loss": 0.12,
        "reduce_only": false,
        "close_on_trigger": false,
        "position_idx": 1
    },
    "time_now": "1655864447.252259",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1655864447248,
    "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 委托數量(加密貨幣)
price false number 條件委托執行價格。如果條件委托是限價單,則price為必傳字段
base_price true number 當前市價。用於和stop_px值進行比較,確定當前條件委托是看空到stop_px時觸發還是看多到stop_px觸發。主要是用來標識當前條件單預期的方向
stop_px true number 觸發價格。如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
time_in_force true string 執行策略
trigger_by true string 觸發價格類型
reduce_only true bool 什麽是 reduce-only order?,true-平倉 false-開倉,ture時止盈止損設置不生效
close_on_trigger true bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
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
position_idx false integer Position idx, 用於在不同倉位模式下標識倉位。 如果是單向持倉模式, 該參數為必填:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

返回參數

參數 類型 說明
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, 最大長度36位,且同一機構下自定義ID不可重復
created_time string 創建時間
updated_time string 更新時間
base_price string 下單時市價
trigger_by string 觸發價格類型. 默認為最新市價
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
take_profit number 止盈價格
stop_loss number 止損價格
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

查詢條件委托

請求示例

curl "https://api-testnet.bybit.com/private/linear/stop-order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.get_conditional_order(
    symbol="BTCUSDT"
))

響應示例

{
    "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 頁碼.默認取第一頁,最大50
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, 最大長度36位,且同一機構下自定義ID不可重復
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
trigger_by string 觸發價格類型. 默認為最新市價
base_price string 下單時市價
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉

撤消條件委托單

請求示例

curl https://api-testnet.bybit.com/private/linear/stop-order/cancel \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","stop_order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.cancel_conditional_order(
    symbol="BTCUSDT",
    stop_order_id=""
))

響應示例

{
    "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 false string 機構ID。如果未填stop_order_id則為必填字段。

返回參數

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

撤消全部條件委托單

請求示例

curl https://api-testnet.bybit.com/private/linear/stop-order/cancel-all \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.cancel_all_conditional_orders(
    symbol="BTCUSDT"
))

響應示例

{
    "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-testnet.bybit.com/private/linear/stop-order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","stop_order_id":"","p_r_qty":2,"timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.replace_conditional_order(
    symbol="BTCUSDT",
    stop_order_id="",
    p_r_qty=2
))

響應示例

{
    "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 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-testnet.bybit.com/private/linear/stop-order/search?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.query_conditional_order(
    symbol="BTCUSDT"
))

響應示例

{
    "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 false string 自定義機構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`時,為激活價格,否則為觸發價格。
base_price string 下單時市價
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_time string 創建時間
updated_time string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
trigger_by string 觸發價格類型. 默認為最新市價
reduce_only bool 是否平倉單 true-平倉 false-開倉
close_on_trigger bool 是否平倉委托 true-平倉 false-開倉

持倉

獲取持倉(實時)

請求示例

curl https://api-testnet.bybit.com/private/linear/position/list?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.my_position(
    symbol="BTCUSDT"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "user_id": 533285,
            "symbol": "XRPUSDT",
            "side": "Buy",
            "size": 0,
            "position_value": 0,
            "entry_price": 0,
            "liq_price": 0,
            "bust_price": 0,
            "leverage": 5,
            "auto_add_margin": 0,
            "is_isolated": true,
            "position_margin": 0,
            "occ_closing_fee": 0,
            "realised_pnl": 0,
            "cum_realised_pnl": -16.35115218,
            "free_qty": 0,
            "tp_sl_mode": "Full",
            "unrealised_pnl": 0,
            "deleverage_indicator": 0,
            "risk_id": 41,
            "stop_loss": 0,
            "take_profit": 0,
            "trailing_stop": 0,
            "position_idx": 1,
            "mode": "BothSide"
        },
        {
            "user_id": 533285,
            "symbol": "XRPUSDT",
            "side": "Sell",
            "size": 50,
            "position_value": 19.58,
            "entry_price": 0.3916,
            "liq_price": 0.4529,
            "bust_price": 0.4568,
            "leverage": 6,
            "auto_add_margin": 0,
            "is_isolated": true,
            "position_margin": 3.2633354,
            "occ_closing_fee": 0.013704,
            "realised_pnl": 0,
            "cum_realised_pnl": 0.90620182,
            "free_qty": 50,
            "tp_sl_mode": "Full",
            "unrealised_pnl": 3.395,
            "deleverage_indicator": 2,
            "risk_id": 41,
            "stop_loss": 0.5,
            "take_profit": 0.28,
            "trailing_stop": 0,
            "tp_trigger_by": 1,
            "sl_trigger_by": 1,
            "position_idx": 2,
            "mode": "BothSide"
        }
    ],
    "time_now": "1655868796.293226",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1655868796290,
    "rate_limit": 120
}

//當不傳參數symbol的時候,返回結構如下:
{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "data": {
                "user_id": 533285,
                "symbol": "10000NFTUSDT",
                "side": "Sell",
                "size": 0,
                "position_value": 0,
                "entry_price": 0,
                "liq_price": 0,
                "bust_price": 0,
                "leverage": 10,
                "auto_add_margin": 0,
                "is_isolated": false,
                "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": 1,
                "stop_loss": 0,
                "take_profit": 0,
                "trailing_stop": 0,
                "position_idx": 2,
                "mode": "BothSide"
            },
            "is_valid": true
        },
        ...
        {
            "data": {
                "user_id": 533285,
                "symbol": "10000NFTUSDT",
                "side": "Buy",
                "size": 0,
                "position_value": 0,
                "entry_price": 0,
                "liq_price": 0,
                "bust_price": 0,
                "leverage": 10,
                "auto_add_margin": 0,
                "is_isolated": false,
                "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": 1,
                "stop_loss": 0,
                "take_profit": 0,
                "trailing_stop": 0,
                "position_idx": 1,
                "mode": "BothSide"
            },
            "is_valid": true
        }
    ],
    "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 可平倉位數量(如果您有多頭頭寸,free_qty 為負數。反之亦然)
tp_sl_mode string 止盈止損模式
deleverage_indicator number 風險指示燈等級(1,2,3,4,5)
unrealised_pnl number 未結盈虧
risk_id integer 風險限額ID
take_profit number 止盈價格
stop_loss number 止損價格
trailing_stop number 追蹤止損(與當前價格的距離)
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell
mode string 倉位模式: MergedSingle - 單倉模式 BothSide - 雙倉模式

自動追加保證金

請求示例

curl https://api-testnet.bybit.com/private/linear/position/set-auto-add-margin \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","side":"Sell","auto_add_margin":false,"timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.set_auto_add_margin(
    symbol="BTCUSDT",
    side="Sell",
    auto_add_margin=False
))

響應示例

{
    "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 追加保證金開關
position_idx false integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

全倉/逐倉切換

請求示例

curl https://api-testnet.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}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.cross_isolated_margin_switch(
    symbol="BTCUSDT",
    is_isolated=True,
    buy_leverage=1,
    sell_leverage=1
))

響應示例

{
    "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,小於風險限額對應的杠桿

切換倉位模式

請求示例

curl https://api-testnet.bybit.com/private/linear/position/switch-mode \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","mode":"MergedSingle","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.position_mode_switch(
    symbol="BTCUSDT",
    mode="MergedSingle"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": null,
    "ext_info": null,
    "time_now": "1577477968.175013",
    "rate_limit_status": 74,
    "rate_limit_reset_ms": 1577477968183,
    "rate_limit": 75
}

單倉模式下,只能在單方向下持倉
雙倉模式下,可以同時在兩個方向持倉,支持coin级别切换單倉模式和雙倉模式。

HTTP 請求

POST /private/linear/position/switch-mode

請求參數

參數 是否必須 類型 說明
symbol false string 合約類型,至少传symbolcoin其中的一个,如果两个都传,将以symbol为准。
coin false string currency alias,至少传symbolcoin其中的一个,如果两个都传,将以symbol为准。
mode true string 倉位模式: MergedSingle - 單倉模式 BothSide - 雙倉模式

切換止盈止損模式

from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.full_partial_position_tp_sl_switch(
    symbol="BTCUSDT",
    tp_sl_mode="Partial"
))

響應示例

{
    "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-testnet.bybit.com \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSDT","side":"Buy","margin":0.01","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.add_reduce_margin(
    symbol="BTCUSDT",
    side="Buy",
    margin=0.01
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "PositionListResult": {
            "user_id": 533285,
            "symbol": "XRPUSDT",
            "side": "Sell",
            "size": 50,
            "position_value": 19.58,
            "entry_price": 0.3916,
            "liq_price": 0.5267,
            "bust_price": 0.5307,
            "leverage": 10,
            "auto_add_margin": 0,
            "is_isolated": true,
            "position_margin": 6.9550018,
            "occ_closing_fee": 0.015921,
            "realised_pnl": 0,
            "cum_realised_pnl": 0.90620182,
            "free_qty": 50,
            "tp_sl_mode": "Full",
            "unrealised_pnl": 3.475,
            "deleverage_indicator": 2,
            "risk_id": 41,
            "stop_loss": 0.5,
            "take_profit": 0.28,
            "trailing_stop": 0,
            "tp_trigger_by": 1,
            "sl_trigger_by": 1,
            "position_idx": 2,
            "mode": "BothSide"
        },
        "wallet_balance": 2108.58165689,
        "available_balance": 2091.03640109
    },
    "time_now": "1655870135.180074",
    "rate_limit_status": 73,
    "rate_limit_reset_ms": 1655870135178,
    "rate_limit": 75
}

追加保證金

HTTP 請求

POST /private/linear/position/add-margin

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
side true string 方向
margin true number 增加/減少多少保證金,增加10,減少-10,支持小數後4位
position_idx false integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

返回參數

參數 類型 說明
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 是否逐倉
position_margin number 倉位保證金
occ_closing_fee number 預占用平倉手續費
realised_pnl number 當日已結盈虧
cum_realised_pnl number 累計已結盈虧
free_qty number 可平倉位數量(如果您有多頭頭寸,free_qty 為負數。反之亦然)
tp_sl_mode string 止盈止損模式
unrealised_pnl number 未結盈虧
deleverage_indicator number 風險指示燈等級(1,2,3,4,5)
risk_id number 風險限額ID
stop_loss number 止損價格
take_profit number 止盈價格
trailing_stop number 追蹤止損(與當前價格的距離)
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell
mode string 倉位模式: MergedSingle - 單倉模式 BothSide - 雙倉模式
wallet_balance number 錢包余額
available_balance number 可用余額, 錢包余額 - 倉位保證金

修改杠桿

請求示例

curl https://api-testnet.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}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.set_leverage(
    symbol="BTCUSDT",
    buy_leverage=10,
    sell_leverage=10
))

響應示例

{
    "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-testnet.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}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.set_trading_stop(
    symbol="BTCUSDT",
    side="Buy",
    take_profit=10
))

響應示例

{
  "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) (在partial mode部分模式下無效)
stop_loss false number 不小於0,如果等於0則是取消止損(SL) (在partial mode部分模式下無效)
trailing_stop false number 不小於0,如果等於0則是取消追蹤止損(TS) (在partial mode部分模式下無效)
tp_trigger_by false string 止盈激活價格類型,默認為LastPrice
sl_trigger_by false string 止損激活價格類型,默認為LastPrice
sl_size false number 在部分止盈止損模式下,止損合約數量
tp_size false number 在部分止盈止損模式下,止盈合約數量
position_idx false integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

用戶成交記錄

請求示例

curl "https://api-testnet.bybit.com/private/linear/trade/execution/list?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.user_trade_records(
    symbol="BTCUSDT"
))

響應示例

{
    "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",
                    "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 頁碼.默認取第一頁,最大50
limit false integer 每頁數量, 最大200. 默認每頁50條,最多200條每頁

返回參數

參數 類型 說明
order_id string 訂單ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
side string 方向
symbol string 合約類型
exec_id string 成交ID
price number 訂單價格
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字段類型為TradeAdlTradeBustTrade時有效
trade_time number 秒級交易時間戳
trade_time_ms number 毫秒級交易時間戳

用戶曆史成交記錄

請求示例

curl "https://api-testnet.bybit.com/private/linear/trade/execution/history-list?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.extended_user_trade_records(
    symbol="BTCUSDT"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "page_token": "OVFyd2RLQ051UDhlZXNGa1RRNWEwM0FNWWZLdk9LVS95RnIzbThKa3EzUVJpc0ZiNGt2Z2NzdWxJb2h6QTZ3MHBZdmRnNlZSWFpKY0h3V1RpY0ZqcER5RlZNbGRjbGh4N2VYdXpZcUduZm9lWkFsNjFnVTJrLzdYSy9TNC9BcjhsRlRNY3NWM0x1MFdrQ05hSlFObW8yUjdpZXZyRHd3MWlvTzdmb0tWdmFwSEhqQUs0MG4wSXlsV1VZTlpWWVpla08vVGYzRWJEbVJhY2t0RmE3TDhKMCtuRnZ2ZDFuVmZQZXB6SWNGVitiZDlmSFNkazRZb1hlcXRPYzdLS040OGJVMnpER0Mzd1lFcURDTCs3SC9pRGl0UW9JZC9xSGZlNENUSW1hVHBGcUhSVlNVYzBRL3dtVVhmRXNTN2NkOHZGVGU5NThlWlRGZGp0UWxaWnhybzJmcis5UTZuYWpXTFBtVVYrQlo1VkVNPQ==",
        "data": [
            {
                "order_id": "ad263e18-ce2f-4e7c-9077-5db8d2186051",
                "order_link_id": "",
                "side": "Sell",
                "symbol": "BTCUSDT",
                "exec_id": "43514fa8-8948-5649-9854-704bae563c16",
                "price": 20284,
                "order_price": 20284,
                "order_qty": 0.32,
                "order_type": "Market",
                "fee_rate": 0.0006,
                "exec_price": 21348.5,
                "exec_type": "Trade",
                "exec_qty": 0.32,
                "exec_fee": 4.098912,
                "exec_value": 6831.52,
                "leaves_qty": 0,
                "closed_size": 0.32,
                "last_liquidity_ind": "RemovedLiquidity",
                "trade_time": 1656316742,
                "trade_time_ms": 1656316742722
            }
        ]
    },
    "time_now": "1651078431.113746",
    "rate_limit_status": 117,
    "rate_limit_reset_ms": 1651078431074,
    "rate_limit": 120
}

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

HTTP 請求

GET /private/linear/trade/execution/history-list

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
start_time false integer 開始時間戳(毫秒) 限定在當前時間的2年內,如果想了解時間範圍更長的信息,請咨詢客服下載數據。
end_time false integer 結束時間戳(毫秒) 限定在當前時間的2年內, 如果想了解時間範圍更長的信息,請咨詢客服下載數據。
exec_type false string 交易類型
page_token false string 默認情況下,獲取第一頁數據。如果要獲取第二頁數據,需要將第一頁返回的page_token作為入參。
limit false integer 每頁數量, 最大100. 默認每頁100條,最多100條每頁

返回參數

參數 類型 說明
page_token string 默認情況下,獲取第一頁數據。如果要獲取第二頁數據,需要將第一頁返回的page_token作為入參。
data ArrayList
order_id string 訂單ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
side string 方向
symbol string 合約類型
exec_id string 成交ID
price number 訂單價格
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字段類型為TradeAdlTradeBustTrade時有效
trade_time number 秒級交易時間戳
trade_time_ms number 交易時間

平倉盈虧

請求示例

curl https://api-testnet.bybit.com/private/linear/trade/closed-pnl/list?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.closed_profit_and_loss(
    symbol="BTCUSDT"
))

響應示例

{
     "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,
                 "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 Order ID of the closing order
side string Side of the closing order
qty number 訂單數量
order_price number 訂單價格
order_type string 交易記錄類型
exec_type string 執行類型
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-testnet.bybit.com/public/linear/risk-limit?symbol=BTCUSDT"
from pybit import usdt_perpetual
session_unauth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.get_risk_limit(
    symbol="BTCUSDT"
))

響應示例

{
    "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-testnet.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}"}'
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.set_risk_limit(
    symbol="BTCUSDT",
    side="Buy",
    risk_id=1
))

響應示例

{
    "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
position_idx false integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

返回參數

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

資金費率

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

請求示例

curl "https://api-testnet.bybit.com/private/linear/funding/predicted-funding?api_key={api_key}&symbol=BTCUSDT&timestamp={timestamp}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.predicted_funding_rate(
    symbol="BTCUSDT"
))

響應示例

{
    "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-testnet.bybit.com/private/linear/funding/prev-funding?api_key={api_key}&symbolt=BTCUSDT&timestamp={timestamp}&sign={sign}"
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="cCrMK2P55002rmQh1z",
    api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.my_last_funding_fee(
    symbol="BTCUSDT"
))

響應示例

{
    "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
}

UTC時間每天0點、8點、16點進行資金費用結算

當前周期的資金費用結算是根據上個周期的資金費率來進行結算

比如16點結算時是按照8點產生的資金費率來進行結算,而16點產生的資金費率則會在第二天0點結算時使用

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
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.server_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-testnet.bybit.com/v2/public/announcement
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.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頻率限制。 我們不建議您在這些限制的邊緣運行您的應用程序,以防異常的網絡活動導致意外違規。

此表顯示了根據您使用的 API 的不同 IP 頻率限制數。

IP 頻率限制 API Path
2mins 50/s;
5s 70/s
反向永續/v2
反向交割/futures
USDT永續/public, /private
賬戶資產/asset
2mins 50/s;
5s 70/s
現貨/spot
2mins 50/s;
5s 70/s
USDC Options/option
USDC Perpetual/perpetual

違反限制後,您的 IP 將被禁止一段時間(通常為 30 分鐘)。 持續違反限制將導致永久禁止。 我們不能撤銷永久禁令或縮短臨時禁令。

賬戶頻率限製

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/replace 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/replace 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
/private/linear/trade/execution/history-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。

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

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

報單成交率

報單成交率舉例

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

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

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/bybit-exchange/pybit/blob/master/pybit/_http_manager.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,
    "ret_msg": "pong",
    "conn_id": "036e5d21-804c-4447-a92d-b65a44d00700"
    "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,
   "ret_msg": "",
   "conn_id":"e0e10eee-4eff-4d21-881e-a0c55c25e2da"
   "request": {
       "op": "subscribe",
       "args": [
           "candle.BTCUSDT.1m"
       ]
   }
}

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

公共 Topics

orderBook25檔

請求訂閱

ws.send('{"op": "subscribe", "args": ["orderBookL2_25.BTCUSDT"]}');
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
# To subscribe to multiple symbols,
# pass a list: ["BTCUSDT", "ETHUSDT"]
ws_linear.orderbook_25_stream(
    handle_message, "XRPUSDT"
)
while True:
    sleep(1)

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

{
     "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都會推送這些變化的增量數據.

推送頻率:20ms

返回參數

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

orderBook200檔

請求訂閱

ws.send('{"op": "subscribe", "args": ["orderBook_200.100ms.BTCUSDT"]}');
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
# To subscribe to multiple symbols,
# pass a list: ["BTCUSDT", "ETHUSDT"]
ws_linear.orderbook_200_stream(
    handle_message, "EOSUSDT"
)
while True:
    sleep(1)

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

{
     "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將會繼續推送這些增量數據.

推送頻率:100ms

返回參數

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

平臺成交

請求訂閱

ws.send('{"op": "subscribe", "args": ["trade.BTCUSDT"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
# To subscribe to multiple symbols,
# pass a list: ["BTCUSDT", "ETHUSDT"]
ws_linear.trade_stream(
    handle_message, "EOSUSDT"
)
while True:
    sleep(1)

響應示例

{
    "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"
        }
    ]
}

推送頻率:100ms

返回參數

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

行情

請求訂閱

ws.send('{"op": "subscribe", "args": ["instrument_info.100ms.BTCUSDT"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
# To subscribe to multiple symbols,
# pass a list: ["BTCUSDT", "ETHUSDT"]
ws_linear.instrument_info_stream(
    handle_message, "BTCUSDT"
)
while True:
    sleep(1)

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

{
  "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,
       "funding_rate_interval": 8,
       "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"
}

獲取合約的最新數據.

Push frequency: 100ms

返回參數

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

K線

請求訂閱

ws.send('{"op":"subscribe","args":["candle.1.BTCUSDT"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
# To subscribe to multiple symbols,
# pass a list: ["BTCUSDT", "ETHUSDT"]
# pass an interval
ws_linear.kline_stream(
    handle_message, "DOTUSDT", "D"
)
while True:
    sleep(1)

響應示例

{
    "topic": "candle.1.BTCUSDT",
    "data": [
        {
            "start": 1655956380,
            "end": 1655956440,
            "period": "1",
            "open": 20261,
            "close": 20257.5,
            "high": 20261,
            "low": 20256,
            "volume": "25.396",
            "turnover": "514491.9815",
            "confirm": False,
            "cross_seq": 13135807020,
            "timestamp": 1655956431377798
        }
    ],
    "timestamp_e6": 1655956431377798
}

目前所支持的周期:

推送頻率:1-60s

返回參數

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

平臺強平推送

請求訂閱

ws.send('{"op":"subscribe","args":["liquidation.XRPUSDT"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
# To subscribe to multiple symbols,
# pass a list: ["BTCUSDT", "ETHUSDT"]
ws_linear.liquidation_stream(
    handle_message, "DOTUSDT"
)
while True:
    sleep(1)

響應示例

{
    "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"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    api_key="your api key",
    api_secret="your api secret",
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
ws_linear.position_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
   "topic": "position",
   "action": "update",
   "data": [
{
            "user_id": "533285",
            "symbol": "BTCUSDT",
            "size": 0.01,
            "side": "Buy",
            "position_value": 202.195,
            "entry_price": 20219.5,
            "liq_price": 0.5,
            "bust_price": 0.5,
            "leverage": 99,
            "order_margin": 0,
            "position_margin": 1959.6383,
            "occ_closing_fee": 3e-06,
            "take_profit": 25000,
            "tp_trigger_by": "LastPrice",
            "stop_loss": 18000,
            "sl_trigger_by": "LastPrice",
            "trailing_stop": 0,
            "realised_pnl": -4.189762,
            "auto_add_margin": "0",
            "cum_realised_pnl": -13.640625,
            "position_status": "Normal",
            "position_id": "0",
            "position_seq": "92962",
            "adl_rank_indicator": "2",
            "free_qty": 0.01,
            "tp_sl_mode": "Full",
            "risk_id": "1",
            "isolated": false,
            "mode": "BothSide",
            "position_idx": "1"
        }
   ]
}

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

返回參數

參數 類型 說明
user_id number 用戶ID
symbol string 合約類型
size number 倉位數量
side string 方向
position_value number 倉位價值
entry_price number 平均入場價
liq_price number 強平價格
bust_price number 破產價格
leverage number 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
order_margin number 委托預占用保證金
position_margin number 倉位保證金
occ_closing_fee number 倉位占用的平倉手續費
take_profit number 止盈價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
stop_loss number 止損價格
sl_trigger_by string 止損激活價格類型,默認為LastPrice
trailing_stop number 追蹤止損(與當前價格的距離)
realised_pnl number 當日已結盈虧
auto_add_margin number 是否 自動追加保證金
cum_realised_pnl number 累計已結盈虧
position_status string 倉位狀態,正常,強平,減倉
position_seq string 倉位變化版本號
free_qty number 可平倉位數量(如果您有多頭頭寸,free_qty 為負數。反之亦然)
tp_sl_mode string 止盈止損模式 Full or Partial
risk_id string 風險限額ID
isolated bool 是否逐倉,true-逐倉 false-全倉
mode string 倉位模式, MergedSingle or BothSide
position_idx string Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

個人成交

請求訂閱

ws.send('{"op": "subscribe", "args": ["execution"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    api_key="your api key",
    api_secret="your api secret",
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
ws_linear.execution_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "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, 最大長度36位,且同一機構下自定義ID不可重復
price number 成交價格
order_qty number 訂單數量
exec_type string 交易類型(不能為"Funding")
exec_qty number 成交數量
exec_fee number 交易手續費
leaves_qty number 剩余委托數量
is_maker boolean 是否是maker
trade_time string 交易時間

活動單

請求訂閱

ws.send('{"op": "subscribe", "args": ["order"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    api_key="your api key",
    api_secret="your api secret",
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
ws_linear.order_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "topic": "order",
    "action": "",
    "data": [
        {
            "order_id": "19a8cbbe-e077-42c7-bdba-505c76619ea5",
            "order_link_id": "Bactive004",
            "symbol": "BTCUSDT",
            "side": "Sell",
            "order_type": "Market",
            "price": 19185.5,
            "qty": 0.01,
            "leaves_qty": 0,
            "last_exec_price": 20196,
            "cum_exec_qty": 0.01,
            "cum_exec_value": 201.95999,
            "cum_exec_fee": 0.121176,
            "time_in_force": "ImmediateOrCancel",
            "create_type": "CreateByUser",
            "cancel_type": "UNKNOWN",
            "order_status": "Filled",
            "take_profit": 0,
            "stop_loss": 0,
            "trailing_stop": 0,
            "create_time": "2022-06-23T04:08:47.956636888Z",
            "update_time": "2022-06-23T04:08:47.960908408Z",
            "reduce_only": true,
            "close_on_trigger": false,
            "position_idx": "1"
        }
    ]
}

返回參數

參數 類型 說明
order_id string 訂單ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
symbol string 合約類型
side string 方向
order_type string 委托單價格類型
price number 委托價格
qty number 成交數量
leaves_qty number 剩余委托數量
last_exec_price number 最近一次成交價格
cum_exec_qty number 累計成交數量
cum_exec_value string 累計成交價值
cum_exec_fee string 累計成交手續費
time_in_force string 執行策略
create_type string 下單操作的觸發場景
cancel_type string 取消操作的觸發場景
order_status string 訂單狀態
take_profit number 止盈價格
stop_loss number 止損價格
trailing_stop number 追蹤止損(與當前價格的距離)
create_time string order_statusNew時的時間戳
update_time string 更新時間
reduce_only bool 只減倉
close_on_trigger bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
position_idx string Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

條件單

請求訂閱

ws.send('{"op": "subscribe", "args": ["stop_order"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    api_key="your api key",
    api_secret="your api secret",
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
ws_linear.stop_order_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "topic": "stop_order",
    "data": [
        {
            "stop_order_id": "559bba2c-0152-4557-84f6-63dc6ab78463",
            "order_link_id": "",
            "user_id": "533285",
            "symbol": "BTCUSDT",
            "side": "Sell",
            "order_type": "Market",
            "price": 0,
            "qty": 0.01,
            "time_in_force": "ImmediateOrCancel",
            "create_type": "CreateByTakeProfit",
            "cancel_type": "UNKNOWN",
            "order_status": "Untriggered",
            "stop_order_type": "TakeProfit",
            "tp_trigger_by": "UNKNOWN",
            "trigger_price": 25000,
            "create_time": "2022-06-23T04:06:55.402188346Z",
            "update_time": "2022-06-23T04:08:47.960950878Z",
            "reduce_only": true,
            "close_on_trigger": true,
            "position_idx": "1"
        }
    ]
}

返回參數

參數 類型 說明
stop_order_id string 條件委托訂單ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
create_type string 下單操作的觸發場景
cancel_type string 取消操作的觸發場景
order_status string 訂單狀態
stop_order_type string 委托單價格類型
tp_trigger_by string 觸發價格類型. 默認為最新市價
trigger_price number 如果stop_order_type為`TrailingProfit`時,為激活價格,否則為觸發價格。
create_time string order_statusNew時的時間戳
update_time string 更新時間
reduce_only bool 只減倉
close_on_trigger bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
position_idx string Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell

錢包

請求訂閱

ws.send('{"op": "subscribe", "args": ["wallet"]}')
from time import sleep
from pybit import usdt_perpetual
ws_linear = usdt_perpetual.WebSocket(
    test=True,
    api_key="your api key",
    api_secret="your api secret",
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)
ws_linear.wallet_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

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

返回參數

參數 類型 說明
wallet_balance number 錢包余額
available_balance number

In Isolated Margin Mode:

  available_balance = wallet_balance - (position_margin + occ_closing_fee + occ_funding_fee + order_margin)

In Cross Margin Mode:

  if unrealised_pnl > 0:
      available_balance = wallet_balance - (position_margin + occ_closing_fee + occ_funding_fee + order_margin)
  if unrealised_pnl < 0:
      available_balance = wallet_balance - (position_margin + occ_closing_fee + occ_funding_fee + order_margin) + unrealised_pnl

歸檔數據

歷史行情

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

歷史資金費率無法通過API獲得。但是,您可以使用"導出"按鈕獲取此數據的CSV文件 here.

枚舉定義

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

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/stop_order_status)

Only for conditional orders:

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)

錯誤碼

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

HTTP Code 含義
200 請求有效
403 拒絕訪問 -- 您請求的次數過多(請參閱IP 頻率限制
404 訪問路徑不存在

10000

處理請求時發生未知錯誤

10001

請檢查傳遞的值是否符合要求。例如,如果是浮點數,確保它符合tick_sizeqty_step

10002

請求過期,請檢查 timestamprecv_window

10003

無效的apikey

10004

簽名錯誤

10005

apikey權限不足

10006

請求次數超限。 請參閱API 频率限制

10007

您的請求中沒有api_key

10010

請求ip不匹配

10016

服務異常或請求超時

10017

請求路徑不存在或請求方法錯誤

10018

超過ip頻率限製

10020

不支持此操作

10021

此請求的時間戳不在recvWindow之外。此請求的時間戳比服務器時間提前1000毫秒。請查證你的本地時間和服務器時間

10022

此請求的簽名無效

11000

在參數中發現非法字符。在參數'%s'中發現非法字符; 合法範圍是「%s」

11001

無法處理請求。請再試一次

11002

未發送強製性參數,該參數為空/空或格式錯誤。強製參數'%s'未發送,為空/空或格式錯誤。

11003

發送了未知參數。

11004

並非所有發送的參數都被讀取

11005

參數為空

11006

不需要時已發送參數

11011

精度超過為此資產定義的最大值

11012

交易對沒有掛單

11014

不需要時發送了TimeInForce參數

11015

無效timeInForce

11016

無效訂單類型

11017

無效買賣方向

11018

新的客戶訂單ID為空

11019

新的客戶訂單ID為空

11020

無效時間間隔

11021

無效交易對

11025

該listenKey不存在。

11027

查詢間隔太大。

11028

可選參數組合無效。

11030

發送的參數為無效數據。

11030

發送的參數為無效數據。

11031

Insufficient balance.

11032

訂單價格過高

11033

訂單價格過低,請查詢Broker Info信息

11034

訂單價格精度過長,請查詢Broker Info信息

11035

訂單quantity過大

11036

訂單quantity小於最小值

11037

訂單quantity精度過長

11038

訂單價格超出允許範圍

11039

訂單已經被執行

11040

交易金額小於最小值

20001

訂單不存在

20003

缺少參數side

20004

side不合法

20005

缺少參數symbol

20006

symbol不合法

20007

缺少參數order_type

20008

order_type不合法

20009

缺少參數qty

20010

新增訂單被拒絕

20011

撤銷訂單被拒絕

20012

qty 必須大於0並小於1百萬

20013

訂單不存在

20014

API-key格式無效

20015

無效的API密鑰,IP或操作權限。

20016

找不到該交易對的交易窗口。 嘗試改為24小時自動報價。

20017

缺少參數order_id

20018

日期格式不對

20019

缺少參數stop_px

20020

缺少參數base_price

20021

缺少參數stop_order_id

20022

缺少參數leverage

20023

leverage必須是數字

20031

leverage必須大於0

20070

缺少參數margin

20071

margin必須大於0

20084

order_idorder_link_id必須二選一

30001

order_link_id重復

30003

qty太小

30004

qty太大

30005

price太大

30006

No last_price.

30007

price太小

30008

order_type非法

30009

持倉不存在

30010

錢包余額不足

30011

由於倉位清算,不允許操作

30012

由於ADL,不允許操作

30013

持倉處於強平、ADL或其他非可操作狀態

30014

平倉數量不能大於持倉數量

30015

平倉訂單不合法,應和持倉方向相反

30016

平倉前請先取消止盈止損單

30017

不能低於買方向強平價格

30018

不能高於賣方向強平價格

30019

非開倉單不能使用TP/SL參數

30020

持倉已有TP/SL設置

30021

預估保證金不足

30022

預估買方向強平價格不能高於標記價格

30023

預估賣方向強平價不能低於標記價格

30024

空倉無法設置TP/SL/TS

30025

觸發價格必須高於市價10%

30026

價格過高

30027

止盈價應高於上筆成交價

30028

止損價應在強平價和上筆成交價之間

30029

止損價格應在上筆成交價和清算價格之間

30030

設定的止盈價格應低於上筆成交價

30031

可用余額不足以支付訂單費用

30032

訂單已成交或已取消

30033

條件單的數量超限

30034

訂單不存在

30035

取消訂單過快

30036

訂單執行後的預期倉位值超過當前風險限額

30037

訂單已取消

30038

No mark_price.

30039

Applied leverage has exceeded the permitted range.

30040

Any adjustments made will trigger immediate liquidation.

30041

持倉不存在

30042

錢包余額不足

30043

由於倉位清算,不允許操作

30044

由於ADL,不允許操作

30045

持倉處於其他不可操作狀態

30046

There are multiple untriggered stop orders.

30047

Inconsistent p:o.

30048

Applied leverage has exceeded the permitted range.

30049

可用余額不足

30050

任何調整都將立即引發清算

30051

杠桿設置非法,因為它將超出您的風險限額

30052

杠桿設置非法,不能小於1

30053

max_affordable_position_margin <= 0, position:%s

30054

保證金設置不合法

30055

Available Balance is not enough to add margin.

30056

The position is in cross_margin.

30057

請求的合約數量超過風險限額

30063

不滿足只減倉的條件

30066

Set auto add margin fail.

30067

可用余額不足

30068

退出價值必須大於0

30074

無法創建條件單,由base_pricestop_px比較可知預期漲至stop_px時觸發條件單,而此時LastPrice(或IndexPriceMarkPrice,由trigger_by指定)已經達到或高於stop_px

30075

無法創建條件單,由base_pricestop_px比較可知預期跌至stop_px時觸發條件單,而此時LastPrice(或IndexPriceMarkPrice,由trigger_by指定)已經達到或低於stop_px

30076

Replace params invalid. Order not modified.

30077

Submission of order will result in the breach of user's limit according to open interest.

30078

Contracts not in trading status

30079

The position is about to trigger a liquidation

30080

Price cannot be lower than current Buy liq_price

30081

Price cannot be greater than current sell liq_price

30082

Position exists No switching of position mode allowed

30083

No change in position pattern

30084

No changes to the full position-by-position model

30085

Margin unchanged

30086

With a commissioned order, switching position mode is not allowed

30087

Symbol does not support two-way open positions

30088

Symbol does not exist

30089

Duplicate order number

30090

Risk limit info does not exist

30091

Illegal orders (meaning that the order os|cs is not legal in various scenarios)

30092

No position is not allowed to set margin

30093

No net position

30094

Withdrawal of an order before a liquidation is not concluded

30095

Full positions are not allowed to modify leverage

31003

User account banned

32006

The available balance is not sufficient to cover the handling fee.

32008

Insufficient available margin.

32009

Any adjustments made will trigger immediate liquidation.

32010

Risk limit cannot be adjusted due to insufficient available margin.

32011

Risk limit cannot be adjusted as the current/expected position value held exceeds the revised risk limit.

33004

apikey已過期

34010

Wallet Balance is less than zero.

34015

Cannot set new leverage as it is equal to the previous leverage.

34017

Current leverage is less than 1X

34018

Cannot set leverage lower than 1X

34019

Cannot set leverage greater than maxLeverage.

34020

Cannot set leverage which is same to the previous leverage.

34021

Cannot cancel occ_calc_data, the data is wrong.

34022

Cannot set leverage which will cause available balance less than 0.

34023

The request was canceled because the origin request has been handled.

34024

The request does not include add margin data.

34025

Increase in leverage has failed.

34026

風險限額沒有變化

34027

Cannot adjust leverage.

32009

Any adjustments made will trigger immediate liquidation.

34028

ReCalc Funding Fee Failed.

34030

positionInfo not sync with current exec_rpt.

34033

Realized PNL already rotated.

34032

PositionSeq not match on Withdraw.

34035

Add margin not modified.

34036

Set leverage not modified.

34037

Set custom fee rate not modified.

34038

Update deleverage indicator not modified.

34039

Update position status not modified.

34040

Set TP/SL/TS not modified.

35014

未平倉合約數量受限.

37001

Both side positions tp_sl_mode is equal.

37002

Same tp_sl_mode.

37003

This position has at least one stop-link order and cannot switch between stop-loss and take-profit modes.

37004

This position has at least one stop-loss link order and cannot switch between stop-loss and take-profit modes

37005

This position has at least one trailing stop or trailing stop link order and cannot be switched to take profit and stop loss mode

37006

Conditional or limit orders carry a take profit and stop loss parameter

37007

Insufficient number of positions left to set Stop Loss and Take Profit

37008

Active orders are not allowed to modify the price and quantity when they also modify the trigger price

37009

Activity orders are not allowed to modify the stop-loss and take-profit settings if the order is partially filled

37010

In Full Take Profit Stop Loss mode, it is not allowed to modify the Stop Profit Stop Loss size

37011

In partial SL mode, SL is set to more than 20. Set SL/TP exceeds the limit oldTpNum+oldStNum+newNum=(2 the num is tp+sl)

37012

Stop loss price needs to be greater than base price.

37013

Stop loss price needs to be less than base price.

38101

Replacement of order will result in the breach of user's limit according to open interest.

130001

position_idx無效。請檢查您的持倉模式

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

止盈止損及追蹤止損沒有修改

130137

Please check to see if your existing position and open orders (together, your pz_value) will exceed your risk limit (risk_limit). You can change your risk limit with the Set Risk limit endpoint.

130145

平倉單size大於倉位可平量

130149

止盈止損設置失敗,價格校驗未通過

130150

操作過快,請稍後重試

130151

切換失敗,請先取消當前止盈止損設置

130152

切換失敗,請先取消當前止盈止損設置

130153

切換失敗,請先取消當前止盈止損設置

130154

切換失敗,請先取消活動單的止盈止損設置

130155

剩余可設置止盈止損的數量不足

130156

不允許修改活動單價格或數量的同事修改止盈止損觸發價格

130157

修改失敗,此活動單已部分成交情況下,不能修改止盈止損價格

130158

倉位止盈止損模式下,不允許修改止盈止損數量

130159

部分止盈止損模式下,止盈止損設置超過20條

134026

風險限額未修改

132011

調整失敗,當前倉位大小超出風險限額

130090

風險限額無效