English
NAV
console python

中文社區和參考資料

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

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

中文社區和參考資料

更新日誌

2022-04-29

REST API

2022-03-01

REST API

2022-02-28

REST API

2021

2021-12-28

REST API

2021-09-24

REST API

2021-09-14

WebSocket API

REST API

2021-09-03

WebSocket API

2021-08-23

REST API

2021-07-29

REST API

2021-06-28

REST API

2021-06-18

REST API

2021-06-03

REST API

2021-05-11

REST API

2021-05-11

REST API

2021-04-22

REST API

2021-04-07

REST API

2021-04-02

REST API

2021-03-24

2021-03-22

2021-03-15

REST API

2021-03-12

REST API

2021-03-11

2021-03-04

2021-02-02

WebSocket API

2021-01-25

REST API

2021-01-12

REST API

2020

2020-12-31

REST API

服務升級後新增v2接口路由,列表如下:

2020-12-17

REST API

2020-11-20

REST API

2020-11-12

REST API

2020-11-10

WebSocket API

廢棄接口將於2020年11月30日徹底下線

REST API

舊版API將在2020年12月10日進行廢棄處理。屆時舊版API的頻率限製將會降低到原有的1/2,並在12月17日徹底下線。

2020-11-02

REST API

2020-10-26

REST API

2020-10-21

REST API

2020-10-12

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-22

REST API

2020-05-21

REST API

2020-04-29

REST API

2020-04-27

REST API

2020-04-17

REST API

2020-04-14

REST API

2020-03-31

REST API

2020-03-26

REST API

2020-03-16

REST API

2020-03-09

REST API

2020-03-02

WebSocket API

2020-02-26

REST API

2020-02-10

REST API

2019

2019-12-27

REST API

2019-12-18

REST API

WebSocket API

2019-12-13

REST API

2019-12-02

REST API

2019-11-19

REST API

2019-11-07

REST API

2019-11-04

REST API

WebSocket API

2019-10-22

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&leverage=100&symbol=BTCUSD&timestamp=1542434791747"
param_str = "api_key=B2Rou0PLPpGqcU0Vu2&leverage=100&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 /v2/private/order?symbol=BTCUSD&api_key=B2Rou0PLPpGqcU0Vu2&timestamp=1542434791000&sign=670e3e4aa32b243f2dedf1dafcec2fd17a440e71b05681550416507de591d908 HTTP/1.1
Host: api-testnet.bybit.com

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

POST /v2/private/order/cancel HTTP/1.1
Host: api-testnet.bybit.com
Content-Type: application/json

{
    "api_key": "B2Rou0PLPpGqcU0Vu2",
    "symbol": "BTCUSD",
    "order_id": "3bd1844f-f3c0-4e10-8c25-10fea03763f6",
    "timestamp": 1542434791000,
    "sign": "670e3e4aa32b243f2dedf1dafcec2fd17a440e71b05681550416507de591d908"
}

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

行情接口

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

Orderbook

請求示例

curl https://api-testnet.bybit.com/v2/public/orderBook/L2?symbol=BTCUSD
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session.orderbook(symbol="BTCUSD"))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "symbol": "BTCUSD",
            "price": "9487",
            "size": 336241,
            "side": "Buy"
        },
        {
            "symbol": "BTCUSD",
            "price": "9487.5",
            "size": 522147,
            "side": "Sell"
        }
    ],
    "time_now": "1567108756.834357"
}

獲取Bybit當前Orderbook信息. 每邊的深度為25

HTTP 請求

GET /v2/public/orderBook/L2

請求參數

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

返回參數

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

查詢K線數據

請求示例

curl https://api-testnet.bybit.com/v2/public/kline/list?symbol=BTCUSD&interval=1&limit=2&from=1581231260
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.query_kline(
    symbol="BTCUSD",
    interval="D",
    from_time="1653408000"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [{
        "symbol": "BTCUSD",
        "interval": "1",
        "open_time": 1581231300,
        "open": "10112.5",
        "high": "10112.5",
        "low": "10112",
        "close": "10112",
        "volume": "75981",
        "turnover": "7.51394369"
    }, {
        "symbol": "BTCUSD",
        "interval": "1",
        "open_time": 1581231360,
        "open": "10112",
        "high": "10112.5",
        "low": "10112",
        "close": "10112",
        "volume": "24616",
        "turnover": "2.4343353100000003"
    }],
    "time_now": "1581928016.558522"
}

查詢K線數據

HTTP 請求

GET /v2/public/kline/list

請求參數

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 合約類型
interval string 數據更新頻率. 枚舉值: 1 3 5 15 30 60 120 240 360 720 "D" "M" "W"
open_time integer 開始時間
open string 開始價格
high string 最高價格
low string 最低價格
close string 結束價格
volume string 交易量
turnover string 成交金額

合約最新信息

請求示例

curl https://api-testnet.bybit.com/v2/public/tickers
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.latest_information_for_symbol(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "symbol": "BTCUSD",
            "bid_price": "7230",
            "ask_price": "7230.5",
            "last_price": "7230.00",
            "last_tick_direction": "ZeroMinusTick",
            "prev_price_24h": "7163.00",
            "price_24h_pcnt": "0.009353",
            "high_price_24h": "7267.50",
            "low_price_24h": "7067.00",
            "prev_price_1h": "7209.50",
            "price_1h_pcnt": "0.002843",
            "mark_price": "7230.31",
            "index_price": "7230.14",
            "open_interest": 117860186,
            "open_value": "16157.26",
            "total_turnover": "3412874.21",
            "turnover_24h": "10864.63",
            "total_volume": 28291403954,
            "volume_24h": 78053288,
            "funding_rate": "0.0001",
            "predicted_funding_rate": "0.0001",
            "next_funding_time": "2019-12-28T00:00:00Z",
            "countdown_hour": 2,
            "delivery_fee_rate": "0",
            "predicted_delivery_price": "0.00",
            "delivery_time": ""
        },
        {
            "symbol": "BTCUSDM21",
            "bid_price": "67895",
            "ask_price": "67895.5",
            "last_price": "67895.50",
            "last_tick_direction": "ZeroPlusTick",
            "prev_price_24h": "68073.00",
            "price_24h_pcnt": "-0.002607",
            "high_price_24h": "69286.50",
            "low_price_24h": "66156.00",
            "prev_price_1h": "68028.50",
            "price_1h_pcnt": "-0.001955",
            "mark_price": "67883.88",
            "index_price": "62687.89",
            "open_interest": 531821673,
            "open_value": "0.00",
            "total_turnover": "85713.36",
            "turnover_24h": "2371.47",
            "total_volume": 5352251354,
            "volume_24h": 160716002,
            "funding_rate": "0",
            "predicted_funding_rate": "0",
            "next_funding_time": "",
            "countdown_hour": 0,
            "delivery_fee_rate": "0.0005",
            "predicted_delivery_price": "0.00",
            "delivery_time": "2021-06-25T08:00:00Z"
        }
    ],
    "time_now": "1577484619.817968"
}

獲取Bybit的最新合約信息

HTTP 請求

GET /v2/public/tickers

請求參數

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

返回參數

參數 類型 說明
symbol string 合約類型
bid_price string 第一筆掛單買入價
ask_price string 第一筆掛單賣出價
last_price string 最新成交價
last_tick_direction string 價格變化方向
prev_price_24h string 24小時前的整點市價
price_24h_pcnt string 市價相對24h變化百分比
high_price_24h string 最近 24 小時最高價
low_price_24h string 最近 24 小時最低價
prev_price_1h string 1小時前的整點市價
price_1h_pcnt string 市價相對1小時前變化百分比
mark_price string 標記價格
index_price string 指數價格
open_interest number 未平倉合約數量
open_value string 未平倉價值
total_turnover string 成交金額
turnover_24h string 24小時成交金額
total_volume number 總交易量
volume_24h number 最近 24 小時成交量
funding_rate string 資金費率
predicted_funding_rate string 預測資金費率
next_funding_time string 下次結算資金費用時間
countdown_hour number 結算資金費用剩余時間
delivery_fee_rate string 交割費率,僅交割合約有效
predicted_delivery_price string 預期交割價,僅交割合約有效
delivery_time string 交割時間,僅交割合約有效

平臺交易歷史數據

請求示例

curl https://api-testnet.bybit.com/v2/public/trading-records?symbol=BTCUSD
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.public_trading_records(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "id": 7724919,
            "symbol": "BTCUSD",
            "price": 9499.5,
            "qty": 9500,
            "side": "Buy",
            "time": "2019-11-19T08:03:04.077Z"
        }
    ],
    "time_now": "1567109419.049271"
}

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

HTTP 請求

GET /v2/public/trading-records

請求參數

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

返回參數

參數 類型 說明
id number 最新數據ID
symbol string 合約類型
price number 交易價格
qty number 交易數量
side string Side of taker order
time string UTC 時間

查詢合約信息

請求示例

curl https://api-testnet.bybit.com/v2/public/symbols
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session.query_symbol())

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "name":"BTCUSD",
            "alias":"BTCUSD",
            "status":"Trading",
            "base_currency":"BTC",
            "quote_currency":"USD",
            "price_scale":2,
            "taker_fee":"0.00075",
            "maker_fee":"-0.00025",
            "funding_interval":480,
            "leverage_filter":{
                "min_leverage":1,
                "max_leverage":100,
                "leverage_step":"0.01"
            },
            "price_filter":{
                "min_price":"0.5",
                "max_price":"999999.5",
                "tick_size":"0.5"
            },
            "lot_size_filter":{
                "max_trading_qty":1000000,
                "min_trading_qty":1,
                "qty_step":1,
                "post_only_max_trading_qty":"5000000"
            }
        },
        {
            "name":"EOSUSD",
            "alias":"EOSUSD",
            "status":"Trading",
            "base_currency":"EOS",
            "quote_currency":"USD",
            "price_scale":3,
            "taker_fee":"0.00075",
            "maker_fee":"-0.00025",
            "funding_interval":480,
            "leverage_filter":{
                "min_leverage":1,
                "max_leverage":50,
                "leverage_step":"0.01"
            },
            "price_filter":{
                "min_price":"0.001",
                "max_price":"1999.999",
                "tick_size":"0.001"
            },
            "lot_size_filter":{
                "max_trading_qty":1000000,
                "min_trading_qty":1,
                "qty_step":1,
                "post_only_max_trading_qty":"5000000"
            }
        },
        {
            "name":"BTCUSDT",
            "alias":"BTCUSDT",
            "status":"Trading",
            "base_currency":"BTC",
            "quote_currency":"USDT",
            "price_scale":2,
            "taker_fee":"0.00075",
            "maker_fee":"-0.00025",
            "funding_interval":480,
            "leverage_filter":{
                "min_leverage":1,
                "max_leverage":100,
                "leverage_step":"0.01"
            },
            "price_filter":{
                "min_price":"0.5",
                "max_price":"999999.5",
                "tick_size":"0.5"
            },
            "lot_size_filter":{
                "max_trading_qty":100,
                "min_trading_qty":0.001,
                "qty_step":0.001,
                "post_only_max_trading_qty":"500"
            }
        },
        {
            "name":"BTCUSDM22",
            "alias":"BTCUSD0624",
            "status":"Trading",
            "base_currency":"BTC",
            "quote_currency":"USD",
            "price_scale":2,
            "taker_fee":"0.00075",
            "maker_fee":"-0.00025",
            "funding_interval":480,
            "leverage_filter":{
                "min_leverage":1,
                "max_leverage":100,
                "leverage_step":"0.01"
            },
            "price_filter":{
                "min_price":"0.5",
                "max_price":"999999.5",
                "tick_size":"0.5"
            },
            "lot_size_filter":{
                "max_trading_qty":1000000,
                "min_trading_qty":1,
                "qty_step":1,
                "post_only_max_trading_qty":"5000000"
            }
        }
    ],
    "time_now":"1615801223.589808"
}

獲取合約信息.

HTTP 請求

GET /v2/public/symbols

請求參數

parameter 是否必須 類型 說明

返回參數

