UM条件单下单(TRADE)
接口描述
UM条件单下单
HTTP请求
POST /papi/v1/um/conditional/order
请求权重
1
请求参数
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
side | ENUM | YES | 方向 |
positionSide | ENUM | NO | 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH ;在双向持仓模式下必填,且仅可选择 LONG 或 SHORT |
strategyType | ENUM | YES | 条件单类型"STOP", "STOP_MARKET", "TAKE_PROFIT", "TAKE_PROFIT_MARKET"或"TRAILING_STOP_MARKET" |
timeInForce | ENUM | NO | |
quantity | DECIMAL | NO | |
reduceOnly | STRING | NO | true 或false ; 非双开模式下默认false;双开模式下不接受此参数 |
price | DECIMAL | NO | |
workingType | ENUM | NO | stopPrice 触发类型: MARK_PRICE (标记价格), CONTRACT_PRICE (合约最新价). 默认 CONTRACT_PRICE |
priceProtect | STRING | NO | 条件单触发保护:"TRUE","FALSE", 默认"FALSE". 仅 STOP , STOP_MARKET , TAKE_PROFIT , TAKE_PROFIT_MARKET 需要此参数 |
newClientStrategyId | STRING | NO | 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动 赋值。必须满足正则规则: ^[\.A-Z\:/a-z0-9_-]{1,32}$ |
stopPrice | DECIMAL | NO | Used with STOP/STOP_MARKET or TAKE_PROFIT/TAKE_PROFIT_MARKET orders. |
activationPrice | DECIMAL | NO | TRAILING_STOP_MARKET 单使用,默认标记价格 |
callbackRate | DECIMAL | NO | TRAILING_STOP_MARKET 单使用, 最小0.1, 最大5,1代表1% |
priceMatch | ENUM | NO | OPPONENT / OPPONENT_5 / OPPONENT_10 / OPPONENT_20 /QUEUE / QUEUE_5 / QUEUE_10 / QUEUE_20 ;不能与price同时传 |
selfTradePreventionMode | ENUM | NO | NONE / EXPIRE_TAKER/ EXPIRE_MAKER/ EXPIRE_BOTH; 默认NONE |
goodTillDate | LONG | NO | TIF为GTD时订单的自动取消时间, 当timeInforce为GTD时必传;传入的时间戳仅保留秒级精度,毫秒级部分会被自动忽略,时间戳需大于当前时间+600s且小于253402300799000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
根据 order type
的不同,某些参数强制要求,具体如下:
类型 | 强制要求的参数 |
---|---|
STOP/TAKE_PROFIT | quantity , price , stopPrice |
STOP_MARKET/TAKE_PROFIT_MARKET | stopPrice |
TRAILING_STOP_MARKET | callbackRate |
-
条件单为
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
仅在timeInForce
为IOC
或GTC
或GTD
时生效. -
极端行情时,
timeInForce
为GTD
的订单自动取消可能有一定延迟
响应示例
{
"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"
}