平仓
API说明
此接口允许用户部分或完全平仓未平仓的合约持仓(已成交订单)。用户可以指定持仓ID,并选择基于固定合约大小或总持仓的百分比进行平仓。还可以指定可选的订单价格,以特定价格平仓。
注意:平仓仅通过RESTful API可用。
注意事项
- 通常,平仓是通过在相反方向下达相同订单来完成的。但是,这种方法在CoinW上不适用。在相反方向下达订单将开设新仓位,而不是关闭原始仓位,导致两个活跃仓位。要正确平仓,请使用此专用接口。
- 在资金费用期间,不允许进行下单或平仓等交易操作。尝试这些操作将导致错误响应。 资金费用流程通常需要 30 至 40 秒。建议至少等待 1 分钟后再尝试交易操作。 具体的资金费用表,请参阅官方网页。
- 平台支持三种交易来源:用户自主下单、跟单系统下单、策略广场量化机器人下单,三类交易在持仓层面统一展示,不过 OpenAPI 仅支持对用户自主下单产生的仓位进行操作(如平仓、撤单等)。对于跟单及策略广场产生的仓位,API 无操作权限,相关操作建议使用平台内对应功能完成处理。
认证
这是一个私有接口,需要认证。有关使用RESTful API的详细信息,请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。
请求方法
DELETE
接口地址
频率限制
该接口的调用频率限制为每个用户 ID 每秒 30 个请求,每个 IP 每秒 100000 个请求。
此外,该接口还受到全局频率限制的约束。
有关"全局速率限制"和"API限频策略"的详细信息,请参阅“频率限制”部分,跳转
请求参数
| 参数 | 必填 | 类型 | 描述 |
|---|---|---|---|
| id | true | Long | 持仓ID |
| positionType | false | String | 指定平仓订单类型:plan:以指定价格平仓。execute:以市价平仓。注意:如果未指定,将默认使用市价(execute) 平仓。 |
| closeNum | false | BigDecimal | 要平仓的合约数量。例如,2表示平仓2个合约。注意:此参数与closeRate互斥;必须提供其中之一。 |
| closeRate | false | BigDecimal | 平仓比例,有效范围从0到1。例如:如果设为0.5,将平仓50%的持仓。注意:此参数与closeNum互斥;必须提供其中之一。 |
| orderPrice | false | BigDecimal | 指定平仓价格 注意:如果指定,"positionType"必须设为"plan"。 |
响应参数
| 参数 | 类型 | 描述 |
|---|---|---|
| data | Long | 订单ID |
请求示例
以下Python代码展示了如何以指定价格平仓未平仓持仓(已成交订单)。
注意:完整代码示例请参考简介 > 认证和代码示例 > 合约 > RESTful私有接口。
params = {
"id": "2435521222632023294",
"positionType" : "plan" ,
# "closeRate": 1,
"closeNum" : 1 ,
"orderPrice" : 86500 ,
}
api_url = "/v1/perpum/positions"
method = "DELETE"
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': 33308750217533160}, 'msg': ''}