參數 類型 說明
name string 合約名稱
alias string 合約名稱
status string 合約狀態
base_currency string 基礎貨幣
quote_currency string 報價貨幣
price_scale number 價格範圍(可以提交價格的小數位數,儘管最終價格可能會四捨五入以符合 價格最小增加或減少數量
taker_fee string taker 手續費
maker_fee string maker 手續費
funding_interval number 資金費用結算週期
min_leverage number 最小杠桿數
max_leverage number 最大杠桿數 (假設在最低風險限額設置時候的最大槓桿數)
leverage_step string 杠桿最小增加或減少數量
min_price string 最小價格
max_price string 最大價格
tick_size string 價格最小增加或減少數量
max_trading_qty number 最大交易數量
min_trading_qty number 最小交易數量
qty_step number 合約數量最小單位
post_only_max_trading_qty string PostOnly 訂單最大交易數量

標記價格K線

請求示例

curl "https://api-testnet.bybit.com/v2/public/mark-price-kline?symbol=BTCUSD&interval=1&limit=2&from=1581231260"
print(session_unauth.query_mark_price_kline(
    symbol="BTCUSD",
    interval="D",
    from_time=1653408000
))

響應示例


{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "id":2,
            "symbol":"BTCUSD",
            "period":"1",
            "start_at":1582231260,
            "open":100,
            "high":120,
            "low":88,
            "close":115
        }
    ],
    "time_now":"1591263582.601795"
}

查詢標記價格K線

HTTP 請求

GET /v2/public/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 integer 最低價格
close integer 結束價格

查詢指數價格K線數據

請求示例

curl "https://api-testnet.bybit.com/v2/public/index-price-kline?symbol=BTCUSD&interval=1&limit=2&from=1581231260"
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.query_index_price_kline(
    symbol="BTCUSD",
    interval="D",
    from_time=1653408000
))

響應示例

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

指數價格K線

HTTP 請求

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

響應示例

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

溢價K線

HTTP 請求

GET /v2/public/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/v2/public/open-interest?symbol=BTCUSD&period=5min
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.open_interest(
    symbol="BTCUSD",
    period="30min"
))

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "open_interest":371491978,
            "timestamp":1597658100,
            "symbol":"BTCUSD"
        },
        {
            "open_interest":370696076,
            "timestamp":1597657800,
            "symbol":"BTCUSD"
        }
    ],
    "time_now":"1597658304.938839"
}

獲取Bybit各個合約的持倉數量

HTTP 請求

GET /v2/public/open-interest

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
period true string 數據記錄周期. 5min 15min 30min 1h 4h 1d
limit false int 返回數據最大200條. 默認返回50條

返回參數

參數 類型 說明
open_interest number 未平倉合約數量
timestamp number 時間戳(秒)
symbol string 合約類型

主動成交大額訂單

請求示例

curl https://api-testnet.bybit.com/v2/public/big-deal?symbol=BTCUSD
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.latest_big_deal(
    symbol="BTCUSD",
    limit=10
))

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "symbol":"BTCUSD",
            "side":"Sell",
            "timestamp":1597623362,
            "value":1242368
        },
        {
            "symbol":"BTCUSD",
            "side":"Buy",
            "timestamp":1597623363,
            "value":1242368
        }
    ],
    "time_now":"1597658434.219859"
}

獲取Bybit主動成交大於500000USD的訂單,時間範圍是最近24h內。

HTTP 請求

GET /v2/public/big-deal

請求參數

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

返回參數

參數 類型 說明
symbol string 合約類型
side string 方向
timestamp number 時間戳(秒)
value number 訂單價值

用戶多空持倉比率

請求示例

curl https://api-testnet.bybit.com/v2/public/account-ratio?symbol=BTCUSD&period=5min
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.long_short_ratio(
    symbol="BTCUSD",
    limit=2,
    period="5min"
))

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "symbol":"BTCUSD",
            "buy_ratio":0.6538,
            "sell_ratio":0.3462,
            "timestamp":1597659000
        },
        {
            "symbol":"BTCUSD",
            "buy_ratio":0.6533,
            "sell_ratio":0.3467,
            "timestamp":1597658700
        }
    ],
    "time_now":"1597659230.743313"
}

獲取Bybit平臺用戶多空持倉比率

HTTP 請求

GET /v2/public/account-ratio

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
period true string 數據記錄周期. 5min 15min 30min 1h 4h 1d
limit false int 返回數據最大500條. 默認返回50條

返回參數

參數 類型 說明
symbol string 合約類型
buy_ratio number 多倉人數占比
sell_ratio number 空倉人數占比
timestamp number 時間戳(秒)

賬戶/交易接口

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

活動單

創建活動委托單

請求示例

curl https://api-testnet.bybit.com/v2/private/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 inverse_perpetual
session_auth = inverse_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="BTCUSD",
    side="Buy",
    order_type="Market",
    qty=1,
    time_in_force="GoodTillCancel"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "user_id": 533285,
        "order_id": "a1904030-f99c-4e35-9217-111591f08493",
        "symbol": "BTCUSD",
        "side": "Buy",
        "order_type": "Limit",
        "price": 20010,
        "qty": 200,
        "time_in_force": "GoodTillCancel",
        "order_status": "Created",
        "last_exec_time": 0,
        "last_exec_price": 0,
        "leaves_qty": 200,
        "cum_exec_qty": 0,
        "cum_exec_value": 0,
        "cum_exec_fee": 0,
        "reject_reason": "EC_NoError",
        "order_link_id": "",
        "created_at": "2022-06-20T06:56:22.070Z",
        "updated_at": "2022-06-20T06:56:22.070Z",
        "take_profit": "22000.00",
        "stop_loss": "19000.00",
        "tp_trigger_by": "MarkPrice",
        "sl_trigger_by": "MarkPrice"
    },
    "time_now": "1655708182.071362",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1655708182068,
    "rate_limit": 100
}

市價活動委托: 一個傳統的市場價格訂單,會以當前的最優價格為您成交訂單。當且僅當選擇市價單時,price可為空!為了保護市價單遭遇嚴重的滑點,Bybit將市價單轉為限價單進入撮合,買單價格高於最優賣價,賣單價格低於最優買價。限價價格和成交價格均可通過用戶成交記錄接口查詢。

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

止盈止損: 您僅能在開倉時設置止盈止損條件單,一旦持有倉位後提交活動委托時關聯的止盈止損則不會生效。

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

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

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

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

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

HTTP 請求

POST /v2/private/order/create

請求參數

參數 是否必須 類型 說明
side true string 方向
symbol true string 合約類型
order_type true string 委托單價格類型
qty true integer 委托數量(1個委托1美元),只能為正整數
price false number 委托價格
time_in_force true string 執行策略
reduce_only false bool 只減倉
close_on_trigger false 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

返回參數

參數 類型 說明
user_id number 用戶ID
order_id string 訂單ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
last_exec_time string 最近一次成交時間
last_exec_price string 最近一次成交價格
leaves_qty number 剩余委托數量
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee number 累計成交手續費
reject_reason string 被拒單的原因
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
updated_at string 更新時間
take_profit string 止盈價格
stop_loss string 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice

查詢活動委托

請求示例

curl "https://api-testnet.bybit.com/v2/private/order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}&symbol=BTCUSD"
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    order_status="New"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "data": [
            {
                "user_id": 533285,
                "position_idx": 0,
                "order_status": "New",
                "symbol": "BTCUSD",
                "side": "Buy",
                "order_type": "Limit",
                "price": "20010",
                "qty": "200",
                "time_in_force": "GoodTillCancel",
                "order_link_id": "",
                "order_id": "a1904030-f99c-4e35-9217-111591f08493",
                "created_at": "2022-06-20T06:56:22.070Z",
                "updated_at": "2022-06-20T06:56:22.075Z",
                "leaves_qty": "200",
                "leaves_value": "0.009995",
                "cum_exec_qty": "0",
                "cum_exec_value": "0",
                "cum_exec_fee": "0",
                "reject_reason": "EC_NoError",
                "take_profit": "22000.0000",
                "stop_loss": "19000.0000",
                "tp_trigger_by": "MarkPrice",
                "sl_trigger_by": "MarkPrice"
            }
        ],
        "cursor": "/oIljKFOerbXfuWAmnc33qCc1649q+xLuuagMYyoYh6pV+BShVJ8ph439Xw8ywSp"
    },
    "time_now": "1655708401.042813",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1655708401039,
    "rate_limit": 600
}

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

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

HTTP 請求

GET /v2/private/order/list

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
order_status false string 指定訂單狀態查詢訂單列表。不傳該參數則默認查詢所有狀態訂單。該參數支持多狀態查詢,狀態之間用英文逗號分割。
direction false string 搜索方向:prev:上一頁,next:下一頁,默認為 next
limit false integer 每頁數量, 最大50. 默認每頁20條
cursor false string 翻頁標記,請使用返回的cursor,簽名時使用返回的原始數據,發送request時請進行urlencode

返回參數

參數 類型 說明
user_id integer 用戶ID
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell
order_status string 訂單狀態
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price string 委托價格
qty string 委托數量
time_in_force string 執行策略
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
order_id string 訂單ID
created_at string 創建時間
updated_at string 更新時間
leaves_qty string 剩余委托數量
leaves_value string 剩余掛單數量對應的預估價值
cum_exec_qty string 累計成交數量
cum_exec_value string 累計成交價值
cum_exec_fee string 累計成交手續費
reject_reason string 被拒單的原因
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
cursor string 翻頁標記

撤銷活動委托單

請求示例

curl https://api-testnet.bybit.com/v2/private/order/cancel \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    order_id="3bd1844f-f3c0-4e10-8c25-10fea03763f6"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "user_id": 533285,
        "order_id": "bab79185-7759-48f3-a5f4-206808b6f1ec",
        "symbol": "BTCUSD",
        "side": "Buy",
        "order_type": "Limit",
        "price": 19500,
        "qty": 100,
        "time_in_force": "GoodTillCancel",
        "order_status": "New",
        "last_exec_time": 1655711524.37661,
        "last_exec_price": 0,
        "leaves_qty": 100,
        "cum_exec_qty": 0,
        "cum_exec_value": 0,
        "cum_exec_fee": 0,
        "reject_reason": "EC_NoError",
        "order_link_id": "IPBTC00001",
        "created_at": "2022-06-20T07:52:04.376Z",
        "updated_at": "2022-06-20T07:54:35.339Z",
        "take_profit": "",
        "stop_loss": "",
        "tp_trigger_by": "",
        "sl_trigger_by": ""
    },
    "time_now": "1655711675.340162",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1655711675338,
    "rate_limit": 100
}

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

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

HTTP 請求

POST /v2/private/order/cancel

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
order_id false string 訂單ID
order_link_id false string 自定義機構ID

返回參數

參數 類型 說明
user_id number 用戶ID
order_id string 訂單ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
last_exec_time string 最近一次成交時間
last_exec_price string 最近一次成交價格
leaves_qty number 剩余委托數量
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee number 累計成交手續費
reject_reason string 被拒單的原因
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
updated_at string 更新時間
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice

撤銷所有活動委托單

請求示例

curl https://api-testnet.bybit.com/v2/private/order/cancelAll \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "clOrdID": "89f67ac2-8f51-4463-b5c1-75d0d8aca185",
            "order_link_id": "IPBTC00003",
            "user_id": 533285,
            "symbol": "BTCUSD",
            "side": "Buy",
            "order_type": "Limit",
            "price": "17000",
            "qty": 100,
            "time_in_force": "GoodTillCancel",
            "create_type": "CreateByUser",
            "cancel_type": "CancelByUser",
            "order_status": "",
            "leaves_qty": 100,
            "leaves_value": "0",
            "created_at": "2022-06-21T02:05:30.430491295Z",
            "updated_at": "2022-06-21T04:34:46.3745089Z",
            "cross_status": "PendingCancel",
            "cross_seq": 5208583955
        }
    ],
    "time_now": "1655786086.374891",
    "rate_limit_status": 80,
    "rate_limit_reset_ms": 1655786086373,
    "rate_limit": 100
}

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

HTTP 請求

POST /v2/private/order/cancelAll

請求參數

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

返回參數

參數 類型 說明
clOrdID string uuid類型的唯一訂單號
order_link_id string 關聯訂單號,最大不成超過32位
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price string 委托價格
qty number 委托數量
time_in_force string 執行策略
create_type string 下單操作的觸發場景
cancel_type string 取消操作的觸發場景
order_status string 訂單狀態
leaves_qty number 剩余委托數量
leaves_value string 剩余掛單數量對應的預估價值
created_at string 創建時間
updated_at string 更新時間
cross_status string 取消操作的觸發場景
cross_seq number 撮合版本號

修改活動單信息

請求示例

curl https://api-testnet.bybit.com/v2/private/order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    order_id="efa44157-c355-4a98-b6d6-1d846a936b93"
))

響應示例

