Неожиданная процентная ошибка цены 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
в этом примере - целое число, а не размер шага.