撤銷所有訂單
信息
- 支持按照symbol/baseCoin/settleCoin撤銷訂單,若您傳入了多個參數組合, 系統僅會處理其中一個參數,其中優先級為
symbol
>baseCoin
>settleCoin
. - 注意: 當
category
=option, 您可以不傳人三個參數中的任何一個,就能取消所有期權的委託單。但是, 對於linear
和inverse
, 您必需指定三個參數的其中一個。 - 注意: 當
category
=spot, 您可以不傳人任何參數,就能取消所有現貨的委託單 (默認普通單)。
信息
現貨: 經典帳戶 - 最多取消500單; 統一帳戶 - 無限制
期貨: 經典帳戶 - 最多取消500單; 統一帳戶 - 最多取消500單
期權: 統一帳戶 - 無限制
HTTP請求
POST /v5/order/cancel-all
請求參數
參數 | 是否必需 | 類型 | 說明 |
---|---|---|---|
category | true | string | 產品類型 |
symbol | false | string | 合約名稱 對於 linear & inverse : 若不傳baseCoin 和settleCoin , 該字段必傳 |
baseCoin | false | string | 交易幣種 |
settleCoin | false | string | 結算幣種
|
orderFilter | false | string |
|
stopOrderType | false | string | 條件單類型, Stop linear 或者 inverse 以及orderFilter=StopOrder 時, 若想僅取消條件單 (不包括止盈止損單和追蹤出場單), 則可以傳入該字段 |
響應參數
參數 | 類型 | 說明 |
---|---|---|
list | array | Object |
> orderId | string | 訂單ID |
> orderLinkId | string | 用戶自定義的訂單ID |
success | string | "1": 成功, "0": 失敗 |
信息
ack僅表示請求被成功接受. 請使用websocket-order推送來確認訂單狀態
請求示例
- HTTP
- Python
- Java
- .Net
- Node.js
POST /v5/order/cancel-all HTTP/1.1
Host: api-testnet.bybit.com
X-BAPI-SIGN: XXXXX
X-BAPI-API-KEY: XXXXX
X-BAPI-TIMESTAMP: 1672219779140
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json
{
"category": "linear",
"symbol": null,
"settleCoin": "USDT"
}
from pybit.unified_trading import HTTP
session = HTTP(
testnet=True,
api_key="XXXXX",
api_secret="XXXXX",
)
print(session.cancel_all_orders(
category="linear",
settleCoin="USDT",
))
import com.bybit.api.client.restApi.BybitApiTradeRestClient;
import com.bybit.api.client.domain.*;
import com.bybit.api.client.domain.trade.*;
import com.bybit.api.client.service.BybitApiClientFactory;
BybitApiClientFactory factory = BybitApiClientFactory.newInstance("YOUR_API_KEY", "YOUR_API_SECRET");
BybitApiAsyncTradeRestClient client = factory.newAsyncTradeRestClient();
var cancelAllOrdersRequest = TradeOrderRequest.builder().category(ProductType.LINEAR).baseCoin("USDT").build();
client.cancelAllOrder(cancelAllOrdersRequest, System.out::println);
using bybit.net.api.ApiServiceImp;
using bybit.net.api.Models.Trade;
BybitTradeService tradeService = new(apiKey: "xxxxxxxxxxxxxx", apiSecret: "xxxxxxxxxxxxxxxxxxxxx");
var orderInfoString = await TradeService.CancelAllOrder(category: Category.LINEAR, baseCoin:"USDT");
Console.WriteLine(orderInfoString);
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'apikey',
secret: 'apisecret',
});
client
.cancelAllOrders({
category: 'linear',
settleCoin: 'USDT',
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});
響應示例
{
"retCode": 0,
"retMsg": "OK",
"result": {
"list": [
{
"orderId": "1616024329462743808",
"orderLinkId": "1616024329462743809"
},
{
"orderId": "1616024287544869632",
"orderLinkId": "1616024287544869633"
}
],
"success": "1"
},
"retExtInfo": {},
"time": 1707381118116
}