{
    "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 /v2/private/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 string 修改後的訂單價格。如果不修改這個字段,請不要傳這個參數。
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/v2/private/order?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}order_id={order_id}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session.query_active_order(
    symbol="BTCUSD",
    order_id="e66b101a-ef3f-4647-83b5-28e0f38dcae0"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "user_id": 533285,
        "position_idx": 0,
        "symbol": "BTCUSD",
        "side": "Buy",
        "order_type": "Limit",
        "price": "20000",
        "qty": 200,
        "time_in_force": "GoodTillCancel",
        "order_status": "New",
        "ext_fields": {
            "o_req_num": 1240101436
        },
        "last_exec_time": "1655716503.5852108",
        "leaves_qty": 200,
        "leaves_value": "0.01",
        "cum_exec_qty": 0,
        "cum_exec_value": null,
        "cum_exec_fee": null,
        "reject_reason": "EC_NoError",
        "cancel_type": "UNKNOWN",
        "order_link_id": "IPBTC000002",
        "created_at": "2022-06-20T09:15:03.585128212Z",
        "updated_at": "2022-06-20T09:15:03.590398174Z",
        "order_id": "2b1d811c-8ff0-4ef0-92ed-b4ed5fd6de34",
        "take_profit": "23000.00",
        "stop_loss": "18000.00",
        "tp_trigger_by": "MarkPrice",
        "sl_trigger_by": "MarkPrice"
    },
    "time_now": "1655718311.123686",
    "rate_limit_status": 597,
    "rate_limit_reset_ms": 1655718311122,
    "rate_limit": 600
}

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

HTTP 請求

GET /v2/private/order

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
order_id false string 訂單ID
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復

返回參數

參數 類型 說明
user_id number 用戶ID
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price string 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
ext_fields map 擴展字段
last_exec_time string 最近一次成交時間
leaves_qty number 剩余委托數量
leaves_value number 剩余掛單數量對應的預估價值
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee string 累計成交手續費
reject_reason string 被拒單的原因
cancel_type string 取消操作的觸發場景
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
updated_at string 更新時間
order_id string 訂單ID
take_profit number 止盈價格
stop_loss number 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice

條件單

創建條件委托單

請求示例

curl https://api-testnet.bybit.com/v2/private/stop-order/create \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","order_type":"Limit","side":"Buy","symbol":"BTCUSD","qty":1,"price":8100,"base_price":8300,"stop_px":8150,"time_in_force":"GoodTillCancel","order_link_id":"cus_order_id_1","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    order_type="Limit",
    side="Buy",
    qty=1,
    price=54100,
    base_price=54192,
    stop_px=54150,
    time_in_force="GoodTillCancel"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "user_id": 533285,
        "symbol": "BTCUSD",
        "side": "Buy",
        "order_type": "Limit",
        "price": "19000.00",
        "qty": "100",
        "time_in_force": "GoodTillCancel",
        "remark": "172.104.71.120",
        "leaves_qty": "100",
        "leaves_value": "0.00526315",
        "stop_px": "19500.00",
        "reject_reason": "EC_NoError",
        "stop_order_id": "6e6a003f-fda3-4513-b944-3f41dabd2866",
        "order_link_id": "IPCOND0001",
        "trigger_by": "MarkPrice",
        "base_price": "20000.00",
        "created_at": "2022-06-21T02:19:46.052Z",
        "updated_at": "2022-06-21T02:19:46.052Z",
        "tp_trigger_by": "LastPrice",
        "sl_trigger_by": "LastPrice",
        "take_profit": "22000.00",
        "stop_loss": "17500.00"
    },
    "time_now": "1655777986.053050",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1655777986051,
    "rate_limit": 100
}

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

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

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

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

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

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

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

HTTP 請求

POST /v2/private/stop-order/create

請求參數

參數 是否必須 類型 說明
side true string 方向
symbol true string 合約類型
order_type true string 委托單價格類型
qty true string 委托數量(1個委托1美元),只能為正整數
price false string 條件委托執行價格。如果條件委托是限價單,則price為必傳字段
base_price true string 當前市價。用於和stop_px值進行比較,確定當前條件委托是看空到stop_px時觸發還是看多到stop_px觸發。主要是用來標識當前條件單預期的方向
stop_px true string 觸發價格. 如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
time_in_force true string 執行策略
trigger_by false string 觸發價格類型. 默認為最新市價
close_on_trigger false 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

返回參數

參數 類型 說明
user_id integer 用戶ID
symbol string 合約類型
side string 方向
order_type string 訂單類型
price string 委托價格
qty string 委托數量
time_in_force string 執行策略
remark string 備註
leaves_qty number 剩余委托數量
leaves_value number 剩余掛單數量對應的預估價值
stop_px string 觸發價格。如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
reject_reason string 被拒單的原因
stop_order_id string 條件委托訂單ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
trigger_by string 觸發價格類型. 默認為最新市價
base_price string 下單時市價
created_at string 創建時間
updated_at string 更新時間
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
take_profit string 止盈價格
stop_loss string 止損價格

查詢條件委托

請求示例

curl "https://api-testnet.bybit.com/v2/private/stop-order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    stop_order_status="Untriggered"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "data": [
            {
                "user_id": 533285,
                "position_idx": 0,
                "stop_order_status": "Deactivated",
                "symbol": "BTCUSD",
                "side": "Buy",
                "order_type": "Limit",
                "stop_order_type": "Stop",
                "price": "19000",
                "qty": "100",
                "time_in_force": "GoodTillCancel",
                "base_price": "20000",
                "order_link_id": "IPCOND0001",
                "created_at": "2022-06-21T02:19:46.052Z",
                "updated_at": "2022-06-21T02:37:13.05Z",
                "stop_px": "19500",
                "stop_order_id": "6e6a003f-fda3-4513-b944-3f41dabd2866",
                "trigger_by": "MarkPrice",
                "take_profit": "22000.0000",
                "stop_loss": "17500.0000",
                "tp_trigger_by": "LastPrice",
                "sl_trigger_by": "LastPrice"
            }
        ],
        "cursor": "/oIljKFOerbXfuWAmnc33spA0KcdXr8norz1Mo+W758A5ScFhXQfNDZlY39W83UV"
    },
    "time_now": "1655780730.372912",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1655780730369,
    "rate_limit": 600
}

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

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

HTTP 請求

GET /v2/private/stop-order/list

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
stop_order_status false string 指定訂單狀態查詢訂單列表。不傳該參數則默認查詢所有狀態訂單
direction false string 搜索方向:prev:上一頁,next:下一頁,默認為 next
limit false integer 每頁數量, 最大50. 默認每頁20條
cursor false string 翻頁標記,請使用返回的cursor,簽名時使用返回的原始數據,發送request時請進行urlencode

返回參數

參數 類型 說明
user_id integer 用戶ID
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell
stop_order_status string 條件單狀態
symbol string 合約類型
side string 方向
order_type string 訂單類型
price string 委托價格
qty string 委托數量
time_in_force string 執行策略
stop_order_type string 委托單價格類型
trigger_by string 觸發價格類型
base_price string 下單時市價
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
updated_at string 更新時間
stop_px string 觸發價格。如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
stop_order_id string 條件委托訂單ID
take_profit string 止盈價格
stop_loss string 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice
cursor string 翻頁標記

撤消條件委托單

請求示例

curl https://api-testnet.bybit.com/v2/private/stop-order/cancel \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","stop_order_id":"xxx","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    stop_order_id="c1025629-e85b-4c26-b4f3-76e86ad9f8cb"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "stop_order_id": "c1025629-e85b-4c26-b4f3-76e86ad9f8cb"
    },
    "ext_info": null,
    "time_now": "1577452218.567120",
    "rate_limit_status": 97,
    "rate_limit_reset_ms": 1577452218573,
    "rate_limit": "100"
}

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

HTTP 請求

POST /v2/private/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/v2/private/stop-order/cancelAll \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "clOrdID": "c692f699-5e41-49a0-a87f-666ae66e47c7",
            "order_link_id": "IPCOND0002",
            "user_id": 533285,
            "symbol": "BTCUSD",
            "side": "Buy",
            "order_type": "Market",
            "price": "0",
            "qty": 100,
            "time_in_force": "ImmediateOrCancel",
            "create_type": "CreateByStopOrder",
            "cancel_type": "CancelByUser",
            "order_status": "",
            "leaves_value": "0",
            "created_at": "2022-06-21T03:32:58.42058148Z",
            "updated_at": "2022-06-21T04:34:11.689866649Z",
            "cross_status": "Deactivated",
            "cross_seq": -1,
            "stop_order_type": "Stop",
            "trigger_by": "MarkPrice",
            "base_price": "20000",
            "trail_value": "0",
            "expected_direction": "Falling"
        },
        {
            "clOrdID": "d46d5544-a2a9-4eb7-a4a2-be4855bb3873",
            "user_id": 533285,
            "symbol": "BTCUSD",
            "side": "Sell",
            "order_type": "Market",
            "price": "0",
            "qty": 400,
            "time_in_force": "ImmediateOrCancel",
            "create_type": "CreateByTakeProfit",
            "cancel_type": "CancelByUser",
            "order_status": "",
            "leaves_value": "0",
            "created_at": "2022-06-21T04:08:10.185138102Z",
            "updated_at": "2022-06-21T04:34:11.689871755Z",
            "cross_status": "Deactivated",
            "cross_seq": -1,
            "stop_order_type": "TakeProfit",
            "trigger_by": "LastPrice",
            "base_price": "20636",
            "trail_value": "0",
            "expected_direction": "Rising"
        }
    ],
    "time_now": "1655786051.690280",
    "rate_limit_status": 90,
    "rate_limit_reset_ms": 1655786051688,
    "rate_limit": 100
}

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

HTTP 請求

POST /v2/private/stop-order/cancelAll

請求參數

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

返回參數

參數 類型 說明
clOrdID string uuid類型的唯一訂單號
order_link_id string 關聯訂單號,最大不成超過32位
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 訂單類型
price string 委托價格
qty number 委托數量
time_in_force string 執行策略
create_type string 下單操作的觸發場景
cancel_type string 取消操作的觸發場景
order_status string 訂單狀態
leaves_qty number 剩余委托數量
leaves_value string 剩余掛單數量對應的預估價值
created_at string 創建時間
updated_at string 更新時間
cross_status string 取消操作的觸發場景
cross_seq number 撮合版本號
stop_order_type string 委托單價格類型
trigger_by string 觸發價格類型. 默認為最新市價
base_price string 下單時市價
expected_direction string 預期方向

修改條件委托單

請求示例

curl https://api-testnet.bybit.com/v2/private/stop-order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","stop_order_id":"","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    stop_order_id="378a1bbc-a93a-4e75-87f4-502ea754ba36",
    p_r_trigger_price=16003
))

響應示例

{
    "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 /v2/private/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 string 修改後的訂單價格。如果不修改這個字段,請不要傳這個參數。
p_r_trigger_price false string 修改後的條件單的觸發價格或止盈止損的價格。如果不修改這個字段,請不要傳這個參數。
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/v2/private/stop-order?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}order_id={order_id}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_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="BTCUSD",
    stop_order_id="378a1bbc-a93a-4e75-87f4-502ea754ba36"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "user_id": 533285,
            "position_idx": 0,
            "symbol": "BTCUSD",
            "side": "Buy",
            "order_type": "Market",
            "price": "0",
            "qty": 100,
            "stop_px": "19500.00",
            "base_price": "20000.00",
            "time_in_force": "ImmediateOrCancel",
            "order_status": "Untriggered",
            "ext_fields": {
                "o_req_num": 1328284913
            },
            "leaves_qty": 100,
            "leaves_value": "0",
            "cum_exec_qty": 0,
            "cum_exec_value": null,
            "cum_exec_fee": null,
            "reject_reason": "EC_NoError",
            "cancel_type": "UNKNOWN",
            "order_link_id": "IPCOND0002",
            "created_at": "2022-06-21T03:32:58.42058148Z",
            "updated_at": "2022-06-21T03:32:58.42058148Z",
            "order_id": "c692f699-5e41-49a0-a87f-666ae66e47c7",
            "trigger_by": "MarkPrice",
            "take_profit": "22000.00",
            "stop_loss": "17500.00",
            "tp_trigger_by": "LastPrice",
            "sl_trigger_by": "LastPrice"
        }
    ],
    "time_now": "1655782431.042082",
    "rate_limit_status": 597,
    "rate_limit_reset_ms": 1655782431039,
    "rate_limit": 600
}

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

HTTP 請求

GET /v2/private/stop-order

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
stop_order_id false string 條件委托訂單ID
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復

返回參數

