按仓位ID平仓
按仓位ID平仓
按指定的仓位ID列表平仓特定仓位,支持现货、币本位合约、U本位合约
限频:每秒 1 次
请求地址
POST /deepcoin/trade/close-position-by-ids
请求参数
字段名 | 是否必填 | 类型 | 字段描述 |
---|---|---|---|
productGroup | 是 | string | 产品组 现货: Spot 币本位: Swap U本位: SwapU |
instId | 是 | string | 产品 ID |
positionIds | 是 | []string | 仓位 ID 列表,至少包含一个 ID |
请求示例
// 平仓指定的现货仓位
{
"productGroup": "Spot",
"instId": "BTC-USDT",
"positionIds": ["pos123", "pos456"]
}
// 平仓指定的币本位合约仓位
{
"productGroup": "Swap",
"instId": "BTC-USD-SWAP",
"positionIds": ["pos789", "pos012", "pos345"]
}
// 平仓指定的U本位合约仓位
{
"productGroup": "SwapU",
"instId": "BTC-USDT-SWAP",
"positionIds": ["pos678"]
}
// 平仓多个仓位
{
"productGroup": "SwapU",
"instId": "ETH-USDT-SWAP",
"positionIds": [
"1001063717138767",
"1001063717138768",
"1001063717138769",
"1001063717138770"
]
}
响应参数
字段名 | 类型 | 字段描述 |
---|---|---|
errorList | array | 错误列表,包含平仓失败的详细信息 |
errorList 中的 ClosePositionErrorItem 结构
字段名 | 类型 | 字段描述 |
---|---|---|
memberId | string | 会员 ID |
accountId | string | 账户 ID |
tradeUnitId | string | 交易单元 ID |
instId | string | 产品 ID |
posiDirection | string | 仓位方向 |
errorCode | int | 错误码 |
errorMsg | string | 错误信息 |
响应示例
// 成功响应(所有指定仓位都成功平仓)
{
"code": "0",
"msg": "",
"data": {
"errorList": []
}
}
// 部分失败响应
{
"code": "0",
"msg": "",
"data": {
"errorList": [
{
"memberId": "10001",
"accountId": "100001234",
"tradeUnitId": "TU001",
"instId": "BTC-USDT-SWAP",
"posiDirection": "long",
"errorCode": 51020,
"errorMsg": "Insufficient position"
},
{
"memberId": "10001",
"accountId": "100001234",
"tradeUnitId": "TU002",
"instId": "BTC-USDT-SWAP",
"posiDirection": "short",
"errorCode": 51404,
"errorMsg": "Position does not exist"
}
]
}
}
// 全部失败响应
{
"code": "0",
"msg": "",
"data": {
"errorList": [
{
"memberId": "10001",
"accountId": "100001234",
"tradeUnitId": "TU001",
"instId": "BTC-USDT-SWAP",
"posiDirection": "long",
"errorCode": 51404,
"errorMsg": "Position does not exist"
},
{
"memberId": "10001",
"accountId": "100001234",
"tradeUnitId": "TU002",
"instId": "BTC-USDT-SWAP",
"posiDirection": "short",
"errorCode": 51404,
"errorMsg": "Position does not exist"
}
]
}
}
说明
功能描述
- 按指定的仓位 ID 列表平仓特定仓位
- 支持现货(Spot)、币本位合约(Swap)、U本位合约(SwapU)
- 可以一次性平仓多个指定的仓位
- 使用并发处理提高效率
处理逻辑
- 内部调用与批量平仓相同的
doClosePositionInternal
方法 - 通过
positionIds
参数过滤,只平仓指定 ID 的仓位 - 并发处理多个仓位的平仓操作
- 收集所有平仓失败的错误信息
注意事项
positionIds
必须至少包含一个仓位 ID- 只会平仓列表中指定的仓位,不会影响其他仓位
- 错误列表为空表示所有指定仓位都成功平仓
- 部分仓位平仓失败不会影响其他仓位的平仓操作
- 如果仓位 ID 不存在或已被平仓,会在错误列表中返回相应错误信息