Python Binance API创建止损限价单报错:stopPrice参数不被识别
Python调用Binance API创建止损限价单时
stopPrice参数报错的解决方案 你遇到的create_order() got an unexpected keyword argument 'stopPrice'错误,是因为当前使用的API封装库已更新参数规则,旧文档的stopPrice参数不再适用,以下分两种常用库给出解决方案:
1. 使用python-binance官方库
新版本的python-binance遵循PEP8规范,调整了参数命名和必填项:
- 触发价参数改为下划线分隔的
stop_price - 下单数量参数从
amount改为quantity - 订单类型需使用全大写字符串(如
"STOP_LOSS_LIMIT") - 止损限价单必须指定
timeInForce参数(如"GTC"表示取消前有效)
修改后的代码示例:
exchange.create_order( symbol=symbol, type="STOP_LOSS_LIMIT", side="BUY", quantity=position, price=stop_loss_price, stop_price=stop_loss_price, timeInForce="GTC" )
2. 使用ccxt库
如果是ccxt版本过旧导致参数不识别,先更新库:
pip install --upgrade ccxt
若更新后仍有问题,可通过params字典传递触发价参数:
exchange.create_order( symbol=symbol, type="stop_loss_limit", side="buy", amount=position, price=stop_loss_price, params={ 'stopPrice': stop_loss_price } )
核心原因
不同版本的API封装库会调整参数命名风格(如驼峰式转下划线),旧文档未同步更新导致参数不匹配,优先检查当前使用库的最新官方参数说明。
内容的提问来源于stack exchange,提问作者Jake Veenstra
相关产品推荐
相关产品推荐