參數 類型 說明
user_id number 用戶ID
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell
symbol string 合約類型
side string 方向
order_type string 訂單類型
price number 委托價格
qty number 委托數量
stop_px string 觸發價格。如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
base_price string 下單時市價
time_in_force string 執行策略
order_status string 訂單狀態
ext_fields map 擴展字段
leaves_qty number 剩余委托數量
leaves_value string 剩余掛單數量對應的預估價值
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee number 累計成交手續費
reject_reason string 被拒單的原因
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
updated_at string 更新時間
order_id string 訂單ID
trigger_by string 觸發價格類型
take_profit string 止盈價格
stop_loss string 止損價格
tp_trigger_by string 止盈激活價格類型,默認為LastPrice
sl_trigger_by string 止損激活價格類型,默認為LastPrice

持倉

獲取持倉(實時)

請求示例

curl "https://api-testnet.bybit.com/v2/private/position/list?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.my_position(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "id": 27913,
        "user_id": 1,
        "risk_id": 1,
        "symbol": "BTCUSD",
        "side": "Buy",
        "size": 5,
        "position_value": "0.0006947",
        "entry_price": "7197.35137469",
        "is_isolated":true,
        "auto_add_margin": 0,
        "leverage": "1",
        "effective_leverage": "1",
        "position_margin": "0.0006947",
        "liq_price": "3608",
        "bust_price": "3599",
        "occ_closing_fee": "0.00000105",
        "occ_funding_fee": "0",
        "take_profit": "0",
        "stop_loss": "0",
        "trailing_stop": "0",
        "position_status": "Normal",
        "deleverage_indicator": 4,
        "oc_calc_data": "{\"blq\":2,\"blv\":\"0.0002941\",\"slq\":0,\"bmp\":6800.408,\"smp\":0,\"fq\":-5,\"fc\":-0.00029477,\"bv2c\":1.00225,\"sv2c\":1.0007575}",
        "order_margin": "0.00029477",
        "wallet_balance": "0.03000227",
        "realised_pnl": "-0.00000126",
        "unrealised_pnl": 0,
        "cum_realised_pnl": "-0.00001306",
        "cross_seq": 444081383,
        "position_seq": 287141589,
        "created_at": "2019-10-19T17:04:55Z",
        "updated_at": "2019-12-27T20:25:45.158767Z"
        "tp_sl_mode": "Partial"
    },
    "time_now": "1577480599.097287",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 120
}

//當不傳參數symbol的時候,返回結構如下:
{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "is_valid": true,
            "data": {
                "id": 0,
                "position_idx": 0,
                "mode": 0,
                "user_id": 118921,
                "risk_id": 1,
                "symbol": "BTCUSD",
                "side": "Buy",
                "size": 10,
                "position_value": "0.00076448",
                "entry_price": "13080.78694014",
                "is_isolated": false,
                "auto_add_margin": 1,
                "leverage": "100",
                "effective_leverage": "0.01",
                "position_margin": "0.40111704",
                "liq_price": "25",
                "bust_price": "25",
                "occ_closing_fee": "0.0003",
                "occ_funding_fee": "0",
                "take_profit": "0",
                "stop_loss": "0",
                "trailing_stop": "0",
                "position_status": "Normal",
                "deleverage_indicator": 1,
                "oc_calc_data": "{\"blq\":0,\"slq\":0,\"bmp\":0,\"smp\":0,\"fq\":-10,\"bv2c\":0.0115075,\"sv2c\":0.0114925}",
                "order_margin": "0",
                "wallet_balance": "0.40141704",
                "realised_pnl": "-0.00000008",
                "unrealised_pnl": 0.00003797,
                "cum_realised_pnl": "-0.090626",
                "cross_seq": 764786721,
                "position_seq": 581513847,
                "created_at": "2020-08-10T07:04:32Z",
                "updated_at": "2020-11-02T00:00:11.943371457Z"
                "tp_sl_mode": "Partial"
            }
        },
        ...
        {
            "is_valid": true,
            "data": {
                "id": 0,
                "position_idx": 0,
                "mode": 0,
                "user_id": 118921,
                "risk_id": 35,
                "symbol": "XRPUSD",
                "side": "None",
                "size": 0,
                "position_value": "0",
                "entry_price": "0",
                "is_isolated": false,
                "auto_add_margin": 1,
                "leverage": "16.67",
                "effective_leverage": "16.67",
                "position_margin": "0",
                "liq_price": "0",
                "bust_price": "0",
                "occ_closing_fee": "0",
                "occ_funding_fee": "0",
                "take_profit": "0",
                "stop_loss": "0",
                "trailing_stop": "0",
                "position_status": "Normal",
                "deleverage_indicator": 0,
                "oc_calc_data": "{\"blq\":0,\"slq\":0,\"bmp\":0,\"smp\":0,\"bv2c\":0.06153301,\"sv2c\":0.06144302}",
                "order_margin": "0",
                "wallet_balance": "0",
                "realised_pnl": "0",
                "unrealised_pnl": 0,
                "cum_realised_pnl": "0",
                "cross_seq": -1,
                "position_seq": 352149441,
                "created_at": "2020-08-10T07:04:32Z",
                "updated_at": "2020-08-22T08:06:32Z"
                "tp_sl_mode": "Partial"
            }
        }
    ],
    "time_now": "1604302124.031104",
    "rate_limit_status": 118,
    "rate_limit_reset_ms": 1604302124020,
    "rate_limit": 120
}

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

HTTP 請求

GET /v2/private/position/list

請求參數

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

返回參數

參數 類型 說明
id number 倉位ID
position_idx integer Position idx, 用於在不同倉位模式下標識倉位:
0-單向持倉
1-雙向持倉Buy
2-雙向持倉Sell
mode number 倉位模式
user_id number 用戶ID
risk_id number 風險限額ID
symbol string 合約類型
side string 方向
size number 倉位數量
position_value string 倉位價值
entry_price string 平均入場價
is_isolated bool 是否逐倉,true-逐倉 false-全倉
auto_add_margin number 是否 自動追加保證金
leverage string 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
effective_leverage string 有效杠桿
position_margin string 倉位保證金
liq_price string 強平價格
bust_price string 破產價格
occ_closing_fee string 倉位占用的平倉手續費
occ_funding_fee string 倉位size和當前資金費率預占用資金費用
take_profit string 止盈價格
stop_loss string 止損價格
trailing_stop string 追蹤止損(與當前價格的距離)
position_status string 倉位狀態,正常,強平,減倉
deleverage_indicator number 風險指示燈等級(1,2,3,4,5)
oc_calc_data string 預占保證證計算參數, blq-多方所有未成交委托數; bmp-多方最低價; slq-空方所有未成交委托數; smp-空方最低價
order_margin string 委托預占用保證金
wallet_balance string 錢包余額
realised_pnl string 當日已結盈虧
unrealised_pnl number 未結盈虧
cum_realised_pnl string 累計已結盈虧
cross_seq number 撮合版本號
position_seq number 倉位變化版本號
created_at string The account creation time
updated_at string 更新時間
tp_sl_mode string 止盈止損模式

更新保證金

請求示例

curl https://api-testnet.bybit.com/v2/private/position/change-position-margin \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD",margin:"10","timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.change_margin(
    symbol="BTCUSD",
    margin=0.00001
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": 0.00000997,
    "ext_info": null,
    "time_now": "1577480720.003444",
    "rate_limit_status": 74,
    "rate_limit_reset_ms": 1577480720011,
    "rate_limit": 75
}

更新保證金。

HTTP 請求

POST /v2/private/position/change-position-margin

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
margin true string 保證金

返回參數

參數 類型 說明
result number 倉位保證金

設置止盈止損

請求示例

curl https://api-testnet.bybit.com/v2/private/position/trading-stop \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","stop_loss":7000,"timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.set_trading_stop(
    symbol="BTCUSD",
    stop_loss=7000
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "id": 0,
        "user_id": 533285,
        "symbol": "BTCUSD",
        "side": "Buy",
        "size": 400,
        "position_value": 0.019995,
        "entry_price": 20005.00125031,
        "risk_id": 1,
        "auto_add_margin": 0,
        "leverage": 2,
        "position_margin": 0.0099975,
        "liq_price": 13381.5,
        "bust_price": 13337,
        "occ_closing_fee": 0.000018,
        "occ_funding_fee": 0,
        "take_profit": 26000,
        "stop_loss": 14000,
        "trailing_stop": 0,
        "position_status": "Normal",
        "deleverage_indicator": 4,
        "oc_calc_data": "{\"blq\":100,\"blv\":\"0.00588235\",\"slq\":0,\"bmp\":17000.0085,\"smp\":0,\"fq\":-400,\"fc\":-0.00295,\"bv2c\":0.5015,\"sv2c\":0.5009}",
        "order_margin": 0.00295,
        "wallet_balance": 0.3999834,
        "realised_pnl": 0,
        "cum_realised_pnl": -0.00000526,
        "cum_commission": 0,
        "cross_seq": 5208583955,
        "position_seq": 0,
        "created_at": "2022-06-09T07:14:33.264474461Z",
        "updated_at": "2022-06-21T04:08:10.185159763Z",
        "ext_fields": {
            "trailing_active": "0",
            "sl_trigger_by": "LastPrice",
            "tp_trigger_by": "LastPrice",
            "v": 10151,
            "mm": 0
        }
    },
    "time_now": "1655784490.185727",
    "rate_limit_status": 74,
    "rate_limit_reset_ms": 1655784490182,
    "rate_limit": 75
}

設置倉位止盈止損、追蹤止損。

HTTP 請求

POST /v2/private/position/trading-stop

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
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
new_trailing_active false number 追蹤止損觸發價格。追蹤止損會在到達該價格後才會觸發(追蹤止損默認立即觸發)。
sl_size false number 在部分止盈止損模式下,止損合約數量
tp_size false number 在部分止盈止損模式下,止盈合約數量

返回參數

參數 類型 說明
id number 倉位ID
user_id number 用戶ID
symbol string 合約類型
side string 方向
size number 倉位數量
position_value number 倉位價值
entry_price number 平均入場價
risk_id number 風險限額ID
auto_add_margin number 是否 自動追加保證金
leverage number 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
position_margin number 倉位保證金
liq_price number 強平價格
bust_price number 破產價格
occ_closing_fee number 倉位占用的平倉手續費
occ_funding_fee number 倉位size和當前資金費率預占用資金費用
take_profit number 止盈價格
stop_loss number 止損價格
trailing_stop number 追蹤止損(與當前價格的距離)
position_status string 倉位狀態,正常,強平,減倉
deleverage_indicator number 風險指示燈等級(1,2,3,4,5)
oc_calc_data map 預占保證證計算參數, blq-多方所有未成交委托數; bmp-多方最低價; slq-空方所有未成交委托數; smp-空方最低價
order_margin number 委托預占用保證金
wallet_balance number 錢包余額
realised_pnl number 當日已結盈虧
cum_realised_pnl number 累計已結盈虧
cum_commission number 累計傭金
cross_seq number 撮合版本號
position_seq number 倉位變化版本號
created_at string 創建時間
updated_at string 更新時間
trailing_active string 激活價格
sl_trigger_by string 止損激活價格類型
tp_trigger_by string 止盈激活價格類型

修改杠桿

請求示例

curl https://api-testnet.bybit.com/v2/private/position/leverage/save \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","leverage":14,"timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.set_leverage(
    symbol="BTCUSD",
    leverage=2
))

響應示例

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

設置杠桿

HTTP 請求

POST /v2/private/position/leverage/save

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
leverage true number leverage必須大於0且小於最大可設置杠桿 risk limit leverage,如果你想切換全逐倉,請使用 全倉/逐倉切換
leverage_only false bool 該字段表明一個兼容邏輯。
若該字段為false,當leverage 等於0時將會切換至全倉,當leverage大於0將切換至逐倉,此時無法在全倉下設置杠桿;
若該字段為true則表示在當前倉位模式下切換杠桿,此時leverage需要大於0,並可以使用全倉切換杠桿功能。
我們建議用戶leverage設置為true

返回參數

參數 類型 說明
result number 用戶杠桿

用戶成交記錄

請求示例

curl "https://api-testnet.bybit.com/v2/private/execution/list?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.user_trade_records(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "order_id": "已廢棄!!",
        "trade_list": [
            {
                "closed_size": 0,
                "cross_seq": 277136382,
                "exec_fee": "0.0000001",
                "exec_id": "256e5ef8-abfe-5772-971b-f944e15e0d68",
                "exec_price": "8178.5",
                "exec_qty": 1,
                "exec_time": "1571676941.70682",
                "exec_type": "Trade",
                "exec_value": "0.00012227",
                "fee_rate": "0.00075",
                "last_liquidity_ind": "RemovedLiquidity",
                "leaves_qty": 0,
                "nth_fill": 2,
                "order_id": "7ad50cb1-9ad0-4f74-804b-d82a516e1029",
                "order_link_id": "",
                "order_price": "8178",
                "order_qty": 1,
                "order_type": "Market",
                "side": "Buy",
                "symbol": "BTCUSD",
                "user_id": 1,
                "trade_time_ms": 1577480599000
            }
        ]
    },
    "time_now": "1577483699.281488",
    "rate_limit_status": 118,
    "rate_limit_reset_ms": 1577483699244737,
    "rate_limit": 120
}

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

