批量下单
批量下单
描述
提示
ACK 仅表示请求被成功接受,请使用 WebSocket order 推送来确认订单的实际状态。
该接口支持现货、杠杆及合约的批量下单,并可以自定义包括价格、数量和订单类型等参数。
- 部分成功处理
批量中的每笔订单独立处理,某一笔订单失败不影响同批次其他订单的下单。返回结果中每笔订单各自带一个结果对象,包含独立的code和msg,请逐一检查返回列表中的每一项以确认每笔订单的实际执行结果。
- 合约交易
合约单向持仓下只减仓订单,如果已经存在减仓单并且减仓单数量已经等于仓位数量,或者你新下的减仓单大于仓位剩余数量,会自动把之前减仓单取消,重新下新的减仓单,此时返回的信息 orderId会为 null,建议一定要传cliendOid(暂不支持reduce-only订单)
- 杠杆交易
杠杆下单会自动借贷
订单检查
合约:
Price下单价格要满足价格乘数priceMultiplier的倍数,并且符合pricePrecision小数位。qty要满足大于minTradeUSDT并且满足sizeMultiplier的倍数现货:
price要满足小数位。qty下单数量必须要大于minTradeUSDT相关参数可以通过这里获取;
开仓逻辑
双向持仓
开多:side=buy&posSide=long
开空:side=sell&posSide=short
平多:side=sell&posSide=long
平空:side=buy&posSide=short单向持仓
开多side:buy
开空side:sell
平多side:sellreduceOnly:yes
平空side:buyreduceOnly:yes
- 订单持有上限:
- 具体上限可以通过这里获取,相关字段:
maxSymbolOrderNum:单个交易对维度的最大委托数量maxProductOrderNum:同一业务线下所有交易对的最大委托数量
- 具体上限可以通过这里获取,相关字段:
- 请求监控:
将针对您的 API 请求进行统计监控,当单日 (UTC 0点 - UTC 24点) 单账号(母账号和子账号整体运算)订单总数超过一定上限,平台将保留提醒、警告,以及进行必要性限制的权利。 使用API的客户预设接收本条款并负有配合调整的义务。
API Broker返佣标识:
需在HTTP Header请求头中添加如下代码块"X-CHANNEL-API-CODE":"your-channel-api-code"
币本位合约说明:
- 新币本位业务线symbol格式为"XXXUSD_CM",例如BTCUSD交易对在币本位合约的格式为BTCUSD_CM
- 新币本位暂时不支持修改订单
注意:操作订单时出现
400104072545001错误码,请用clientOid查询订单详情,以确认操作的最终结果
HTTP请求
- POST /api/v3/trade/place-batch
- 限频规则: 5次/秒/UID
- 批量限制:每批不能超过20笔委托单
- 需要统一账户交易读写权限
请求示例
curl -X POST "https://api.bitget.com/api/v3/trade/place-batch" \
-H "ACCESS-KEY:your apiKey" \
-H "ACCESS-SIGN:*" \
-H "ACCESS-PASSPHRASE:*" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:zh-CN" \
-H "Content-Type: application/json" \
-d '[{"category":"SPOT","symbol":"BGBUSDT","orderType":"limit","qty":"123","price":"1.11","side":"buy","timeInForce":"gtc","clientOid":"my-oid-1"}]'
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| category | String | 是 | 产品类型SPOT 现货交易MARGIN 杠杆交易USDT-FUTURES USDT合约COIN-FUTURES 币本位合约USDC-FUTURES USDC合约 所有委托单的产品类型必须相同 |
| symbol | String | 是 | 交易对名称 例如: BTCUSDT |
| qty | String | 是 | 下单数量 - 现货/杠杆 - 市价买单,单位为 quote coin - 限价及市价卖单,单位为 base coin - USDT/USDC合约:单位为 base coin - 币本位合约:单位为 quote coin |
| price | String | 否 | 下单价格 订单类型为限价单 limit时,该字段必填订单类型为市价单 market时,该字段失效 |
| side | String | 是 | 下单方向buy: 买sell: 卖 |
| orderType | String | 是 | 订单类型limit: 限价单market: 市价单 |
| timeInForce | String | 否 | 订单执行策略ioc: 无法立即成交的部分就撤销fok: 无法全部立即成交就撤销gtc: 普通订单, 订单会一直有效,直到被成交或者取消post_only: 只做makerrpi: 零售价格优化订单,仅限拥有RPI做市商权限的账户使用订单类型为限价单 limit时必填,若省略则默认为gtc |
| posSide | String | 否 | 仓位方向 双向持仓模式下必填,单向持仓时不要填,否则会报错 long: 多头short: 空头 只适用于合约交易 |
| clientOid | String | 否 | 自定义订单ID 需满足正则表达式 [0-9A-Za-z_:#\-+\s]{1,32}$,即 1-32 个字符,可包含大小写字母、数字、下划线(_)、连字符(-)、加号(+)、冒号(:)、井号(#)和空格 |
| stpMode | String | 否 | STP模式(自成交预防)none 不比较双方用户ID,订单正常成交,不触发STP(默认) cancel_taker 检测到自成交时,取消taker(吃单方)订单,maker(挂单方)订单保留在订单簿中 cancel_maker 检测到自成交时,取消maker(挂单方)订单,taker(吃单方)订单继续执行 cancel_both 检测到自成交时,taker和maker订单都取消STP判定以taker订单自身携带的 stpMode为准,不看maker订单原有的stpMode设置 |
返回示例
{
"code": "00000",
"msg": "success",
"requestTime": 1695806875837,
"data": [
{
"clientOid": "121211212122",
"orderId": "121211212122"
}
]
}
返回参数
| 返回字段 | 参数类型 | 字段说明 |
|---|---|---|
| orderId | String | 订单ID |
| clientOid | String | 自定义订单ID |
| code | String | 这笔委托单的Error code |
| msg | String | 这笔委托单的Error message |