查詢歷史訂單
獲取歷史訂單紀錄. 由於訂單創建/撤銷是異步的, 該接口返回數據可能會有延遲. 若您想實時獲取訂單信息, 您可以查詢該接口或者通過websocket推送(推薦)
提示
- 7天內的訂單:
統一帳戶2.0, 統一帳戶1.0(除了inverse)支持查詢除了"Cancelled"(完全取消), "Rejected", "Deactivated"以外的終態訂單
统一账户1.0(inverse)和經典帳戶支持查詢活動態+終態的訂單 - 24小時的订单:
統一帳戶2.0, 統一帳戶1.0(除了inverse): 對於完全取消(Cancelled),以及"Rejected", "Deactivated"的訂單僅支持查詢過去24小時的訂單記錄 - 7天外的訂單: 所有账户都只能查詢到有過成交的訂單, 即完全成交, 部分成交但最終取消的訂單
- 統一帳戶2.0, 統一帳戶1.0(除了inverse) 支持查詢過去2年的數據
信息
- 經典帳戶現貨僅能查詢終態訂單, 且取消單、拒絕單、未觸發取消單, 最多保留7天
HTTP請求
GET /v5/order/history
請求參數
參數 | 是否必需 | 類型 | 說明 |
---|---|---|---|
category | true | string | 產品類型 |
symbol | false | string | 合約名稱 |
baseCoin | false | string | 交易幣種 統一帳戶1.0(反向)和經典帳戶不支持該字段的查詢 |
settleCoin | false | string | 結算幣種 統一帳戶1.0(反向)和經典帳戶不支持該字段的查詢 |
orderId | false | string | 訂單ID |
orderLinkId | false | string | 用戶自定義訂單ID |
orderFilter | false | string | Order : 普通單, StopOrder : 條件單, 支持現貨和期貨tpslOrder : 現貨止盈止損單, OcoOrder : OCO訂單BidirectionalTpslOrder : 現貨(UTA)雙向止盈止損訂單
|
orderStatus | false | string | 訂單狀態 |
startTime | false | integer | 開始時間戳 (毫秒)
|
endTime | false | integer | 結束時間戳 (毫秒) |
limit | false | integer | 每頁數量限制. [1 , 50 ]. 默認: 20 |
cursor | false | string | 游標,用於翻頁 |
響應參數
參數 | 類型 | 說明 |
---|---|---|
category | string | 產品類型 |
list | array | Object |
> orderId | string | 訂單Id |
> orderLinkId | string | 用戶自定義Id |
> blockTradeId | string | 大宗交易訂單Id |
> symbol | string | 合約名稱 |
> price | string | 訂單價格 |
> qty | string | 訂單數量 |
> side | string | 方向. Buy ,Sell |
> isLeverage | string | 是否借貸. 僅統一帳戶spot 有效0 : 否1 : 是0 |
> positionIdx | integer | 倉位標識。用戶不同倉位模式 |
> orderStatus | string | 訂單狀態 |
> createType | string | 訂單創建類型 |
> cancelType | string | 訂單被取消類型 |
> rejectReason | string | 拒絕原因. 經典帳戶現貨交易不支持 |
> avgPrice | string | 訂單平均成交價格 "" "0" , 以及部分成交但最終被手動取消的訂單 |
> leavesQty | string | 訂單剩餘未成交的數量. 經典帳戶現貨交易不支持 |
> leavesValue | string | 訂單剩餘未成交的價值. 經典帳戶現貨交易不支持 |
> cumExecQty | string | 訂單累計成交數量 |
> cumExecValue | string | 訂單累計成交價值. 經典帳戶現貨交易不支持 |
> cumExecFee | string | 訂單累計成交的手續費. 經典帳戶現貨交易不支持 |
> timeInForce | string | 執行策略 |
> orderType | string | 訂單類型. Market ,Limit . 對於止盈止損單, 則表示為觸發後的訂單類型 Block trade Roll Back , Block trade-Limit : 統一帳戶大宗交易獨有的兩個枚舉值 |
> stopOrderType | string | 條件單類型 |
> orderIv | string | 隱含波動率 |
> marketUnit | string | 統一帳戶現貨交易時給入參qty 選擇的單位. baseCoin , quoteCoin |
> triggerPrice | string | 觸發價格. 若stopOrderType =TrailingStop, 則這是激活價格. 否則, 它是觸發價格 |
> takeProfit | string | 止盈價格 |
> stopLoss | string | 止損價格 |
> tpslMode | string | 止盈止損模式 Full : 全部倉位止盈止損, Partial : 部分倉位止盈止損現貨不返回該字段, 期權總是返回"" |
> ocoTriggerBy | string | 現貨OCO訂單的觸發類型.OcoTriggerByUnknown , OcoTriggerByTp , OcoTriggerBySl 經典帳戶現貨不支持該字段 |
> tpLimitPrice | string | 觸發止盈後轉換為限價單的價格 |
> slLimitPrice | string | 觸發止損後轉換為限價單的價格 |
> tpTriggerBy | string | 觸發止盈的價格類型 |
> slTriggerBy | string | 觸發止損的價格類型 |
> triggerDirection | integer | 觸發方向. 1 : 上漲, 2 : 下跌 |
> triggerBy | string | 觸發價格的觸發類型 |
> lastPriceOnCreated | string | 下單時的市場價格 |
> reduceOnly | boolean | 只減倉. true 表明這是只減倉單 |
> closeOnTrigger | boolean | 觸發後平倉委託. 什麼是觸發後平倉委託? |
> placeType | string | 下單類型, 僅期權使用. iv , price |
> smpType | string | SMP執行類型 |
> smpGroup | integer | 所屬Smp組ID. 如果uid不屬於任何組, 則默認為0 |
> smpOrderId | string | 觸發此SMP執行的交易對手的 orderID |
> createdTime | string | 創建訂單的時間戳 (毫秒) |
> updatedTime | string | 訂單更新的時間戳 (毫秒) |
nextPageCursor | string | 游標,用於翻頁 |
請求示例
- HTTP
- Python
- Java
- Node.js
GET /v5/order/history?category=linear&limit=1 HTTP/1.1
Host: api-testnet.bybit.com
X-BAPI-SIGN: XXXXX
X-BAPI-API-KEY: XXXXX
X-BAPI-TIMESTAMP: 1672221263407
X-BAPI-RECV-WINDOW: 5000
from pybit.unified_trading import HTTP
session = HTTP(
testnet=True,
api_key="XXXXX",
api_secret="XXXXX",
)
print(session.get_order_history(
category="linear",
limit=1,
))
import com.bybit.api.client.config.BybitApiConfig;
import com.bybit.api.client.domain.trade.request.TradeOrderRequest;
import com.bybit.api.client.domain.*;
import com.bybit.api.client.domain.trade.*;
import com.bybit.api.client.service.BybitApiClientFactory;
var client = BybitApiClientFactory.newInstance("YOUR_API_KEY", "YOUR_API_SECRET", BybitApiConfig.TESTNET_DOMAIN).newTradeRestClient();
var orderHistory = TradeOrderRequest.builder().category(CategoryType.LINEAR).limit(10).build();
System.out.println(client.getOrderHistory(orderHistory));
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.getHistoricOrders({
category: 'linear',
limit: 1,
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});
響應示例
{
"retCode": 0,
"retMsg": "OK",
"result": {
"list": [
{
"orderId": "14bad3a1-6454-43d8-bcf2-5345896cf74d",
"orderLinkId": "YLxaWKMiHU",
"blockTradeId": "",
"symbol": "BTCUSDT",
"price": "26864.40",
"qty": "0.003",
"side": "Buy",
"isLeverage": "",
"positionIdx": 1,
"orderStatus": "Cancelled",
"cancelType": "UNKNOWN",
"rejectReason": "EC_PostOnlyWillTakeLiquidity",
"avgPrice": "0",
"leavesQty": "0.000",
"leavesValue": "0",
"cumExecQty": "0.000",
"cumExecValue": "0",
"cumExecFee": "0",
"timeInForce": "PostOnly",
"orderType": "Limit",
"stopOrderType": "UNKNOWN",
"orderIv": "",
"triggerPrice": "0.00",
"takeProfit": "0.00",
"stopLoss": "0.00",
"tpTriggerBy": "UNKNOWN",
"slTriggerBy": "UNKNOWN",
"triggerDirection": 0,
"triggerBy": "UNKNOWN",
"lastPriceOnCreated": "0.00",
"reduceOnly": false,
"closeOnTrigger": false,
"smpType": "None",
"smpGroup": 0,
"smpOrderId": "",
"tpslMode": "",
"tpLimitPrice": "",
"slLimitPrice": "",
"placeType": "",
"createdTime": "1684476068369",
"updatedTime": "1684476068372"
}
],
"nextPageCursor": "page_token%3D39380%26",
"category": "linear"
},
"retExtInfo": {},
"time": 1684766282976
}