HTTP 請求

GET /v2/private/execution/list

請求參數

參數 是否必須 類型 說明
order_id false string 訂單號,如果沒有填寫訂單號,將返回用戶交易記錄
symbol true string 交易對 必填
start_time false int 開始時間戳(毫秒)
page false integer 頁碼.默認取第一頁,最大50
limit false integer 返回數據最大200條. 默認返回50條
order false string 按創建時間排序(默認升序)

返回參數

參數 類型 說明
closed_size number 平倉委托對應的平倉大小
cross_seq number 撮合版本號
exec_fee string 交易手續費
exec_id string 成交ID
exec_price string 成交價格
exec_qty number 成交數量
exec_time number 交易時間
exec_type string 執行類型
exec_value string 成交價值
fee_rate string 手續費率
last_liquidity_ind string 只有當exec_type字段類型為TradeAdlTradeBustTrade時有效
leaves_qty number 剩余委托數量
nth_fill number 該筆流水對應了撮合響應包裏的第幾筆成交
order_id string 訂單ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
order_price string 訂單價格
order_qty number 訂單數量
order_type string 交易記錄類型
side string 方向
symbol string 合約類型
trade_time_ms number 交易時間
user_id number 用戶ID

平倉盈虧

請求示例

curl "https://api-testnet.bybit.com/v2/private/trade/closed-pnl/list?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.closed_profit_and_loss(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "current_page": 1,
        "data": [
            {
                "id": 9982,
                "user_id": 160320,
                "symbol": "BTCUSD",
                "order_id": "e976ac13-10e7-4883-a7ba-13b0e93659f1",
                "side": "Sell",
                "qty": 226,
                "order_price": 1600,
                "order_type": "Limit",
                "exec_type": "Trade",
                "closed_size": 113,
                "cum_entry_value": 0.07062500000000001,
                "avg_entry_price": 1600,
                "cum_exit_value": 0.066198,
                "avg_exit_price": 1707,
                "closed_pnl": 0.0043950000000000005,
                "fill_count": 1,
                "leverage": 100,
                "created_at": 1591155741
            }
        ]
    },
    "time_now": "1591173153.876047",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1591173153852,
    "rate_limit": 120
}

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

HTTP 請求

GET /v2/private/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 創建時間

切換止盈止損模式

請求示例

from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.full_partial_position_tp_sl_switch(
    symbol="BTCUSD",
    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 /v2/private/tpsl/switch-mode

請求參數

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

返回參數

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

全倉/逐倉切換

請求示例

curl https://api-testnet.bybit.com/v2/private/position/switch-isolated \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD", "is_isolated":true,"buy_leverage":10,"sell_leverage":20, "timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.cross_isolated_margin_switch(
    symbol="BTCUSD",
    is_isolated=True,
    buy_leverage=10,
    sell_leverage=20
))

響應示例

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

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

HTTP 請求

POST /v2/private/position/switch-isolated

請求參數

參數 是否必須 類型 說明
symbol true string 合約類型
is_isolated true bool 全倉/逐倉, true是逐倉,false是全倉
buy_leverage true number 全倉/逐倉切換,需要傳杠桿並且buy_leveragesell_leverage必須傳入相同參數;
sell_leverage true number 全倉/逐倉切換,需要傳杠桿並且buy_leveragesell_leverage必須傳入相同參數;

查询用户手續费率

請求示例

curl https://api.bybit.com/v2/private/position/fee-rate?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}&sign={sign} \
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.query_trading_fee_rate(
    symbol="BTCUSD"
))

響應示例

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

HTTP 請求

GET /v2/private/position/fee-rate

請求參數

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

返回參數

參數 類型 說明
user_id number 用戶 ID
taker_fee_rate string taker手續費
maker_fee_rate string maker手續費

風險限額

查詢風險限額表

請求示例

curl "https://api-testnet.bybit.com/v2/public/risk-limit/list?symbol=BTCUSD"
from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)
print(session_unauth.get_risk_limit(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "id":1,
            "symbol":"BTCUSD",
            "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":"BTCUSD",
            "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 /v2/public/risk-limit/list

請求參數

參數 是否必須 類型 說明
symbol false 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/v2/private/position/risk-limit \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","risk_id":2,"timestamp":{timestamp},"sign":"{sign}"}'
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.set_risk_limit(
    symbol="BTCUSD",
    risk_id=2
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "risk_id": 2
    },
    "time_now": "1620283810.393787",
    "token": null
}

HTTP 請求

POST /v2/private/position/risk-limit

請求參數

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

返回參數

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

資金費率

查詢上個周期的資金費率

請求示例

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

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "symbol": "BTCUSD",
        "funding_rate": "0.00010000",
        "funding_rate_timestamp": 1577433600
    },
    "ext_info": null,
    "time_now": "1577445586.446797",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1577445586454,
    "rate_limit": 120
}

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

HTTP 請求

GET /v2/public/funding/prev-funding-rate

請求參數

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

返回參數

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

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

請求示例

curl "https://api-testnet.bybit.com/v2/private/funding/prev-funding?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.my_last_funding_fee(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "symbol": "BTCUSD",
        "side": "Buy",
        "size": 1,
        "funding_rate": 0.0001,
        "exec_fee": 0.00000002,
        "exec_timestamp": 1575907200
    },
    "ext_info": null,
    "time_now": "1577446900.717204",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1577446900724,
    "rate_limit": 120
}

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

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

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

HTTP 請求

GET /v2/private/funding/prev-funding

請求參數

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

返回參數

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

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

請求示例

curl "https://api-testnet.bybit.com/v2/private/funding/predicted-funding?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.predicted_funding_rate(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "predicted_funding_rate": 0.0001,
        "predicted_funding_fee": 0
    },
    "ext_info": null,
    "time_now": "1577447415.583259",
    "rate_limit_status": 118,
    "rate_limit_reset_ms": 1577447415590,
    "rate_limit": 120
}

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

HTTP 請求

GET /v2/private/funding/predicted-funding

請求參數

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

返回參數

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

APIKey信息

請求示例

curl "https://api-testnet.bybit.com/v2/private/account/api-key?api_key={api_key}&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.api_key_info())

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": [
        {
            "api_key": "7GkMBBLTbGRfa0Nuh1",
            "type": "personal",
            "user_id": 1,
            "inviter_id": 3,
            "ips": [
                "*"
            ],
            "note": "scalping_bot",
            "permissions": [
                "Order",
                "Position"
            ],
            "created_at": "2019-10-28T13:22:39.000Z",
            "expired_at": "2020-01-28T13:22:39.000Z",
            "read_only": false,
            "vip_level":"",
            "mkt_maker_level":""
        }
    ],
    "ext_info": null,
    "time_now": "1577445138.790150",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1577445138812,
    "rate_limit": 100
}

獲取賬戶API密鑰信息。

HTTP 請求

GET /v2/private/account/api-key

請求參數

參數 是否必須 類型 說明

返回參數

參數 類型 說明
api_key string API 密鑰
type string Key 類型
user_id number 用戶 ID
inviter_id number 邀請人 ID(邀請該賬號加入平台的賬號的UID)
ips string IP地址
note string 備註
permissions string ApiKey 所有權限
created_at string 創建時間
expired_at string 過期時間
read_only bool 是否只讀
vip_level string VIP用戶等級
mkt_maker_level string market maker等級

流動性貢獻分

請求示例

curl "https://api-testnet.bybit.com/v2/private/account/lcp?api_key={api_key}&symbol=BTCUSD&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.lcp_info(
    symbol="BTCUSD"
))

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": [
        "lcp_list": [
        {
            "date": "2020-04-27",
            "self_ratio": 0,
            "platform_ratio": 0,
            "score": 0.1459
        },
        {
            "date": "2020-04-26",
            "self_ratio": 0,
            "platform_ratio": 0,
            "score": 0.1459
        }
        ]
    ],
    "ext_info": null,
    "time_now": "1577445138.790150",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1577445138812,
    "rate_limit": 100
}

查詢用戶流動性貢獻分(當天數據每小時更新一次)

HTTP 請求

GET /v2/private/account/lcp

請求參數

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

返回參數

參數 類型 說明
date string 日期
self_ratio number 已廢棄! 個人有效掛單占比
platform_ratio number 已廢棄! 平臺有效掛單占比
score number 流動性貢獻分

錢包接口

錢包相關接口需要認證。

獲取錢包余額

請求示例

curl "https://api-testnet.bybit.com/v2/private/wallet/balance?api_key={api_key}&coin=BTC&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.get_wallet_balance(coin="BTC"))

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {
        "BTC": {
            "equity": 1002,
            "available_balance": 999.99987471,
            "used_margin": 0.00012529,
            "order_margin": 0.00012529,
            "position_margin": 0,
            "occ_closing_fee": 0,
            "occ_funding_fee": 0,
            "wallet_balance": 1000,
            "realised_pnl": 0,
            "unrealised_pnl": 2,
            "cum_realised_pnl": 0,
            "given_cash": 0,
            "service_cash": 0
        }
    },
    "time_now": "1578284274.816029",
    "rate_limit_status": 98,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

獲取錢包余額

HTTP 請求

GET /v2/private/wallet/balance

請求參數

參數 是否必須 類型 說明
coin false string currency alias,如果不傳參數coin,將返回所有錢包余額。

返回參數

參數 類型 說明
equity 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
used_margin number 已用保證金
order_margin number 委托預占用保證金
position_margin number 倉位保證金
occ_closing_fee number 倉位占用的平倉手續費
occ_funding_fee number 倉位size和當前資金費率預占用資金費用
wallet_balance number 錢包余額
realised_pnl number 當日已結盈虧
unrealised_pnl number 未結盈虧
cum_realised_pnl number 累計已結盈虧
given_cash number 體驗金
service_cash number 抵扣金

資金記錄

請求示例

curl "https://api-testnet.bybit.com/v2/private/wallet/fund/records?api_key={api_key}&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.wallet_fund_records())

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "data": [
            {
                "id": 235853,
                "user_id": 1,
                "coin": "BTC",
                "wallet_id": 27913,
                "type": "Realized P&L",
                "amount": "0.00000023",
                "tx_id": "",
                "address": "BTCUSD",
                "wallet_balance": "0.03000353",
                "exec_time": "2019-12-10T00:00:29.000Z",
                "cross_seq": 0
            },
            {
                "id": 234467,
                "user_id": 1,
                "coin": "BTC",
                "wallet_id": 27913,
                "type": "Realized P&L",
                "amount": "-0.00000006",
                "tx_id": "",
                "address": "BTCUSD",
                "wallet_balance": "0.03000330",
                "exec_time": "2019-12-09T00:00:25.000Z",
                "cross_seq": 0
            }
        ]
    },
    "ext_info": null,
    "time_now": "1577481867.115552",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1577481867122,
    "rate_limit": 120
}

查詢資金記錄。這個接口還展示來自網頁上資產兌換下的兌換紀錄, 其中對應的type兌換類型是ExchangeOrderWithdrawExchangeOrderDeposit

這個接口返回的關於衍生品帳戶下的劃轉紀錄的內容是不完整的。推薦使用帳戶資產API完成資產劃轉的操作和紀錄檢索。

HTTP 請求

GET /v2/private/wallet/fund/records

請求參數

參數 是否必須 類型 說明
start_date false string 起始時間點
end_date false string 結束時間點
currency false string 幣種類型
coin false string currency alias
wallet_fund_type false string 資金記錄類型
page false integer 頁碼.默認取第一頁
limit false integer 每頁數量, 最大50. 默認每頁20條

返回參數

參數 類型 說明
user_id number 用戶ID
coin string 幣種
wallet_id number 錢包ID
type string 資金類型
amount string 資金總量
tx_id string 交易哈希ID
address string 地址
wallet_balance string 錢包余額
exec_time string 交易時間
cross_seq number 撮合版本號

提幣記錄

請求示例

curl "https://api-testnet.bybit.com/v2/private/wallet/withdraw/list?api_key={api_key}&timestamp={timestamp}&sign={sign}"
from pybit import inverse_perpetual
session_auth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com",
    api_key="your api key",
    api_secret="your api secret"
)
print(session_auth.withdraw_records())

響應示例

