跳到主要内容

下单

API说明

此接口允许用户进行合约交易下单,支持各种订单类型,包括市价单、限价单和触发单。

注意:下单仅通过RESTful API可用。

注意事项

  1. 下单时,确保根据所选订单类型准确指定所有必需参数。

  2. 如果已经以特定杠杆率为某合约下单,则不支持以不同杠杆率为同一合约下新订单。

  3. 此接口支持市价单和限价单的 止损(SL)和止盈(TP) 订单。如需为现有订单添加SL/TP,请使用专用接口: 设置止损和/或止盈,请参考合约 > 下单 > 设置SL/TP; 批量设置止损和/或止盈,请参考合约 > 下单 > 批量设置SL/TP。

  4. 要下追踪止损/止盈订单,请先通过此接口下市价单或限价单。订单成交后,使用单独的接口设置追踪止损/止盈。有关设置追踪止损/止盈的接口,请参考合约 > 下单 > 设置追踪SL/TP。

  5. 持仓持仓模式 “positionModel” 在存在未成交订单时不能更改。一旦修改,将返回以下错误:

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

要修改持仓持仓模式,请参考合约 > 账户和资产 > 设置持仓模式。

  1. 如果请求参数(positionType)设置为planTrigger,响应参数openId将为null,但订单仍会成功下单,并可在网页的"未成交订单"下查看。查看未成交订单的接口,请前往合约 > 查询订单 > 获取当前订单
'openId': 'null'
  1. 在资金费用期间,不允许进行下单或平仓等交易操作。尝试这些操作将导致错误响应。 资金费用流程通常需要 30 至 40 秒。建议至少等待 1 分钟后再尝试交易操作。 具体的资金费用表,请参阅官方网页。
  2. CoinW 允许交易者在同一币种上同时建立多头与空头头寸,从而实现对冲功能,助力构建更灵活复杂的交易策略。
  3. 返回订单ID不代表成交。 “返回 orderId 表示系统已受理下单请求,但订单可能在撮合时被撤销,并不代表成交。如需确认成交状态,请调用查询订单持仓信息API。

认证

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

请求方法

POST

接口地址

/v1/perpum/order

频率限制

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

请求参数

参数必填类型描述
instrumenttrueString交易品种基础货币(例如,BTC或btc)。此参数不区分大小写。注意:对于以数字开头的合约(例如1000PEPE),大写和小写格式都有效。
directiontrueString交易方向:做多(long),做空(short)
leveragetrueInteger持仓杠杆率
quantityUnittrueInteger用于指定订单数量的计量单位:
0:以计价货币计价(例如,BTC-USDT 合约中的 USDT);
1:以合约张数计价;
2:以基础货币计价(例如,BTC-USDT 合约中的 BTC)。
quantitytrueIntger/String基于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:市价单。注意:限价单必须指定openPrice。
goldIdfalseInteger黄金ID
thirdOrderIdfalseString用户分配的自定义订单ID,用于唯一区分不同持仓。注意:1. 最大长度:50个字符;仅允许拉丁字母、数字、连字符(-)和下划线(_)。2. 此参数对于批量平仓是必需的。
useAlmightyGoldfalseBoolean是否使用万能金,1:是,0:否

响应参数

参数类型描述
dataLong订单ID

请求示例

以下Python代码展示了如何为BTC下止损/止盈限价单。

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

params = {
"instrument": "BTC",
"direction": "long",
"leverage": 2,
"quantityUnit": 0, # for USDT selection
"quantity": "100", # 100 USDT
"positionModel": 0, # isolated margin
"positionType": "plan",
"openPrice" : 83000,
"stopProfitPrice" : 95000,
"stopLossPrice" : 82000,
"thirdOrderId" : "placeSLTPorder"
}

api_url = "/v1/perpum/order"

method = "POST"
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': {'value': '33308751556999718'}, 'msg': ''}