在使用 python-binance
库下期货市场订单时,如果遇到 APIError(代码=-1111)
错误,通常是因为订单的精度超过了为此资产定义的最大精度。以下是解决这个问题的详细步骤和相关概念:
python-binance
库获取资产的精度信息。from binance.client import Client
client = Client(api_key, api_secret)
# 获取BTCUSDT的精度信息
symbol = 'BTCUSDT'
info = client.futures_exchange_info()
precision = next(item for item in info['symbols'] if item['symbol'] == symbol)['filters'][1]['stepSize']
print(f"Precision for {symbol}: {precision}")
from binance.client import Client
client = Client(api_key, api_secret)
symbol = 'BTCUSDT'
price = 50000.000001 # 确保价格符合精度要求
quantity = 0.001 # 确保数量符合精度要求
order = client.futures_create_order(
symbol=symbol,
side=Client.SIDE_BUY,
type=Client.ORDER_TYPE_LIMIT,
timeInForce=Client.TIME_IN_FORCE_GTC,
quantity=quantity,
price=str(price) # 注意价格需要转换为字符串
)
print(order)
通过以上步骤,可以确保在下单时订单的价格和数量符合资产的精度要求,从而避免 APIError(代码=-1111)
错误。
领取专属 10元无门槛券
手把手带您无忧上云