首页 > 解决方案 > python Binance:APIError(code = -1013):过滤器失败:LOT_SIZE

问题描述

当我尝试使用 python binance api 创建限价单时,我总是收到 LOT_SIZE 错误。我尝试了不同的参数,但结果始终相同(例如,我检查了最小数量、参数类型或钱包中的硬币可用性)。以下代码是交易订单的示例。

order = client.create_order(
  symbol="XLMBUSD",
  side=Client.SIDE_BUY,
  type=Client.ORDER_TYPE_LIMIT,
  timeInForce=Client.TIME_IN_FORCE_GTC,
  quantity="%.8f" % round(105.25651, 8),
  price="0.47593000")

我认为是小数位数引起的问题,而不是时区问题。如果有人有一些想法或建议,欢迎:)

标签: pythonbotscryptoapicryptocurrencybinance

解决方案


我曾经得到同样的错误。您认为这是由小数位数引起的,这是正确的。为了解决这个问题,我使用了以下代码:

    def precision_step():
        sym_info = client.get_symbol_info(TICKER)
        filters = sym_info['filters']
        for f in filters:
            if f['filterType'] == 'LOT_SIZE':
                step_size = float(f['stepSize'])
                precision = int(round(-math.log(step_size, 10), 0))
                return precision

在您的情况下,TICKER 将是“XLMBUSD”。此函数返回创建订单时允许的小数位数。


推荐阅读