首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python-Binance api: APIError(code=-1013):过滤失败: LOT_SIZE

python-Binance api: APIError(code=-1013):过滤失败: LOT_SIZE
EN

Stack Overflow用户
提问于 2020-05-04 07:18:48
回答 9查看 24.5K关注 0票数 8

当尝试使用python-binance api进行买入或卖出订单时,我得到了以下错误:

代码语言:javascript
运行
复制
APIError(code=-1013): Filter failure: LOT_SIZE.

现在我在iceberg看到,这意味着我的买卖数量可能有问题。我试图将数量增加10倍,但这只会给我带来另一个相关的错误:

代码语言:javascript
运行
复制
APIError(code=-1013): Filter failure: MIN_NOTIONAL.

下面是我的一些代码:

代码语言:javascript
运行
复制
diff = current_price - prev_price
if diff <= 0.0001:
    order = client.order_market_buy(symbol = market , quantity = '0.0001')
    print('buy order')

if diff >= 0.00040:
    order = client.order_market_sell(symbol =market, quantity ='0.0001')
    print('sell order')

你知道怎么解决这个问题吗?

EN

回答 9

Stack Overflow用户

发布于 2020-07-06 18:03:48

出现此错误的原因是您尝试创建的订单数量低于所需的最低数量。

您可以使用以下命令访问特定配对所需的最低要求:

代码语言:javascript
运行
复制
info = client.get_symbol_info('ETHUSDT')
print(info)

输出一个字典,其中包含有关该对的信息。现在,您可以使用以下命令访问所需的最小数量:

代码语言:javascript
运行
复制
print(info['filters'][2]['minQty'])
# 0.00001
票数 16
EN

Stack Overflow用户

发布于 2021-05-19 16:06:21

我刚刚经历了同样的问题。作为新手,这些答案中的一些代码似乎相当复杂,所以我想出了一个解决方案。

代码:

代码语言:javascript
运行
复制
def check_decimals(symbol):
    info = client.get_symbol_info(symbol)
    val = info['filters'][2]['stepSize']
    decimal = 0
    is_dec = False
    for c in val:
        if is_dec is True:
            decimal += 1
        if c == '1':
            break
        if c == '.':
            is_dec = True
    return decimal

然后在下单时,只需执行ex:(确保qty是浮点型或小数型)

代码语言:javascript
运行
复制
  B_order = round(qty / symbol_price, decimal)
  order = client.order_market_buy(
            symbol=symbol_name,
            quantity=B_order)
票数 5
EN

Stack Overflow用户

发布于 2020-10-08 00:54:50

购买或出售数量必须是>= 10.3USD或10.3 /价格,将数量和价格传递给这些小数设置/过滤器,并使用小数设置的金额

代码语言:javascript
运行
复制
from decimal import Decimal as D, ROUND_DOWN, ROUND_UP
import decimal

info = client.get_symbol_info(symbol=pair)
price_filter = float(info['filters'][0]['tickSize'])
ticker = client.get_symbol_ticker(symbol=pair)
price = float(ticker['price'])
price = D.from_float(price).quantize(D(str(price_filter)))
minimum = float(info['filters'][2]['minQty']) # 'minQty'
quant = D.from_float(quantity).quantize(D(str(minimum))) # if quantity >= 10.3/price
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61582902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档