BingX API设置Trailing Stop失败,报100400参数无效错误求助
BingX API 追踪止损(Trailing Stop)设置失败问题
我已成功在BingX API中配置止盈(Take Profit)和止损(Stop Loss),但无法正确设置追踪止损(Trailing Stop)。尝试先下单再通过订单ID配置追踪止损,操作失败;更倾向于下单时直接设置,但收到错误信息:
{'code': 100400, 'msg': 'arguments invalid', 'timestamp': 1732693212045}
以下是我使用的追踪止损设置函数代码:
def set_trailing_stop(order_id, symbol, trailing_callback_rate, activation_price, side, positionSide): try: if not all([order_id, symbol, trailing_callback_rate, activation_price, side, positionSide]): raise ValueError("追踪止损参数无效。") # 参数转换与校验 activation_price = round(float(activation_price), 2) # 保留两位小数 trailing_callback_rate = str(round(float(trailing_callback_rate), 2)) # 转为字符串 paramsMap = { "symbol": symbol.replace("/", "-"), "orderId": str(order_id), "callbackRate": trailing_callback_rate, "activationPrice": str(activation_price), "side": side, "positionSide": positionSide, "type": "TRAILING_STOP_MARKET", # 订单类型 "workingType": "CONTRACT_PRICE", # 合约价格类型 "reduceOnly": "false" # 不限定减仓 } logger.info(f"设置追踪止损参数: {paramsMap}") # 发送请求 response = send_request("POST", "/openApi/swap/v2/trade/order/trailingStop", paramsMap) response_data = json.loads(response) if response_data.get('code') == 0: logger.info(f"订单 {order_id} ({symbol}) 追踪止损设置成功.") else: logger.error(f"追踪止损设置失败: {response_data}") send_telegram_message(f"❌ 追踪止损设置失败: {response_data}") except Exception as e: logger.error(f"追踪止损设置异常: {str(e)}") send_telegram_message(f"❌ 追踪止损设置异常: {str(e)}")
可能的问题排查点
- 参数格式错误:
callbackRate:BingX API要求该参数为数字类型,当前代码转为了字符串,尝试直接传入浮点数值。activationPrice:同样需传入数值类型而非字符串,去掉转字符串的操作。reduceOnly:API要求该参数为布尔值(小写的true/false),而非字符串"false"。
- 订单状态不匹配:确保原订单已成交(filled),未成交订单无法绑定追踪止损。
- 权限验证:检查API密钥是否具备合约交易权限,权限不足可能触发参数无效的错误提示。
- 符号格式核对:确认转换后的
symbol格式完全符合BingX要求(如BTC-USDT)。
内容的提问来源于stack exchange,提问作者Andrey
相关产品推荐
相关产品推荐

