跳到主要内容

修改持仓止盈止损

修改持仓止盈止损

修改已设置的持仓止盈止损订单,支持现货和合约交易。

限频:每秒 1 次

限速规则:UserID

请求地址

POST /deepcoin/trade/modify-position-sltp

请求参数

字段名是否必填类型字段描述
instTypestring产品类型
现货: SPOT
合约: SWAP
instIdstring产品ID
例如:现货 BTC-USDT,合约 BTC-USDT-SWAP
ordIdstring止盈止损订单ID(从 set-position-sltp 接口响应中获取)
posSidestring持仓方向(合约必填)
多头: long
空头: short
mrgPositionstring保证金仓位模式(合约)
合仓: merge
分仓: split
tdModestring交易模式(合约)
全仓: cross
逐仓: isolated
posIdstring仓位ID(当 mrgPosition 为 split 时必填)
tpTriggerPxstring止盈触发价
止盈和止损至少填写一个
tpTriggerPxTypestring止盈触发价类型
最新价: last
指数价: index
标记价: mark
默认: last
tpOrdPxstring止盈委托价
-1 表示市价
默认: -1
slTriggerPxstring止损触发价
止盈和止损至少填写一个
slTriggerPxTypestring止损触发价类型
最新价: last
指数价: index
标记价: mark
默认: last
slOrdPxstring止损委托价
-1 表示市价
默认: -1
szstring持仓数量,用于部分止盈止损
不填表示全部持仓

注意事项:

  • ordId 为必填项,必须是有效的待成交止盈止损订单ID
  • tpTriggerPxslTriggerPx 至少需要提供一个
  • 合约交易在分仓模式下(mrgPosition=split),必须提供 posId
  • 现货交易不需要填写 posSidemrgPositiontdModeposId
  • 订单ID从 set-position-sltp 接口的响应中获取

请求示例

现货 - 同时修改止盈和止损:

{
"instType": "SPOT",
"instId": "BTC-USDT",
"ordId": "1000762096073860",
"tpTriggerPx": "110000",
"slTriggerPx": "103000"
}

合约 - 修改多头仓位止盈止损(合仓模式):

{
"instType": "SWAP",
"instId": "BTC-USDT-SWAP",
"ordId": "1000596069447069",
"posSide": "long",
"mrgPosition": "merge",
"tdMode": "cross",
"tpTriggerPx": "110000",
"tpTriggerPxType": "mark",
"tpOrdPx": "-1",
"slTriggerPx": "103000",
"slTriggerPxType": "mark",
"slOrdPx": "-1"
}

合约 - 修改特定仓位止盈止损(分仓模式):

{
"instType": "SWAP",
"instId": "BTC-USDT-SWAP",
"ordId": "1000596069492933",
"posSide": "long",
"mrgPosition": "split",
"tdMode": "isolated",
"posId": "1000596069432784",
"tpTriggerPx": "111000",
"tpTriggerPxType": "mark",
"tpOrdPx": "-1",
"slTriggerPx": "104000",
"slTriggerPxType": "mark",
"slOrdPx": "-1",
"sz": "200"
}

仅修改止盈:

{
"instType": "SWAP",
"instId": "BTC-USDT-SWAP",
"ordId": "1000596069447069",
"posSide": "long",
"mrgPosition": "merge",
"tdMode": "cross",
"tpTriggerPx": "112000",
"tpTriggerPxType": "mark",
"tpOrdPx": "-1"
}

仅修改止损:

{
"instType": "SWAP",
"instId": "BTC-USDT-SWAP",
"ordId": "1000596069447069",
"posSide": "long",
"mrgPosition": "merge",
"tdMode": "cross",
"slTriggerPx": "101000",
"slTriggerPxType": "mark",
"slOrdPx": "-1"
}

响应参数

字段名类型字段描述
ordIdstring止盈止损订单ID
sCodestring事件执行结果的状态码
0: 成功
sMsgstring事件执行失败时的消息

响应示例

成功响应:

{
"code": "0",
"msg": "",
"data": {
"ordId": "1000596069447069",
"sCode": "0",
"sMsg": ""
}
}

失败响应:

{
"code": "51400",
"msg": "订单不存在",
"data": {
"ordId": "",
"sCode": "51400",
"sMsg": "订单不存在或已被执行"
}
}

说明

功能说明

  • 修改已设置的持仓止盈和/或止损订单
  • 支持现货(SPOT)和合约(SWAP)交易
  • 通过指定 sz 参数可以修改部分仓位止盈止损
  • 支持不同的触发价类型(最新价、指数价、标记价)
  • 可以修改市价或限价委托执行止盈止损
  • 可以单独修改止盈或止损

使用场景

  1. 策略调整:根据市场情况调整止盈止损水平
  2. 风险管理:根据持仓表现收紧或放宽止损
  3. 利润优化:随着价格有利变动调整止盈目标
  4. 部分仓位管理:仅修改部分仓位的止盈止损

重要提示

  1. 订单ID必需:必须提供从 set-position-sltp 响应中获取的有效 ordId
  2. 订单状态:只能修改待成交的止盈止损订单(尚未触发或执行)
  3. 价格精度:触发价格必须符合产品的价格精度要求
  4. 参数一致性instIdposSidemrgPosition 等参数应与原订单一致
  5. 至少修改一个:必须修改止盈或止损中的至少一个
  6. 分仓模式:分仓模式下必须提供 posId
  7. 查询订单:使用 trigger-orders-pending 接口查询现有止盈止损订单并获取订单ID

相关接口

  • 设置持仓止盈止损/deepcoin/trade/set-position-sltp - 创建新的止盈止损订单
  • 取消持仓止盈止损/deepcoin/trade/cancel-position-sltp - 取消止盈止损订单
  • 查询待成交条件单/deepcoin/trade/trigger-orders-pending - 查询现有止盈止损订单

常见错误

错误码错误信息解决方案
51400订单不存在检查订单ID是否正确,订单是否已被取消或执行
51000参数错误检查必填参数是否完整,参数格式是否正确
51001止盈和止损至少需要设置一个至少提供 tpTriggerPx 或 slTriggerPx 其中一个