下单 (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 } ] }