修改订单 (TRADE)
接口描述
修改订单功能,当前只支持限价(LIMIT)订单修改,修改后会在撮合队列里重新排序
HTTP请求
PUT /fapi/v1/order
请求权重
10s order rate limit(X-MBX-ORDER-COUNT-10S)为1; 1min order rate limit(X-MBX-ORDER-COUNT-1M)为1; IP rate limit(x-mbx-used-weight-1m)为0
请求参数
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| orderId | LONG | NO | 系统订单号 |
| origClientOrderId | STRING | NO | 用户自定义的订单号 |
| symbol | STRING | YES | 交易对 |
| side | ENUM | YES | 买卖方向 SELL, BUY |
| quantity | DECIMAL | YES | 下单数量,使用closePosition不支持此参数。 |
| price | DECIMAL | YES | 委托价格 |
| priceMatch | ENUM | NO | OPPONENT/ OPPONENT_5/ OPPONENT_10/ OPPONENT_20/QUEUE/ QUEUE_5/ QUEUE_10/ QUEUE_20;不能与price同时传 |
| modifyId | INT | NO | 用户自定义的改单标识,原样返回。可选;服务端不校验唯一性。 |
| reduceOnly | STRING | NO | 行为说明见下方备注。 |
| recvWindow | LONG | NO | |
| timestamp | LONG | YES |
orderId与origClientOrderId必须至少发送一个,同时发送则以 order id为准quantity与price均必须发送,这点和 dapi 修改订单不同- 当新订单的
quantity或price不满足PRICE_FILTER / PERCENT_FILTER / LOT_SIZE限制,修改会被拒绝,原订单依旧被保留- 订单会在下列情况下被取消:
- 原订单被部分执行且新订单
quantity<=executedQty- 原订单是
GTX,新订单的价格会导致订单立刻执行- 同一订单修改次数最多10000次
modifyId为可选的用户自定义标识,服务端原样透传且不校验唯一性;不传时响应中不包含该字段。reduceOnly行为说明:
false或不传:与当前行为一致——对修改后的订单执行min_notional校验。true且原订单的reduceOnly属性也为true(一致):跳过修改后订单的min_notional校验,与下单语义对齐。true但原订单的reduceOnly属性为false(不一致):拒绝本次改单请求,返回错误码-5047,"The original order is not a reduce-only order"。reduceOnly仅用于校验——传true不会改变原订单的reduceOnly属性,该属性仍保持下单时设定的值。
响应示例
{
"orderId": 20072994037,
"symbol": "BTCUSDT",
"pair": "BTCUSDT",
"status": "NEW",
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"modifyId": 1, //用户自定义的改单标识,仅当请求中传入时返回
"price": "30005",
"origQty": "1",
"executedQty": "0",
"cumQty": "0",
"timeInForce": "GTC",
"type": "LIMIT",
"reduceOnly": false,
"closePosition": false,
"side": "BUY",
"positionSide": "LONG",
"stopPrice": "0",
"workingType": "CONTRACT_PRICE",
"priceProtect": false,
"origType": "LIMIT",
"priceMatch": "NONE", //盘口价格下单模式
"selfTradePreventionMode": "EXPIRE_MAKER", //订单自成交保护模式
"goodTillDate": 0, //订单TIF为GTD时的自动取消时间
"updateTime": 1629182711600
}