Неожиданная процентная ошибка цены Binance для определенных символов

У меня неожиданная ошибка API Binance при попытке отправить ордер на ETHUSDT. Ошибка выглядит стандартно:

      {'code': -1013, 'msg': 'Filter failure: PERCENT_PRICE'}

Я передаю среднюю цену, полученную секунду назад с помощью функций тикера цены символа API. Моя функция заказа выглядит так:

      params = {
    "symbol": "ETHUSDT",
    "side": "BUY",
    "type": "LIMIT",
    "quantity" : 0.1,
    "timeInForce" : "GTC",
    "price" : 3391, #A price from GET /api/v3/ticker/price
    "recvWindow" : 40000
}

response = send_signed_request('POST', '/api/v3/order', params)
print(response)

Но при прохождении цены в десять раз ниже ордер завершается без ошибок. Кроме того, другие символы также не вызывают ошибок, используя тот же конвейер. Что я делаю неправильно? Похоже на ошибку, но не знаю, куда ее отправить.

Любой совет будет оценен по достоинству!

1 ответ

Ожидается, что количество и цена будут в определенном строковом формате для согласованной работы. Документация Binance по этому поводу находится здесь .

Вы можете использовать этот синтаксис для применения форматирования:

      amt_str = "{:0.0{}f}".format(amount, precision)

Обратите внимание, что precision в этом примере - целое число, а не размер шага.

Другие вопросы по тегам