Ощущение поражения: APIError(code=-1111): точность превышает максимальное значение, определенное для этого актива.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ощущение поражения: APIError(code=-1111): точность превышает максимальное значение, определенное для этого актива.

Сообщение Anonymous »

Я следую последним спецификациям для Step_size и Ticket_size в соответствии с конечной точкой биржевой информации BTCUSDT:

Код: Выделить всё

"BTCUSDT": {
"step_size": "0.00001",
"tick_size": "0.01"
},
И даже делая все по документации, я все равно получаю следующую ошибку:

Код: Выделить всё

APIError(code=-1111): Precision is over the maximum defined for this asset.
У меня действительно нет выбора. Я создаю торговых ботов с помощью Binance API с 2020 года и так и не нашел четкого решения этой проблемы. Только временные исправления, которые по какой-либо причине в конечном итоге терпят неудачу, даже если данные обмена не изменились.
Это функции, которые я сейчас использую для усечения цены и количества перед созданием бинанса. ордер (который работает для многих других пар, таких как VETUSDT):

Код: Выделить всё

def __get_trimmed_quantity(self, quantity):
self.logger.log("untrimmed qty: ", quantity)
quantity_dec = Decimal(str(quantity))
step_size_dec = Decimal(str(self.step_size))
trimmed_quantity_dec = quantity_dec.quantize(step_size_dec)
trimmed_quantity = float(trimmed_quantity_dec)
return trimmed_quantity

def __get_trimmed_price(self, price):
self.logger.log("untrimmed price: ", price)
price_dec = Decimal(str(price))
tick_size_dec = Decimal(str(self.tick_size))
trimmed_price_dec = price_dec.quantize(tick_size_dec)
trimmed_price = float(trimmed_price_dec)
return trimmed_price
Здесь вы можете увидеть журналы, которые привели к ошибке. Вы можете убедиться, что заказ имеет правильную сокращенную цену и количество.

Код: Выделить всё

untrimmed qty:  0.28760622
untrimmed price:  26193.02
Order to create (binance):  {'side': 'SELL', 'positionSide': 'SHORT', 'type': 'LIMIT', 'timeInForce': 'GTC', 'quantity': 0.28761, 'price': 26193.02, 'newClientOrderId': '35021e7298b34c838f0b64e291ead9e1'}
__create_order_to_open_position: Binance order creation failed:  APIError(code=-1111): Precision is over the maximum defined for this asset.
Все, что мне нужно, — это выполнение приказа. Я сделаю все, что ты мне скажешь. Дайте мне функцию, в которую я могу передать количество и цену, и она выдаст правильные усеченные значения. Мне все равно, как это будет сделано. Я просто хочу, чтобы это работало. Пожалуйста.
Может ли кто-нибудь заметить, что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/769 ... defined-fo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»