使用pybit调用Bybit API下单时提示缺少必填参数'type'
解决Bybit API InvalidRequestError: Missing required parameter 'type'问题
两种解决方案(对应不同交易品类)
1. 若你操作的是现货(Spot)
你当前调用的place_active_order是Bybit合约类产品的下单方法,现货交易需要使用现货专用的spot_new_order方法,同时注意现货API的参数细节(比如time_in_force用缩写GTC而非GoodTillCancel):
session.spot_new_order( symbol="BTCUSDT", qty=BTCsell_qty, side="Sell", order_type="Limit", time_in_force="GTC", price=BTCMarketPrice )
2. 若你操作的是合约(如USDT永续合约)
合约接口的订单类型参数名是type而非order_type,修改参数名即可:
session.place_active_order( symbol="BTCUSDT", qty=BTCsell_qty, side="Sell", type="Limit", time_in_force="GoodTillCancel", price=BTCMarketPrice )
问题原因
- 如果你是做现货却调用了合约方法,就会出现合约接口要求的
type参数缺失的错误(因为你看的是现货文档,自然找不到这个参数); - 如果你是做合约,只是参数名用错了——合约接口要求的是
type,而你传的是order_type,导致参数不匹配。
内容的提问来源于stack exchange,提问作者Eli Bain
相关产品推荐
相关产品推荐