{
  "ret_code": 0,
  "ret_msg": "ok",
  "ext_code": "",
  "result": {
      "data": [{
          "id": 137,                                        
          "user_id": 1,                                     
          "coin": "XRP",
          "status": "Pending"
          "amount": "20.00000000",
          "fee": "0.25000000",
          "address": "rH7H595XYEVTEHU2FySYsWnmfACBnZS9zM",
          "tx_id": "",
          "submited_at": "2019-06-11T02:20:24.000Z",
          "updated_at": "2019-06-11T02:20:24.000Z"
      }]
      "current_page": 1,
      "last_page": 1
  },
  "ext_info": null,
  "time_now": "1577482295.125488",
  "rate_limit_status": 119,
  "rate_limit_reset_ms": 1577482295132,
  "rate_limit": 120
}

查詢提幣記錄。

請註意該接口數據和資金記錄Withdraw類型數據的區別:

在該接口中,一次提幣申請對應一條記錄,並且有status字段表示當前提幣狀態。

資金記錄接口中,一旦用戶申請提幣,就會產生一條Withdraw類型的數據,並且當提幣申請取消、過期、或審核拒絕的時候,資金記錄中會再新增一條Refund類型的數據。

HTTP 請求

GET /v2/private/wallet/withdraw/list

請求參數

參數 是否必須 類型 說明
start_date false string 起始時間點
end_date false string 結束時間點
coin false string 幣種類型
status false string Withdraw status
page false integer 頁碼.默認取第一頁
limit false integer 每頁數量, 最大50. 默認每頁20條

返回參數

參數 類型 說明
user_id number 用戶ID
coin string 幣種
status string Withdraw status
amount string 資金總量
fee string 手續費率
address string 地址
tx_id string 交易哈希ID
submited_at string 提交時間
updated_at string 更新時間

資產兌換記錄

請求示例

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

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "id": 31,
            "exchange_rate": 40.57202774,
            "from_coin": "BTC",
            "to_coin": "ETH",
            "to_amount": 4.05720277,
            "from_fee": 0.0005,
            "from_amount": 0.1,
            "created_at": "2020-06-15 03:32:52"
        },
        {
            "id": 30,
            "exchange_rate": 39.92359901,
            "from_coin": "BTC",
            "to_coin": "ETH",
            "to_amount": 39.923599,
            "from_fee": 0.0005,
            "from_amount": 1,
            "created_at": "2020-06-12 08:27:51"
        }
    ],
    "time_now": "1592554785.486414",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1592554785484,
    "rate_limit": 120
}

查詢資產兌換記錄

HTTP 請求

GET /v2/private/exchange-order/list

請求參數

參數 是否必須 類型 說明
limit false integer 每頁數量, 最大50. 默認每頁20條
from false integer 起始ID,默認為最新id
direction false string 搜索方向:Prev:以起始ID升序檢索,Next:起始ID降序檢索,默認為Next

返回參數

參數 類型 說明
from_coin string 兌出幣種
from_amount number 兌出數量
to_coin string 兌入幣種
to_amount number 兌入數量
exchange_rate number 兌換匯率
from_fee number 兌換手續費(兌出幣種計價)
created_at string 兌換時間

通用數據接口

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

服務器時間

請求示例

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
/v2/private/order/cancel 1 / request
/v2/private/stop-order/create 1 / request
/v2/private/stop-order/cancel 1 / request
/v2/private/order/replace 1 / request
/v2/private/stop-order/replace 1 / request
/v2/private/order/create 1 / request
/v2/private/order/cancel 1 / request
/v2/private/order/cancelAll 10 / request
/v2/private/stop-order/cancelAll 10 / request
600/min /v2/private/order/list 1 / request
/v2/private/stop-order/list 1 / request
/v2/private/order 1 / request
120/min /v2/private/execution/list 1 / request
75/min /v2/private/position/leverage/save 1 / request
/v2/private/position/change-position-margin1 / request
/v2/private/position/trading-stop1 / request
/v2/private/tpsl/switch-mode1 / request
/v2/private/position/fee-rate1 / request
120/min
/v2/private/position/list1 / request
/v2/private/wallet/balance1 / request
120/min
/v2/private/funding/prev-funding-rate 1 / request
/v2/private/funding/prev-funding1 / request
/v2/private/funding/predicted-funding1 / request
120/min
/v2/private/wallet/fund/records 1 / request
/v2/private/wallet/withdraw/list1 / request
600/min
/v2/private/account/api-key 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, // Whether ping is successful
    "ret_msg": "pong",
    "conn_id": "036e5d21-804c-4447-a92d-b65a44d00700",// current connection id
    "request": {
        "op": "ping",
        "args": null
    }
}

訂閱方式

Websocket訂閱方式

直接訂閱

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

通過分隔符來訂閱多個topic

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

通過匹配符來訂閱多個topic

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

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

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

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

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

您可以使用管道符號(|)來分割多個參數,前提是這些參數都是合法的.

您還可以使用匹配符號(*)來匹配多個topic,具體用法見右側代碼欄

Websocket取消訂閱方式

取消訂閱

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

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

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

推送周期

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

訂閱結果

訂閱推送

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

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

公共 Topics

orderBook25檔

請求訂閱

ws.send('{"op": "subscribe", "args": ["orderBookL2_25.BTCUSD"]}');
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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: ["BTCUSD", "ETHUSD"]
ws_inverseP.orderbook_25_stream(
    handle_message, "XRPUSD"
)
while True:
    sleep(1)

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

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

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

