auto_trade_sys/docs/bian/ws交易接口.txt
薇薇安 13a0e7d580 delete: 移除过时的文档与代码文件
删除了多个不再使用的文档和代码文件,包括交易更新推送、条件订单推送、REST API 文档、WebSocket API 文档及相关的策略分析文档。这些文件的移除有助于清理代码库,确保项目的整洁性与可维护性。
2026-02-20 17:49:00 +08:00

338 lines
14 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

下单 (TRADE)
接口描述
下单
方式
order.place
请求
order.place
{
"id": "3f7df6e3-2df4-44b9-9919-d2f38f90a99a",
"method": "order.place",
"params": {
"apiKey": "HMOchcfii9ZRZnhjp2XjGXhsOBd6msAhKz9joQaWwZ7arcJTlD2hGPHQj1lGdTjR",
"positionSide": "BOTH",
"price": 43187.00,
"quantity": 0.1,
"side": "BUY",
"symbol": "BTCUSDT",
"timeInForce": "GTC",
"timestamp": 1702555533821,
"type": "LIMIT",
"signature": "0f04368b2d22aafd0ggc8809ea34297eff602272917b5f01267db4efbc1c9422"
}
}
请求权重
0
请求参数
名称 类型 是否必需 描述
symbol STRING YES 交易对
side ENUM YES 买卖方向 SELL, BUY
positionSide ENUM NO 持仓方向单向持仓模式下非必填默认且仅可填BOTH;在双向持仓模式下必填,且仅可选择 LONG 或 SHORT
type ENUM YES 订单类型 LIMIT, MARKET, STOP, TAKE_PROFIT, STOP_MARKET, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET
reduceOnly STRING NO true, false; 非双开模式下默认false双开模式下不接受此参数 使用closePosition不支持此参数。
quantity DECIMAL NO 下单数量,使用closePosition不支持此参数。
price DECIMAL NO 委托价格
newClientOrderId STRING NO 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值。必须满足正则规则 ^[\.A-Z\:/a-z0-9_-]{1,36}$
stopPrice DECIMAL NO 触发价, 仅 STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET 需要此参数
closePosition STRING NO true, false触发后全部平仓仅支持STOP_MARKET和TAKE_PROFIT_MARKET不与quantity合用自带只平仓效果不与reduceOnly 合用
activationPrice DECIMAL NO 追踪止损激活价格仅TRAILING_STOP_MARKET 需要此参数, 默认为下单当前市场价格(支持不同workingType)
callbackRate DECIMAL NO 追踪止损回调比例,可取值范围[0.1, 10],其中 1代表1% ,仅TRAILING_STOP_MARKET 需要此参数
timeInForce ENUM 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 需要此参数
newOrderRespType ENUM NO "ACK", "RESULT", 默认 "ACK"
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的不同某些参数强制要求具体如下:
Type 强制要求的参数
LIMIT timeInForce, quantity, price或priceMatch
MARKET quantity
STOP, TAKE_PROFIT quantity, stopPrice
STOP_MARKET, TAKE_PROFIT_MARKET stopPrice, price或priceMatch
TRAILING_STOP_MARKET callbackRate
条件单的触发必须:
如果订单参数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
TRAILING_STOP_MARKET 跟踪止损单:
买入: 当合约价格/标记价格区间最低价格低于激活价格activationPrice,且最新合约价格/标记价高于等于最低价设定回调幅度。
卖出: 当合约价格/标记价格区间最高价格高于激活价格activationPrice,且最新合约价格/标记价低于等于最高价设定回调幅度。
TRAILING_STOP_MARKET 跟踪止损单如果遇到报错 {"code": -2021, "msg": "Order would immediately trigger."}
表示订单不满足以下条件:
买入: 指定的activationPrice 必须小于 latest price
卖出: 指定的activationPrice 必须大于 latest price
newOrderRespType 如果传 RESULT:
MARKET 订单将直接返回成交结果;
配合使用特殊 timeInForce 的 LIMIT 订单将直接返回成交或过期拒绝结果。
STOP_MARKET, TAKE_PROFIT_MARKET 配合 closePosition=true:
条件单触发依照上述条件单触发逻辑
条件触发后,平掉当时持有所有多头仓位(若为卖单)或当时持有所有空头仓位(若为买单)
不支持 quantity 参数
自带只平仓属性不支持reduceOnly参数
双开模式下,LONG方向上不支持BUY; SHORT 方向上不支持SELL
响应示例
{
"id": "3f7df6e3-2df4-44b9-9919-d2f38f90a99a",
"status": 200,
"result": {
"orderId": 325078477,
"symbol": "BTCUSDT",
"status": "NEW",
"clientOrderId": "iCXL1BywlBaf2sesNUrVl3",
"price": "43187.00",
"avgPrice": "0.00",
"origQty": "0.100",
"executedQty": "0.000",
"cumQty": "0.000",
"cumQuote": "0.00000",
"timeInForce": "GTC",
"type": "LIMIT",
"reduceOnly": false,
"closePosition": false,
"side": "BUY",
"positionSide": "BOTH",
"stopPrice": "0.00",
"workingType": "CONTRACT_PRICE",
"priceProtect": false,
"origType": "LIMIT",
"priceMatch": "NONE",
"selfTradePreventionMode": "NONE",
"goodTillDate": 0,
"updateTime": 1702555534435
},
"rateLimits": [
{
"rateLimitType": "ORDERS",
"interval": "SECOND",
"intervalNum": 10,
"limit": 300,
"count": 1
},
{
"rateLimitType": "ORDERS",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 1200,
"count": 1
},
{
"rateLimitType": "REQUEST_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 2400,
"count": 1
}
]
}
查询订单
查询订单 (USER_DATA)
接口描述
查询订单状态
请注意,如果订单满足如下条件,不会被查询到:
订单的最终状态为 CANCELED 或者 EXPIRED 并且 订单没有任何的成交记录 并且 订单生成时间 + 3天 < 当前时间
订单创建时间 + 90天 < 当前时间
方式
order.status
请求
{
"id": "0ce5d070-a5e5-4ff2-b57f-1556741a4204",
"method": "order.status",
"params": {
"apiKey": "HMOchcfii9ZRZnhjp2XjGXhsOBd6msAhKz9joQaWwZ7arcJTlD2hGPHQj1lGdTjR",
"orderId": 328999071,
"symbol": "BTCUSDT",
"timestamp": 1703441060152,
"signature": "ba48184fc38a71d03d2b5435bd67c1206e3191e989fe99bda1bc643a880dfdbf"
}
}
请求权重
1
请求参数
名称 类型 是否必需 描述
symbol STRING YES 交易对
orderId LONG NO 系统订单号
origClientOrderId STRING NO 用户自定义的订单号
recvWindow LONG NO
timestamp LONG YES
注意:
至少需要发送 orderId 与 origClientOrderId中的一个
orderId在symbol维度是自增的
响应示例
{
"avgPrice": "0.00000", // 平均成交价
"clientOrderId": "abc", // 用户自定义的订单号
"cumQuote": "0", // 成交金额
"executedQty": "0", // 成交量
"orderId": 1573346959, // 系统订单号
"origQty": "0.40", // 原始委托数量
"origType": "TRAILING_STOP_MARKET", // 触发前订单类型
"price": "0", // 委托价格
"reduceOnly": false, // 是否仅减仓
"side": "BUY", // 买卖方向
"positionSide": "SHORT", // 持仓方向
"status": "NEW", // 订单状态
"stopPrice": "9300", // 触发价,对`TRAILING_STOP_MARKET`无效
"closePosition": false, // 是否条件全平仓
"symbol": "BTCUSDT", // 交易对
"time": 1579276756075, // 订单时间
"timeInForce": "GTC", // 有效方法
"type": "TRAILING_STOP_MARKET", // 订单类型
"activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
"priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
"updateTime": 1579276756075, // 更新时间
"workingType": "CONTRACT_PRICE", // 条件价格触发类型
"priceProtect": false // 是否开启条件单触发保护
}
条件单下单 (TRADE)
接口描述
条件单下单
方式
algoOrder.place
请求
{
"id": "7731f6b5-8d5e-419c-a424-016b0a5fe8d7",
"method": "algoOrder.place",
"params": {
"algoType": "CONDITIONAL",
"apiKey": "autoApiKey7mM4kPWaRuTUypdTEZKG8U8tDjO64xdBJBrmE1nXU2XSwdxGPyXcYx",
"newOrderRespType": "RESULT",
"positionSide": "SHORT",
"price": "160000",
"quantity": "1",
"recvWindow": "99999999",
"side": "SELL",
"symbol": "BTCUSDT",
"timeInForce": "GTC",
"timestamp": 1762506268690,
"triggerprice": 120000,
"type": "TAKE_PROFIT",
"signature": "ec6e529c69fd8193b19484907bc713114eae06259fcab9728dafd5910f9cac5a"
}
}
请求权重
0
请求参数
名称 类型 是否必需 描述
algoType ENUM YES 仅支持 CONDITIONAL
symbol STRING YES 交易对
side ENUM YES 买卖方向 SELL, BUY
positionSide ENUM NO 持仓方向单向持仓模式下非必填默认且仅可填BOTH;在双向持仓模式下必填,且仅可选择 LONG 或 SHORT
type ENUM YES 条件订单类型 STOP, TAKE_PROFIT, STOP_MARKET, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET
timeInForce ENUM NO IOC or GTC or FOK, 默认 GTC
quantity DECIMAL NO 下单数量,使用closePosition不支持此参数。
price DECIMAL NO 委托价格
triggerPrice DECIMAL NO 触发价
workingType ENUM NO 触发类型: MARK_PRICE(标记价格), CONTRACT_PRICE(合约最新价). 默认 CONTRACT_PRICE
priceMatch ENUM NO OPPONENT/ OPPONENT_5/ OPPONENT_10/ OPPONENT_20/QUEUE/ QUEUE_5/ QUEUE_10/ QUEUE_20不能与price同时传
closePosition STRING NO true, false触发后全部平仓仅支持STOP_MARKET和TAKE_PROFIT_MARKET不与quantity合用自带只平仓效果不与reduceOnly 合用
priceProtect STRING NO 条件单触发保护:"TRUE","FALSE", 默认"FALSE".
reduceOnly STRING NO true, false; 非双开模式下默认false双开模式下不接受此参数 使用closePosition不支持此参数。
activatePrice DECIMAL NO 追踪止损激活价格仅TRAILING_STOP_MARKET 需要此参数, 默认为下单当前市场价格(支持不同workingType)
callbackRate DECIMAL NO 追踪止损回调比例,可取值范围[0.1, 10],其中 1代表1% ,仅TRAILING_STOP_MARKET 需要此参数
clientAlgoId STRING NO 用户自定义的条件订单号,不可以重复出现在挂单中。如空缺系统会自动赋值。必须满足正则规则 ^[\.A-Z\:/a-z0-9_-]{1,36}$
newOrderRespType ENUM NO "ACK", "RESULT", 默认 "ACK"
selfTradePreventionMode ENUM NO EXPIRE_TAKER/ EXPIRE_MAKER/ EXPIRE_BOTH 默认NONE
goodTillDate LONG NO TIF为GTD时订单的自动取消时间 当timeInforce为GTD时必传传入的时间戳仅保留秒级精度毫秒级部分会被自动忽略时间戳需大于当前时间+600s且小于253402300799000
recvWindow LONG NO
timestamp LONG YES
条件单的触发必须:
如果订单参数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
TRAILING_STOP_MARKET 跟踪止损单:
买入: 当合约价格/标记价格区间最低价格低于激活价格activatePrice,且最新合约价格/标记价高于等于最低价设定回调幅度。
卖出: 当合约价格/标记价格区间最高价格高于激活价格activatePrice,且最新合约价格/标记价低于等于最高价设定回调幅度。
TRAILING_STOP_MARKET 跟踪止损单如果遇到报错 {"code": -2021, "msg": "Order would immediately trigger."}
表示订单不满足以下条件:
买入: 指定的activatePrice 必须小于 latest price
卖出: 指定的activatePrice 必须大于 latest price
STOP_MARKET, TAKE_PROFIT_MARKET 配合 closePosition=true:
条件单触发依照上述条件单触发逻辑
条件触发后,平掉当时持有所有多头仓位(若为卖单)或当时持有所有空头仓位(若为买单)
不支持 quantity 参数
自带只平仓属性不支持reduceOnly参数
双开模式下,LONG方向上不支持BUY; SHORT 方向上不支持SELL
selfTradePreventionMode 仅在 timeInForce为IOC或GTC或GTD时生效.
响应示例
{
"id": "06c9dbd8-ccbf-4ecf-a29c-fe31495ac73f",
"status": 200,
"result": {
"algoId": 3000000000003505,
"clientAlgoId": "0Xkl1p621E4EryvufmYre1",
"algoType": "CONDITIONAL",
"orderType": "TAKE_PROFIT",
"symbol": "BTCUSDT",
"side": "SELL",
"positionSide": "SHORT",
"timeInForce": "GTC",
"quantity": "1.000",
"algoStatus": "NEW",
"triggerPrice": "120000.00",
"price": "160000.00",
"icebergQuantity": null,
"selfTradePreventionMode": "EXPIRE_MAKER",
"workingType": "CONTRACT_PRICE",
"priceMatch": "NONE",
"closePosition": false,
"priceProtect": false,
"reduceOnly": false,
"createTime": 1762507264142,
"updateTime": 1762507264143,
"triggerTime": 0,
"goodTillDate": 0
},
"rateLimits": [
{
"rateLimitType": "REQUEST_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 2400,
"count": 1
}
]
}