跳到主要内容

修改订单 (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

请求参数​

名称类型是否必需描述
orderIdLONGNO系统订单号
origClientOrderIdSTRINGNO用户自定义的订单号
symbolSTRINGYES交易对
sideENUMYES买卖方向 SELL, BUY
quantityDECIMALYES下单数量,使用closePosition不支持此参数。
priceDECIMALYES委托价格
priceMatchENUMNOOPPONENT/ OPPONENT_5/ OPPONENT_10/ OPPONENT_20/QUEUE/ QUEUE_5/ QUEUE_10/ QUEUE_20;不能与price同时传
modifyIdINTNO用户自定义的改单标识,原样返回。可选;服务端不校验唯一性。
reduceOnlySTRINGNO行为说明见下方备注。
recvWindowLONGNO
timestampLONGYES
  • 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
}