{
     "topic": "orderBookL2_25.BTCUSD",
     "type": "delta",
     "data": {
          "delete": [
             {
                   "price": "3001.00",
                   "symbol": "BTCUSD",
                   "id": 30010000,
                   "side": "Sell"
             }
          ],
          "update": [
             {
                   "price": "2999.00",
                   "symbol": "BTCUSD",
                   "id": 29990000,
                   "side": "Buy",
                   "size": 8
             }
          ],
          "insert": [
             {
                   "price": "2998.00",
                   "symbol": "BTCUSD",
                   "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.BTCUSD"]}');
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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: ["BTCUSD", "ETHUSD"]
ws_inverseP.orderbook_200_stream(
    handle_message, "XRPUSD"
)
while True:
    sleep(1)

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

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

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

{
     "topic": "orderBook_200.100ms.BTCUSD",
     "type": "delta",
     "data": {
          "delete": [
             {
                   "price": "3001.00",
                   "symbol": "BTCUSD",
                   "id": 30010000,
                   "side": "Sell"
             }
          ],
          "update": [
             {
                   "price": "2999.00",
                   "symbol": "BTCUSD",
                   "id": 29990000,
                   "side": "Buy",
                   "size": 8
             }
          ],
          "insert": [
             {
                   "price": "2998.00",
                   "symbol": "BTCUSD",
                   "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"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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: ["BTCUSD", "ETHUSD"]
ws_inverseP.trade_stream(
    handle_message, "ETHUSD"
)
while True:
    sleep(1)

響應示例

{
    "topic": "trade.BTCUSD",
    "data": [
        {
            "timestamp": "2020-01-12T16:59:59.000Z",
            "trade_time_ms": 1582793344685,
            "symbol": "BTCUSD",
            "side": "Sell",
            "size": 328,
            "price": 8098,
            "tick_direction": "MinusTick",
            "trade_id": "00c706e1-ba52-5bb0-98d0-bf694bdc69f7",
            "cross_seq": 1052816407
        }
    ]
}

推送頻率:100ms

返回參數

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

保險基金

請求訂閱

ws.send('{"op": "subscribe", "args": ["insurance"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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: ["BTC", "ETH"]
ws_inverseP.insurance_stream(
    handle_message, "BTC"
)
while True:
    sleep(1)

響應示例

{
    "topic": "insurance.BTC",
    "data": [
        {
            "currency": "BTC",
            "timestamp": "2020-01-11T20:00:00Z",
            "wallet_balance": 98786916569
        }
    ]
}

獲取保險基金數據.

推送頻率:每天 20:00 UTC

返回參數

參數 類型 說明
currency string 幣種類型
timestamp string UTC 時間
wallet_balance number 錢包余額

行情

請求訂閱

ws.send('{"op": "subscribe", "args": ["instrument_info.100ms.BTCUSD"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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: ["BTCUSD", "ETHUSD"]
ws_inverseP.instrument_info_stream(
    handle_message, "DOTUSD"
)
while True:
    sleep(1)

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

{
    "topic":"instrument_info.100ms.BTCUSD",
    "type":"snapshot",
    "data": {
         "id": 1,
         "symbol": "BTCUSD",
         "last_price_e4": 81165000,
         "last_price": "81165000",  
         "bid1_price_e4":400025000,
         "bid1_price":"400025000",
         "ask1_price_e4":475450000,
         "ask1_price":"475450000",
         "last_tick_direction": "ZeroPlusTick",
         "prev_price_24h_e4": 81585000,
         "prev_price_24h": "81585000",
         "price_24h_pcnt_e6": -5148,
         "high_price_24h_e4": 82900000,
         "high_price_24h": "82900000",
         "low_price_24h_e4": 79655000,
         "low_price_24h": "79655000",
         "prev_price_1h_e4": 81395000,
         "prev_price_1h": "81395000",
         "price_1h_pcnt_e6": -2825,
         "mark_price_e4": 81178500,
         "mark_price": "81178500",
         "index_price_e4": 81172800,
         "index_price": "81172800",
         "open_interest": 154418471,
         "open_value_e8": 1997561103030,
         "total_turnover_e8": 2029370141961401,
         "turnover_24h_e8": 9072939873591,
         "total_volume": 175654418740,
         "volume_24h": 735865248,
         "funding_rate_e6": 100,
         "predicted_funding_rate_e6": 100,
         "cross_seq": 1053192577,
         "created_at": "2018-11-14T16:33:26Z",         
         "updated_at": "2020-01-12T18:25:16Z",         
         "next_funding_time": "2020-01-13T00:00:00Z",

         "countdown_hour": 6,
         "funding_rate_interval": 8
         },
    "cross_seq":9267002,
    "timestamp_e6":1615794861826248
}

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

{
    "topic": "instrument_info.100ms.BTCUSD",
    "type": "delta",
    "data": {
        "delete": [],
        "update": [
            {
                "id": 1,
                "symbol": "BTCUSD",
                "prev_price_24h_e4": 81565000,
                "prev_price_24h": "81565000",
                "price_24h_pcnt_e6": -4904,
                "open_value_e8": 2000479681106,
                "total_turnover_e8": 2029370495672976,
                "turnover_24h_e8": 9066215468687,
                "volume_24h": 735316391,
                "cross_seq": 1053192657,
                "created_at": "2018-11-14T16:33:26Z",
                "updated_at": "2020-01-12T18:25:25Z"
            }
        ],
        "insert": []
    },
    "cross_seq": 1053192657,
    "timestamp_e6": 1578853525691123
}

獲取合約的最新數據.

Push frequency: 100ms

返回參數

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

K線

請求訂閱

ws.send('{"op":"subscribe","args":["klineV2.1.BTCUSD"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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: ["BTCUSD", "ETHUSD"]
# pass an inverval
ws_inverseP.kline_stream(
    handle_message, "ETHUSD", "D"
)
while True:
    sleep(1)

響應示例

{
    "topic": "klineV2.1.BTCUSD",
    "data": [{
        "start": 1572425640,
        "end": 1572425700,
        "open": 9200,
        "close": 9202.5,
        "high": 9202.5,
        "low": 9196,
        "volume": 81790,
        "turnover": 8.889247899999999,
        "confirm": false,
        "cross_seq": 297503466,                 
        "timestamp": 1572425676958323
    }],
    "timestamp_e6": 1572425677047994
}

目前所支持的周期:

推送頻率:1-60s

返回參數

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

平臺強平推送

請求訂閱

ws.send('{"op":"subscribe","args":["liquidation"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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: ["BTCUSD", "ETHUSD"]
ws_inverseP.liquidation_stream(
    handle_message, "ETHUSD"
)
while True:
    sleep(1)

響應示例

{
    "topic":"liquidation.ETHUSD",
    "data": {
        "symbol":"ETHUSD",
        "side":"Sell",
        "price":"3384.15",
        "qty":"3655",
        "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 inverse_perpetual
ws_inverseP = inverse_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_inverseP.position_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "topic": "position",
    "data": [
        {
            "user_id": 533285,
            "symbol": "BTCUSD",
            "size": 200,
            "side": "Buy",
            "position_value": "0.0099975",
            "entry_price": "20005.00125031",
            "liq_price": "489",
            "bust_price": "489",
            "leverage": "5",
            "order_margin": "0",
            "position_margin": "0.39929535",
            "available_balance": "0.39753405",
            "take_profit": "0",
            "stop_loss": "0",
            "realised_pnl": "0.00055631",
            "trailing_stop": "0",
            "trailing_active": "0",
            "wallet_balance": "0.40053971",
            "risk_id": 1,
            "occ_closing_fee": "0.0002454",
            "occ_funding_fee": "0",
            "auto_add_margin": 1,
            "cum_realised_pnl": "0.00055105",
            "position_status": "Normal",
            "position_seq": 0,
            "Isolated": false,
            "mode": 0,
            "position_idx": 0,
            "tp_sl_mode": "Partial",
            "tp_order_num": 0,
            "sl_order_num": 0,
            "tp_free_size_x": 200,
            "sl_free_size_x": 200
        }
    ]
}

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

返回參數

參數 類型 說明
user_id number 用戶ID
symbol string 合約類型
size number 倉位數量
side string 方向
position_value string 倉位價值
entry_price string 平均入場價
liq_price string 強平價格
bust_price string 破產價格
leverage string 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
order_margin string 委托預占用保證金
position_margin string 倉位保證金
available_balance string 可用余額, 錢包余額 - 倉位保證金
take_profit string 止盈價格
stop_loss string 止損價格
realised_pnl string 當日已結盈虧
trailing_stop string 追蹤止損(與當前價格的距離)
trailing_active string 激活價格
wallet_balance string 錢包余額
risk_id number 風險限額ID
occ_closing_fee string 倉位占用的平倉手續費
occ_funding_fee string 倉位size和當前資金費率預占用資金費用
auto_add_margin number 是否 自動追加保證金
cum_realised_pnl string 累計已結盈虧
position_status string 倉位狀態,正常,強平,減倉
position_seq number 倉位變化版本號
Isolated bool 是否逐倉,true-逐倉 false-全倉
mode number 倉位模式
position_idx number 期貨時使用 0-One-Way Mode 1-Buy side of both side mode 2-Sell side of both side mode
tp_sl_mode string 止盈止損模式 Full or Partial
tp_order_num number 當前已設置止盈的訂單數量
sl_order_num number 當前已設置止損的訂單數量
tp_free_size_x number 當前還可設置止盈的合約數量
sl_free_size_x number 當前還可設置止損的合約數量

個人成交

請求訂閱

ws.send('{"op": "subscribe", "args": ["execution"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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_inverseP.execution_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "topic": "execution",
    "data": [
        {
            "symbol": "BTCUSD",
            "side": "Buy",
            "order_id": "xxxxxxxx-xxxx-xxxx-9a8f-4a973eb5c418",
            "exec_id": "xxxxxxxx-xxxx-xxxx-8b66-c3d2fcd352f6",
            "order_link_id": "",
            "price": "8300",
            "order_qty": 1,
            "exec_type": "Trade",
            "exec_qty": 1,
            "exec_fee": "0.00000009",
            "leaves_qty": 0,
            "is_maker": false,
            "trade_time": "2020-01-14T14:07:23.629Z"
        }
    ]
}

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

返回參數

參數 類型 說明
symbol string 合約類型
side string 方向
order_id string 訂單ID
exec_id string 成交ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
price string 成交價格
order_qty number 訂單數量
exec_type string 交易類型(不能為"Funding")
exec_qty number 成交數量
exec_fee string 交易手續費
leaves_qty number 剩余委托數量
is_maker bool 是否是maker
trade_time string 交易時間

活動單

請求訂閱

ws.send('{"op": "subscribe", "args": ["order"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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_inverseP.order_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "topic": "order",
    "data": [
        {
            "order_id": "1640b725-75e9-407d-bea9-aae4fc666d33",
            "order_link_id": "IPBTC00005",
            "symbol": "BTCUSD",
            "side": "Sell",
            "order_type": "Market",
            "price": "20564",
            "qty": 200,
            "time_in_force": "ImmediateOrCancel",
            "create_type": "CreateByUser",
            "cancel_type": "",
            "order_status": "Filled",
            "leaves_qty": 0,
            "cum_exec_qty": 200,
            "cum_exec_value": "0.00943552",
            "cum_exec_fee": "0.00000567",
            "timestamp": "2022-06-21T07:35:56.505Z",
            "take_profit": "18500",
            "tp_trigger_by": "LastPrice",
            "stop_loss": "22000",
            "sl_trigger_by": "LastPrice",
            "trailing_stop": "0",
            "last_exec_price": "21196.5",
            "reduce_only": false,
            "close_on_trigger": false
        }
    ]
}

返回參數

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

條件單

請求訂閱

ws.send('{"op": "subscribe", "args": ["stop_order"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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_inverseP.stop_order_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "topic": "stop_order",
    "data": [
        {
            "order_id": "xxxxxxxx-xxxx-xxxx-98fb-335aaa6c613b",
            "order_link_id": "",
            "user_id": 1,
            "symbol": "BTCUSD",
            "side": "Buy",
            "order_type": "Limit",
            "price": "8584.5",
            "qty": 1,
            "time_in_force": "ImmediateOrCancel",
            "create_type": "CreateByStopOrder",
            "cancel_type": "",
            "order_status": "Untriggered",
            "stop_order_type": "Stop",
            "trigger_by": "LastPrice",
            "trigger_price": "8584.5",
            "close_on_trigger": false,
            "timestamp": "2020-01-14T14:11:22.062Z"
        }
    ]
}

返回參數

參數 類型 說明
order_id string 訂單ID
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
user_id number 用戶ID
symbol string 合約類型
order_type string 交易記錄類型
side string 方向
price string 委托價格
qty number 委托數量
time_in_force string 執行策略
create_type string 下單操作的觸發場景
cancel_type string 取消操作的觸發場景
order_status string 訂單狀態
stop_order_type string 委托單價格類型
trigger_by string 觸發價格類型. 默認為最新市價
trigger_price string 如果stop_order_type為`TrailingProfit`時,為激活價格,否則為觸發價格。
close_on_trigger bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
timestamp string UTC 時間

錢包

請求訂閱

ws.send('{"op": "subscribe", "args": ["wallet"]}')
from time import sleep
from pybit import inverse_perpetual
ws_inverseP = inverse_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_inverseP.wallet_stream(
    handle_message
)
while True:
    sleep(1)

響應示例

{
    "topic": "wallet",
    "data": [
        {
            "user_id": 738713,
            "coin": "BTC",
            "available_balance": "1.50121026",
            "wallet_balance": "1.50121261"
        }
    ]
}

返回參數

參數 類型 說明
user_id number 用戶ID
coin string 幣種
wallet_balance string 錢包余額
available_balance string

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)

Date (start_date/end_date)

Follows the format: yyyy-mm-dd

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

風險限額無效

廢棄接口

查詢強平訂單數據

請求示例

curl https://api-testnet.bybit.com/v2/public/liq-records?symbol=BTCUSD

響應示例

{
    "ret_code":0,
    "ret_msg":"OK",
    "ext_code":"",
    "ext_info":"",
    "result":[
        {
            "id":2369683,
            "qty":155,
            "side":"Buy",
            "time":1590030126798,
            "symbol":"BTCUSD",
            "price":9444
        }
    ],
    "time_now":"1590068362.493540"
}

查詢強平訂單數據,查詢範圍是最近七天的數據。

HTTP 請求

GET /v2/public/liq-records

請求參數

parameter 是否必須 類型 說明
symbol true string 合約類型
from false integer 起始ID. 默認: 返回最新數據
limit false integer 默認返回500條數據. 最大返回1000條數據
start_time false integer 開始時間戳(毫秒)
end_time false integer 結束時間戳(毫秒

返回參數

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

用戶杠桿

請求示例

curl "https://api-testnet.bybit.com/user/leverage?api_key={api_key}&timestamp={timestamp}&sign={sign}"

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "BTCUSD": {
            "leverage": 5
        },
        "EOSUSD": {
            "leverage": 1
        },
        "ETHUSD": {
            "leverage": 1
        },
        "XRPUSD": {
            "leverage": 10
        }
    },
    "ext_info": null,
    "time_now": "1577477752.346548",
    "rate_limit_status": 119,
    "rate_limit_reset_ms": 1577477752355,
    "rate_limit": 120
}

獲取用戶杠桿。

HTTP 請求

GET /user/leverage

請求參數

參數 是否必須 類型 說明

返回參數

參數 類型 說明
BTCUSD > leverage number BTCUSD杠桿
EOSUSD > leverage number EOSUSD杠桿
ETHUSD > leverage number ETHUSD杠桿
XRPUSD > leverage number XRPUSD杠桿

查詢活動委托

請求示例

curl "https://api-testnet.bybit.com/open-api/order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}&symbol=BTCUSD"

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "current_page": 1,
        "last_page": 6,
        "data": [
            {
                "user_id": 1,
                "symbol": "BTCUSD",
                "side": "Sell",
                "order_type": "Market",
                "price": 7074,
                "qty": 2,
                "time_in_force": "ImmediateOrCancel",
                "order_status": "Filled",
                "ext_fields": {
                    "close_on_trigger": true,
                    "orig_order_type": "BLimit",
                    "prior_x_req_price": 5898.5,
                    "op_from": "pc",
                    "remark": "127.0.0.1",
                    "o_req_num": -34799032763,
                    "xreq_type": "x_create"
                },
                "last_exec_time": "1577448481.696421",
                "last_exec_price": 7070.5,
                "leaves_qty": 0,
                "leaves_value": 0,
                "cum_exec_qty": 2,
                "cum_exec_value": 0.00028283,
                "cum_exec_fee": 0.00002,
                "reject_reason": "NoError",
                "order_link_id": "",
                "created_at": "2019-12-27T12:08:01.000Z",
                "updated_at": "2019-12-27T12:08:01.000Z",
                "order_id": "f185806b-b801-40ff-adec-52289370ed62"
            }
        ]
    },
    "ext_info": null,
    "time_now": "1577448922.437871",
    "rate_limit_status": 98,
    "rate_limit_reset_ms": 1580885703683,
    "rate_limit": 100
}

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

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

HTTP 請求

GET /open-api/order/list

請求參數

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

返回參數

參數 類型 說明
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 交易記錄類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
order_status string 訂單狀態
close_on_trigger bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
orig_order_type string 原始特殊訂單類型
prior_x_req_price number 期望撮合的價格
op_from string 請求來源
remark string 備註
o_req_num number 用於關聯request&response
xreq_type string 請求類型
last_exec_time string 最近一次成交時間
last_exec_price number 最近一次成交價格
leaves_qty number 剩余委托數量
leaves_value number 剩余掛單數量對應的預估價值
cum_exec_qty number 累計成交數量
cum_exec_value number 累計成交價值
cum_exec_fee number 累計成交手續費
reject_reason string 被拒單的原因
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
order_id string 訂單ID

查詢條件委托

請求示例

curl "https://api-testnet.bybit.com/open-api/stop-order/list?api_key={api_key}&timestamp={timestamp}&sign={sign}"

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "current_page": 1,
        "last_page": 1,
        "data": [
            {
                "user_id": 1,
                "stop_order_status": "Untriggered",
                "symbol": "BTCUSD",
                "side": "Buy",
                "order_type": "Limit",
                "price": 8000,
                "qty": 1,
                "time_in_force": "GoodTillCancel",
                "stop_order_type": "Stop",
                "trigger_by": "LastPrice",
                "base_price": 7000,
                "order_link_id": "",
                "created_at": "2019-12-27T12:48:24.000Z",
                "updated_at": "2019-12-27T12:48:24.000Z",
                "stop_px": 7500,
                "stop_order_id": "a85cd1c0-a9a4-49d3-a1bd-bab5ebe946d5"
            },
            {
                "user_id": 1,
                "stop_order_status": "Untriggered",
                "symbol": "BTCUSD",
                "side": "Sell",
                "order_type": "Limit",
                "price": 999999,
                "qty": 1,
                "time_in_force": "PostOnly",
                "stop_order_type": "Stop",
                "trigger_by": "LastPrice",
                "base_price": 6910.5,
                "order_link_id": "",
                "created_at": "2019-12-17T12:13:20.000Z",
                "updated_at": "2019-12-17T12:13:20.000Z",
                "stop_px": 10000000000000,
                "stop_order_id": "dea89649-9492-459d-a8c4-c298b87b3d26"
            }
        ]
    },
    "ext_info": null,
    "time_now": "1577451658.755468",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1577451658762,
    "rate_limit": 600
}

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

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

HTTP 請求

GET /open-api/stop-order/list

請求參數

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

返回參數

參數 類型 說明
user_id number 用戶ID
order_status string 條件單狀態
symbol string 合約類型
side string 方向
order_type string 訂單類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
stop_order_type string 委托單價格類型
trigger_by string 觸發價格類型. 默認為最新市價
base_price number 下單時市價
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
updated_at string 更新時間
stop_px number 觸發價格。如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
stop_order_id string 條件委托訂單ID

創建條件委托單

請求示例

curl https://api-testnet.bybit.com/open-api/stop-order/create \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","order_type":"Limit","side":"Buy","symbol":"BTCUSD","qty":1,"price":8100,"base_price":8300,"stop_px":8150,"time_in_force":"GoodTillCancel","order_link_id":"cus_order_id_1","timestamp":{timestamp},"sign":"{sign}"}'

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "user_id": 1,
        "symbol": "BTCUSD",
        "side": "Buy",
        "order_type": "Limit",
        "price": 8000,
        "qty": 1,
        "time_in_force": "GoodTillCancel",
        "stop_order_type": "Stop",
        "trigger_by": "LastPrice",
        "base_price": 7000,
        "order_status": "Untriggered",
        "ext_fields": {
            "stop_order_type": "Stop",
            "trigger_by": "LastPrice",
            "base_price": 7000,
            "expected_direction": "Rising",
            "trigger_price": 7500,
            "op_from": "api",
            "remark": "127.0.01",
            "o_req_num": 0
        },
        "leaves_qty": 1,
        "leaves_value": 0.00013333,
        "reject_reason": null,
        "cross_seq": -1,
        "created_at": "2019-12-27T12:48:24.000Z",
        "updated_at": "2019-12-27T12:48:24.000Z",
        "stop_px": 7500,
        "stop_order_id": "a85cd1c0-a9a4-49d3-a1bd-bab5ebe946d5"
    },
    "ext_info": null,
    "time_now": "1577450904.327654",
    "rate_limit_status": 99,
    "rate_limit_reset_ms": 1577450904335,
    "rate_limit": "100"
}

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

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

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

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

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

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

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

HTTP 請求

POST /open-api/stop-order/create

請求參數

參數 是否必須 類型 說明
side true string 方向
symbol true string 合約類型
order_type true string 委托單價格類型
qty true integer 委托數量(1個委托1美元),只能為正整數
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 false string 觸發價格類型. 默認為最新市價
close_on_trigger false bool 觸發後平倉. 如果下平倉單,請設置為true,避免因為保證金不足而導致下單失敗
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復

返回參數

參數 類型 說明
user_id number 用戶ID
symbol string 合約類型
side string 方向
order_type string 訂單類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
stop_order_type string 委托單價格類型
trigger_by string 觸發價格類型. 默認為最新市價
base_price number 下單時市價
order_status string 訂單狀態
stop_order_type string 委托單價格類型
expected_direction string 預期方向
trigger_by number 如果stop_order_type為`TrailingProfit`時,為激活價格,否則為觸發價格。
op_from string 請求來源
remark string 備註
o_req_num number 用於關聯request&response
leaves_qty number 剩余委托數量
leaves_value number 剩余掛單數量對應的預估價值
reject_reason string 被拒單的原因
cross_seq number 撮合版本號
created_at string 創建時間
updated_at string 更新時間
stop_px number 觸發價格。如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
stop_order_id string 條件委托訂單ID

撤消條件委托單

請求示例

curl https://api-testnet.bybit.com/open-api/stop-order/cancel \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": {
        "user_id": 1,
        "stop_order_status": "Untriggered",
        "symbol": "BTCUSD",
        "side": "Buy",
        "order_type": "Limit",
        "price": 8000,
        "qty": 1,
        "time_in_force": "GoodTillCancel",
        "stop_order_type": "Stop",
        "trigger_by": "LastPrice",
        "base_price": 7000,
        "order_link_id": "",
        "created_at": "2019-12-27T13:10:18.000Z",
        "updated_at": "2019-12-27T13:10:18.000Z",
        "stop_px": 7500,
        "stop_order_id": "c1025629-e85b-4c26-b4f3-76e86ad9f8cb"
    },
    "ext_info": null,
    "time_now": "1577452218.567120",
    "rate_limit_status": 97,
    "rate_limit_reset_ms": 1577452218573,
    "rate_limit": "100"
}

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

HTTP 請求

POST /open-api/stop-order/cancel

請求參數

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

返回參數

參數 類型 說明
user_id number 用戶ID
order_status string 條件單狀態
symbol string 合約類型
side string 方向
order_type string 訂單類型
price number 委托價格
qty number 委托數量
time_in_force string 執行策略
stop_order_type string 委托單價格類型
trigger_by string 觸發價格類型. 默認為最新市價
base_price number 下單時市價
order_link_id string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
created_at string 創建時間
updated_at string 更新時間
stop_px number 觸發價格。如果您期望價格上漲时觸發您的條件訂單,請確保 stop_px > max(market price, base_price) 否則 stop_px < min(market price, base_price)
stop_order_id string 條件委托訂單ID

修改條件委托單

請求示例

curl https://api-testnet.bybit.com/open-api/stop-order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","stop_order_id":"","timestamp":{timestamp},"sign":"{sign}"}'

響應示例

{
    "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 /open-api/stop-order/replace

請求參數

參數 是否必須 類型 說明
stop_order_id false string 條件委托訂單ID
order_id false string 已廢棄!! 條件委托訂單ID
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
symbol true string 合約類型.
p_r_qty false int 修改後的訂單數量。如果是未完全成交訂單,則表示修改剩余未成交的部分。如果不修改這個字段,請不要傳這個參數。
p_r_price false number 修改後的訂單價格。如果不修改這個字段,請不要傳這個參數。
p_r_trigger_price false number 修改後的條件單的觸發價格或止盈止損的價格。如果不修改這個字段,請不要傳這個參數。

返回參數

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

修改活動單信息

請求示例

curl https://api-testnet.bybit.com/open-api/order/replace \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","order_id":"","timestamp":{timestamp},"sign":"{sign}"}'

響應示例

{
    "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 /open-api/order/replace

請求參數

參數 是否必須 類型 說明
order_id false string 訂單ID
order_link_id false string 機構自定義訂單ID, 最大長度36位,且同一機構下自定義ID不可重復
symbol true string 合約類型.
p_r_qty false int 修改後的訂單數量。如果是未完全成交訂單,則表示修改剩余未成交的部分。如果不修改這個字段,請不要傳這個參數。
p_r_price false number 修改後的訂單價格。如果不修改這個字段,請不要傳這個參數。

返回參數

參數 類型 說明
order_id string 訂單ID

查詢風險限額表

請求示例

curl "https://api-testnet.bybit.com/open-api/wallet/risk-limit/list?api_key={api_key}&timestamp={timestamp}&sign={sign}"

響應示例

{
    "ret_code": 0,
    "ret_msg": "ok",
    "ext_code": "",
    "result": [
        {
            "id": 1,
            "coin": "BTC",
            "symbol": "BTCUSD",
            "limit": 150,
            "maintain_margin": "0.50",
            "starting_margin": "1.00",
            "section": [
                "1",
                "2",
                "3",
                "5",
                "10",
                "25",
                "50",
                "100"
            ],
            "is_lowest_risk": 1,
            "created_at": "2018-09-21T11:34:11.000Z",
            "updated_at": "2018-09-21T11:34:11.000Z",
            "max_leverage": "100.00"
        },
        {
            "id": 10,
            "coin": "BTC",
            "symbol": "BTCUSD",
            "limit": 1500,
            "maintain_margin": "5.00",
            "starting_margin": "5.50",
            "section": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "10",
                "15",
                "18"
            ],
            "is_lowest_risk": 0,
            "created_at": "2018-09-21T11:34:11.000Z",
            "updated_at": "2018-09-21T11:34:11.000Z",
            "max_leverage": "18.18"
        }
    ],
    "ext_info": null,
    "time_now": "1616568086.769014",
    "rate_limit_status": 599,
    "rate_limit_reset_ms": 1616568086777,
    "rate_limit": 600
}

查詢風險限額表。

HTTP 請求

GET /open-api/wallet/risk-limit/list

請求參數

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

返回參數

參數 類型 說明
id number 風險限額ID
coin string 幣種
symbol string 合約類型
limit number 風險限額
maintain_margin string 維持保證金
starting_margin string 起始保證金。與風險限額表中中顯示的"初始保證金百分比"相同
section string 區間點
is_lowest_risk number 是否最低風險限額0:不是 1:是
created_at string 創建時間
updated_at string 更新時間
max_leverage string 最大杠桿

設置風險限額

請求示例

curl https://api-testnet.bybit.com/open-api/wallet/risk-limit \
-H "Content-Type: application/json" \
-d '{"api_key":"{api_key}","symbol":"BTCUSD","risk_id":2,"timestamp":{timestamp},"sign":"{sign}"}'

響應示例

{
  "ret_code": 0,
  "ret_msg": "ok",
  "ext_code": "",
  "result": {
    "position": {
      "id": 1,
      "user_id": 1,
      "symbol": "BTCUSD",
      "side": "None",
      "size": 0,
      "position_value": 0,
      "entry_price": 0,
      "risk_id": 2,
      "auto_add_margin": 0,
      "leverage": 1,
      "position_margin": 0,
      "liq_price": 0,
      "bust_price": 0,
      "occ_closing_fee": 0,
      "occ_funding_fee": 0,
      "take_profit": 0,
      "stop_loss": 0,
      "trailing_stop": 0,
      "position_status": "Normal",
      "deleverage_indicator": 0,
      "oc_calc_data": "{\"blq\":1,\"blv\":\"0.000125\",\"slq\":0,\"bmp\":8000,\"smp\":0,\"fc\":-0.00012529,\"bv2c\":1.00225,\"sv2c\":1.0007575}",
      "order_margin": 0.00012529,
      "wallet_balance": 1000,
      "realised_pnl": 0,
      "cum_realised_pnl": 0,
      "cum_commission": 0,
      "cross_seq": 4376,
      "position_seq": 13689,
      "created_at": "2019-08-13T06:51:29.000Z",
      "updated_at": "2019-12-29T03:11:08.000Z",
      "ext_fields": {
        "trailing_active": "9000",
        "v": 4
      }
    },
    "risk": {
      "id": 2,
      "coin": "BTC",
      "limit": 300,
      "maintain_margin": "1.00",
      "starting_margin": "1.50",
      "section": "[\"1\",\"2\",\"3\",\"5\",\"10\",\"25\",\"50\",\"66\"]",
      "is_lowest_risk": 0,
      "created_at": "2019-06-26T05:46:45.000Z",
      "updated_at": "2019-06-26T05:46:55.000Z"
    }
  },
  "ext_info": null,
  "time_now": "1577589068.435439",
  "rate_limit_status": 71,
  "rate_limit_reset_ms": 1577589068546,
  "rate_limit": 75
}

設置風險限額。

HTTP 請求

POST /open-api/wallet/risk-limit

請求參數

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

返回參數

參數 類型 說明
id number 倉位ID
user_id number 用戶ID
symbol string 合約類型
side string 方向
size number 倉位數量
position_value number 倉位價值
entry_price number 平均入場價
risk_id number 風險限額ID
auto_add_margin number 是否 自動追加保證金
leverage number 逐倉模式下, 值為用戶設置的杠桿;全倉模式下,值為當前風險限額下最大杠桿
position_margin number 倉位保證金
liq_price number 強平價格
bust_price number 破產價格
occ_closing_fee number 倉位占用的平倉手續費
occ_funding_fee number 倉位size和當前資金費率預占用資金費用
take_profit number 止盈價格
stop_loss number 止損價格
trailing_stop number 追蹤止損(與當前價格的距離)
position_status string 倉位狀態,正常,強平,減倉
deleverage_indicator number 風險指示燈等級(1,2,3,4,5)
oc_calc_data string 預占保證證計算參數, blq-多方所有未成交委托數; bmp-多方最低價; slq-空方所有未成交委托數; smp-空方最低價
order_margin number 委托預占用保證金
wallet_balance number 錢包余額
realised_pnl number 當日已結盈虧
cum_realised_pnl number 累計已結盈虧
cum_commission number 累計傭金
cross_seq number 撮合版本號
position_seq number 倉位變化版本號
created_at string 創建時間
updated_at string 更新時間
trailing_active string 激活價格
risk>id number 風險限額ID
risk>coin string 幣種
risk>limit number 風險限額
risk>maintain_margin string 維持保證金
risk>starting_margin string 起始保證金。與風險限額表中中顯示的"初始保證金百分比"相同
risk>section string 區間點
risk>is_lowest_risk number 是否最低風險限額0:不是 1:是
risk>created_at string 創建時間
risk>updated_at string 更新時間