跳到主要内容

修改订单

API说明

此接口允许用户修改未成交订单。请注意,某些参数,如保证金和杠杆率,无法使用此接口修改。

注意:修改订单通过RESTful API可用。

注意事项

  1. 如果在修改某些参数时发生错误(例如,购买交易品种数量不足,调整杠杆率,修改保证金),订单将被取消

  2. 此接口不支持修改持仓模式。如果尝试修改,将返回以下错误,并且订单将被取消。

'code': 9050, 'msg': 'The margin mode cannot be changed for existing orders'

要修改持仓模式,请使用合约 > 账户和资产 > 设置持仓持仓模式中的专用接口。

  1. 如果现有订单为某个合约指定了杠杆率,则不允许修改同一合约后续订单的杠杆率。如果尝试修改,将返回以下错误,并且订单将被取消。
'code': 9081, 'msg': 'New opening cannot adjust leverage multiples'
  1. 如果请求参数positionType设置为planTrigger,响应参数openId将为null,但订单仍会成功下单,并可在网页的"未成交订单"下查看。查看未成交订单的接口,请前往合约 > 查询订单 > 获取当前订单。
'code':0, 'data': {'value': 'null'}, 'msg': ''
  1. 在资金费用期间,不允许进行下单或平仓等交易操作。尝试这些操作将导致错误响应。 资金费用流程通常需要 30 至 40 秒。建议至少等待 1 分钟后再尝试交易操作。 具体的资金费用表,请参阅官方网页。
  2. CoinW 允许交易者在同一币种上同时建立多头与空头头寸,从而实现对冲功能,助力构建更灵活复杂的交易策略。

认证

这是一个私有接口,需要认证。有关使用RESTful API的详细信息,请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。

请求方法

PUT

接口地址

/v1/perpum/order

频率限制

该接口的调用频率限制为:每个 IP 和用户 ID 每秒最多请求10次。
此外,该接口还受到全局频率限制的约束。
有关"全局速率限制"和"API限频策略"的详细信息,请参阅“频率限制”部分,跳转

请求参数

参数必填类型描述
idtrueLong要修改的订单ID
instrumenttrueString交易品种基础货币(例如,BTC或btc)。此参数不区分大小写。注意:对于以数字开头的合约(例如1000PEPE),大写和小写格式都有效。
directiontrueString交易方向:做多(long),做空(short)。注意:要修改方向,提供新方向;否则,保持不变。
leveragetrueInteger持仓杠杆率
quantityUnittrueInteger用于指定订单数量的计量单位:
0:以计价货币计价(例如,BTC-USDT 合约中的 USDT);
1:以合约张数计价;
2:以基础货币计价(例如,BTC-USDT 合约中的 BTC)。如果基础货币不足至少一个合约,修改此参数将导致错误,订单将被取消。注意:要修改订单大小单位,提供新的quantityUnit;否则,保持不变。
quantitytrueBigDecimal基于quantityUnit 指定订单数量:
当 quantityUnit = 0 时,数量以计价货币计量(例如,BTC-USDT 中的 USDT);
当 quantityUnit = 1 时,数量以合约张数计量;
当 quantityUnit = 2 时,数量以基础货币计量(例如,BTC-USDT 中的 BTC)。
positionModeltrueInteger持仓持仓模式:0:逐仓,1:全仓。注意:无法为现有订单更改持仓模式。如果尝试修改,订单将被取消。提示:在下单前修改持仓模式。
positionTypetrueString订单类型:execute:市价单,plan:用于不同计划订单,包括限价单、触发限价单、带SL/TP的限价单、带SL/TP的触发限价单、触发市价单、带SL/TP的触发市价单,planTrigger:计划触发订单。注意:对于追踪SL/TP,先通过此接口提交市价单/限价单,然后使用专用接口设置追踪SL/TP。
openPricefalseBigDecimal指定订单价格。注意:如果基础货币不足至少一个合约,修改此参数将导致错误,订单将被取消。
stopLossPricefalseBigDecimal止损价格
stopProfitPricefalseBigDecimal止盈价格
triggerPricefalseBigDecimal永续合约计划订单的触发价格
triggerTypefalseinteger指定触发价格满足时的订单类型:0:限价单,1:市价单。注意:订单可以从限价单改为市价单。
goldIdfalseInteger用户体验黄金ID
feeTypefalseInteger费用类型1:maker费用,0:taker费用
orderPricefalseInteger佣金价格
orderBookIdfalseLong订单ID
useAlmightyGoldfalseboolean是否使用万能金
thirdOrderIdfalseString用户分配的自定义订单ID,用于唯一区分不同持仓。注意:1. 最大长度:50个字符;仅允许拉丁字母、数字、连字符(-)和下划线(_)。2. 此参数对于批量平仓是必需的。

响应参数

参数类型描述
originIdLong原始订单ID
editIdLong修改后的订单ID

请求示例

以下Python代码展示了如何修改订单。

注意:完整代码示例请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。

params = {
"id": "33308754803838259",
"instrument": "btc",
"direction": "long",
"leverage": 1,
"quantityUnit": 1,
"quantity": "1",
"positionModel": 0,
"positionType": "plan",
"openPrice" : 92000,
"stopProfitPrice" : 94000,
"stopLossPrice" : 90500,
"triggerPrice" : "90800",
"triggerType" : 1,
}

api_url = "/v1/perpum/order"
method = "PUT"
response_code, response_data = FuturesRestfulPrivate(params, api_url, method, sec_key, api_key) # function FuturesRestfulPrivate() is defined in section (Introduction > Authentication & Code Snippet > Futures > RESTful Private Interface.)

注意:完整Java代码示例请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。

响应示例

以下是上述Python请求返回的示例响应:

{'code': 0, 'data': {'editId': 33308754804673617, 'originId': 33308754803838259}, 'msg': ''}