ByBit API返回Qty invalid(10001)参数错误求助
ByBit API下单Qty无效问题排查与解决建议
订单详情
order_id=None symbol='BTCUSDT' order_type='Limit' side='Buy' price=26050.0 qty=0.002876 take_profit=26080.0 stop_loss=26040.0 time_in_force='GTC' reduce_only=None leverage=2 percentage=100
返回错误信息
params error: Qty invalid (ErrCode: 10001) (ErrTime: 13:43:23). Request → POST https://api.bybit.com/v5/order/create: {"category": "linear", "symbol": "BTCUSDT", "side": "Buy", "orderType": "Limit", "qty": "0.002876", "price": "26050.0", "timeInForce": "GTC", "reduceOnly": false, "closeOnTrigger": false, "takeProfit": "26080.0", "tpTriggerBy": "LastPrice", "stopLoss": "26040.0", "slTriggerBy": "LastPrice", "positionIdx": 0}. INFO: 84.194.82.153:52266 - "POST /bybit/futures/order/limit HTTP/1.1" 500 Internal Server Error
问题背景
突然出现数量参数无效错误,但所有内容填写无误。手动在ByBit平台下单可正常执行,仅API调用时出现该问题,需解决此参数校验失败问题。
排查与解决方法
- 校验数量精度与范围:ByBit对BTCUSDT线性合约的下单数量有严格规格限制,需确保qty符合
lotSizeFilter要求:- 确认
minOrderQty(最小下单量)、qtyStep(下单步长),可通过平台合约信息页面或/v5/market/instrument-info接口获取最新数据。0.002876可能不符合步长要求,尝试调整为符合步长的数值(如0.0029或0.0028)。
- 确认
- 修改参数数据类型:API请求中qty以字符串格式传入,部分场景下平台要求数值类型。尝试将qty改为数字格式(而非带引号的字符串)提交请求。
- 确认保证金充足性:当前杠杆为2,计算所需保证金:
保证金 = qty * 价格 / 杠杆,确保账户可用资金≥该金额。手动下单时平台会自动校验额度,但API调用前需自行确认资金是否足够。 - 检查参数配置一致性:确认
positionIdx(持仓模式)、reduceOnly等参数与账户当前设置匹配,比如单向持仓模式下positionIdx需设为0,双向模式下需对应多空方向。 - 测试简化请求:先去掉take_profit、stop_loss等非必填参数,仅提交核心参数(symbol、side、orderType、qty、price)测试,排除其他参数干扰。
内容的提问来源于stack exchange,提问作者Stephan De Haes
相关产品推荐
相关产品推荐

