交易请求
下新的订单 (TRADE)
{
"id": "5494febb-d167-46a2-996d-70533eb4d976",
"method": "order.place",
"params": {
"symbol": "BTCUSDT",
"side": "SELL",
"type": "LIMIT",
"timeInForce": "GTC",
"price": "23416.10000000",
"quantity": "0.00847000",
"apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
"signature": "15af09e41c36f3cc61378c2fbe2c33719a03dd5eba8d0f9206fbda44de717c88",
"timestamp": 1660801715431
}
}
下新的订单。
这个请求会把1个订单添加到 EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。
权重: 1
未成交的订单计数: 1
参数:
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
apiKey | STRING | YES | |
symbol | STRING | YES | |
side | ENUM | YES | 详见枚举定义:订单方向 |
type | ENUM | YES | 详见枚举定义:订单类型 |
timeInForce | ENUM | NO | 详见枚举定义:生效时间 |
price | DECIMAL | NO | |
quantity | DECIMAL | NO | |
quoteOrderQty | DECIMAL | NO | |
newClientOrderId | STRING | NO | 用户自定义的orderid,如空缺系统会自动赋值。 |
newOrderRespType | ENUM | NO | MARKET 与 LIMIT 订单默认为FULL, 其他默认为ACK。 |
stopPrice | DECIMAL | NO | 仅 STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT 需要此参数。 |
trailingDelta | INT | NO | 参见 追踪止盈止损(Trailing Stop)订单常见问题 |
icebergQty | DECIMAL | NO | 仅有限价单(包括条件限价单与限价做事单)可以使用该参数,含义为创建冰山订单并指定冰山订单的数量。 |
strategyId | LONG | NO | |
strategyType | INT | NO | 不能低于 1000000。 |
selfTradePreventionMode | ENUM | NO | 允许的 ENUM 取决于交易对的配置。 |
pegPriceType | ENUM | NO | 参阅 关于挂钩订单参数的注意事项 |
pegOffsetValue | INT | NO | 用于挂钩的价格水平(最大值:100)。参阅 关于挂钩订单参数的注意事项 |
pegOffsetType | ENUM | NO | 仅支持 PRICE_LEVEL。参阅 关于挂钩订单参数的注意事项 |
recvWindow | DECIMAL | NO | 最大值: 60000。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
timestamp | LONG | YES | 用于请求签名的 Unix 时间戳,单位为毫秒或微秒。该值必须反映客户端当前时间,并会在签名接口中由服务器进行校验。 |
signature | STRING | YES |
数据源: 撮合引擎
根据订单 type,某些参数(*) 可能成为必需参数:
订单 type |
强制要求的参数 |
|---|---|
LIMIT |
|
LIMIT_MAKER |
|
MARKET |
|
STOP_LOSS |
|
STOP_LOSS_LIMIT |
|
TAKE_PROFIT |
|
TAKE_PROFIT_LIMIT |
|
支持的订单类型:
订单 type |
描述 |
|---|---|
LIMIT |
以指定的 |
LIMIT_MAKER |
此订单类型也称为 POST-ONLY 订单。 |
MARKET |
以最佳市场价格买入或卖出。
|
STOP_LOSS |
当满足指定条件时,执行给定
I.e., 当达到 |
STOP_LOSS_LIMIT |
当满足指定条件时,执行给定参数的 |
TAKE_PROFIT |
与 |
TAKE_PROFIT_LIMIT |
与 |
- 这些参数仅适用于
LIMIT,LIMIT_MAKER,STOP_LOSS_LIMIT和TAKE_PROFIT_LIMIT订单。 - 如果使用了
pegPriceType, 那么price字段将是可选的。 否则,price字段依旧是必须的。 pegPriceType=PRIMARY_PEG就是主要挂钩(primary),这是订单簿上与您的订单同一方向的最佳价格。pegPriceType=MARKET_PEG就是市场挂钩(market),这是订单簿上与您的订单相反方向的最佳价格。- 可以通过使用
pegOffsetType和pegOffsetValue来获取最佳价格以外的价格水平。 这两个参数必须一起使用。
可用的 timeInForce 选项,设置订单在到期前应该活跃多长时间:
| TIF | 描述 |
|---|---|
GTC | Good 'til Canceled – 成交为止。订单会一直有效,直到被成交或者取消。 |
IOC | Immediate 或者 Cancel – 无法立即成交的部分就撤销。订单在失效前会尽量多的成交。 |
FOK | Fill 或者 Kill – 无法全部立即成交就撤销。如果无法全部成交,订单会失效。 |
备注:
-
newClientOrderId指定订单的clientOrderId值。仅当前一个订单已成交或过期时,才会接受具有相同
clientOrderId的新订单。 -
任何
LIMIT或LIMIT_MAKER订单都可以通过指定icebergQty变成冰山订单。带有
icebergQty的订单必须将timeInForce设置为GTC。 -
STOP_LOSS/TAKE_PROFIT订单的触发订单价格规则:stopPrice必须高于市场价格:STOP_LOSS BUY,TAKE_PROFIT SELLstopPrice必须低于市场价格:STOP_LOSS SELL,TAKE_PROFIT BUY
-
使用
quoteOrderQty的MARKET订单遵循LOT_SIZE过滤规则。该订单将执行一个名义价值尽可能接近请求的
quoteOrderQty的数量。
响应:
使用 newOrderRespType 参数可以选择响应格式。
ACK 响应类型:
{
"id": "56374a46-3061-486b-a311-99ee972eb648",
"status": 200,
"result": {
"symbol": "BTCUSDT",
"orderId": 12569099453,
"orderListId": -1, // 单个订单会一直是 -1
"clientOrderId": "4d96324ff9d44481926157ec08158a40",
"transactTime": 1660801715639
},
"rateLimits": [
{
"rateLimitType": "ORDERS",
"interval": "SECOND",
"intervalNum": 10,
"limit": 50,
"count": 1
},
{
"rateLimitType": "ORDERS",
"interval": "DAY",
"intervalNum": 1,
"limit": 160000,
"count": 1
},
{
"rateLimitType": "REQUEST_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 6000,
"count": 1
}
]
}
RESULT 响应类型:
{
"id": "56374a46-3061-486b-a311-99ee972eb648",
"status": 200,
"result": {
"symbol": "BTCUSDT",
"orderId": 12569099453,
"orderListId": -1, // 单个订单会一直是 -1
"clientOrderId": "4d96324ff9d44481926157ec08158a40",
"transactTime": 1660801715639,
"price": "23416.10000000",
"origQty": "0.00847000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"workingTime": 1660801715639,
"selfTradePreventionMode": "NONE"
},
"rateLimits": [
{
"rateLimitType": "ORDERS",
"interval": "SECOND",
"intervalNum": 10,
"limit": 50,
"count": 1
},
{
"rateLimitType": "ORDERS",
"interval": "DAY",
"intervalNum": 1,
"limit": 160000,
"count": 1
},
{
"rateLimitType": "REQUEST_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 6000,
"count": 1
}
]
}