跳到主要内容

UM条件单下单(TRADE)

接口描述

UM条件单下单

HTTP请求

POST /papi/v1/um/conditional/order

请求权重

1

请求参数

名称类型是否必需描述
symbolSTRINGYES交易对
sideENUMYES方向
positionSideENUMNO持仓方向,单向持仓模式下非必填,默认且仅可填BOTH;在双向持仓模式下必填,且仅可选择 LONGSHORT
strategyTypeENUMYES条件单类型"STOP", "STOP_MARKET", "TAKE_PROFIT", "TAKE_PROFIT_MARKET"或"TRAILING_STOP_MARKET"
timeInForceENUMNO
quantityDECIMALNO
reduceOnlySTRINGNOtruefalse; 非双开模式下默认false;双开模式下不接受此参数
priceDECIMALNO
workingTypeENUMNOstopPrice 触发类型: MARK_PRICE(标记价格), CONTRACT_PRICE(合约最新价). 默认 CONTRACT_PRICE
priceProtectSTRINGNO条件单触发保护:"TRUE","FALSE", 默认"FALSE". 仅 STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET 需要此参数
newClientStrategyIdSTRINGNO用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值。必须满足正则规则: ^[\.A-Z\:/a-z0-9_-]{1,32}$
stopPriceDECIMALNOUsed with STOP/STOP_MARKET or TAKE_PROFIT/TAKE_PROFIT_MARKET orders.
activationPriceDECIMALNOTRAILING_STOP_MARKET 单使用,默认标记价格
callbackRateDECIMALNOTRAILING_STOP_MARKET 单使用, 最小0.1, 最大5,1代表1%
priceMatchENUMNOOPPONENT/ OPPONENT_5/ OPPONENT_10/ OPPONENT_20/QUEUE/ QUEUE_5/ QUEUE_10/ QUEUE_20;不能与price同时传
selfTradePreventionModeENUMNONONE / EXPIRE_TAKER/ EXPIRE_MAKER/ EXPIRE_BOTH; 默认NONE
goodTillDateLONGNOTIF为GTD时订单的自动取消时间, 当timeInforce为GTD时必传;传入的时间戳仅保留秒级精度,毫秒级部分会被自动忽略,时间戳需大于当前时间+600s且小于253402300799000
recvWindowLONGNO
timestampLONGYES

根据 order type 的不同,某些参数强制要求,具体如下:

类型强制要求的参数
STOP/TAKE_PROFITquantity, price, stopPrice
STOP_MARKET/TAKE_PROFIT_MARKETstopPrice
TRAILING_STOP_MARKETcallbackRate
  • 条件单为STOP/TAKE_PROFIT时, 参数timeInForce可以使用(默认GTC)

  • 条件单的触发必须:

    • STOP, STOP_MARKET 止损单:
      • 买入: 最新合约价格/标记价格高于等于触发价stopPrice
      • 卖出: 最新合约价格/标记价格低于等于触发价stopPrice
    • TAKE_PROFIT, TAKE_PROFIT_MARKET 止盈单:
      • 买入: 最新合约价格/标记价格低于等于触发价stopPrice
      • 卖出: 最新合约价格/标记价格高于等于触发价stopPrice
    • TRAILING_STOP_MARKET 跟踪止损单:
      • 买入: 当合约价格/标记价格区间最低价格低于激活价格activationPrice,且最新合约价格/标记价高于等于最低价设定回调幅度。
      • 卖出: 当合约价格/标记价格区间最高价格高于激活价格activationPrice,且最新合约价格/标记价低于等于最高价设定回调幅度。
  • TRAILING_STOP_MARKET 跟踪止损单如果遇到报错 {"code": -2021, "msg": "Order would immediately trigger."}
    表示订单不满足以下条件:

    • 买入: 指定的activationPrice 必须小于 latest mark price
    • 卖出: 指定的activationPrice 必须大于 latest mark price
  • 条件单的触发必须:

    • 如果订单参数priceProtect为true:

      • 达到触发价时,MARK_PRICE(标记价格)与CONTRACT_PRICE(合约最新价)之间的价差不能超过改symbol触发保护阈值
      • 触发保护阈值请参考接口GET /fapi/v1/exchangeInfo 返回内容相应symbol中"triggerProtect"字段
    • STOP, STOP_MARKET 止损单:

      • 买入: 最新合约价格/标记价格高于等于触发价stopPrice
      • 卖出: 最新合约价格/标记价格低于等于触发价stopPrice
    • TAKE_PROFIT, TAKE_PROFIT_MARKET 止盈单:

      • 买入: 最新合约价格/标记价格低于等于触发价stopPrice
      • 卖出: 最新合约价格/标记价格高于等于触发价stopPrice
  • selfTradePreventionMode 仅在 timeInForceIOCGTCGTD时生效.

  • 极端行情时,timeInForceGTD的订单自动取消可能有一定延迟

响应示例

{
"newClientStrategyId": "testOrder",
"strategyId":123445,
"strategyStatus":"NEW",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "10",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSDT",
"timeInForce": "GTD",
"activatePrice": "9020",
"priceRate": "0.3",
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722
"workingType": "CONTRACT_PRICE",
"priceProtect": false,
"selfTradePreventionMode": "NONE", ////订单自成交保护模式
"goodTillDate": 1693207680000, //订单TIF为GTD时的自动取消时间
"priceMatch": "NONE"
}