Binance Spot проверяет ордер по фильтрам конкретного symbol. Цена может не попадать в tickSize, количество — в stepSize, а итоговая сумма — не проходить минимум. Эти правила не являются универсальными для всех пар и способны меняться, поэтому при диагностике используй актуальные exchangeInfo, а не сохранённый однажды набор чисел.
Четыре проверки до повторной отправки
Официальная документация Binance описывает PRICE_FILTER с min/max price и шагом tickSize; LOT_SIZE ограничивает min/max quantity и stepSize; MIN_NOTIONAL проверяет произведение цены и количества с отдельными оговорками для market orders (filters Binance Spot API). NOTIONAL — другой фильтр: он может задавать и нижнюю, и верхнюю границу суммы ордера (minNotional/maxNotional), с отдельными флагами применения к market orders. Это не синоним одного MIN_NOTIONAL. Есть и другие ограничения — рыночный размер лота, процентный диапазон и число ордеров. Ошибка API указывает, какое условие нарушено; не исправляй все поля наугад.
| Поле | Что проверить | Пример условия |
|---|---|---|
tickSize |
Цена кратна допустимому шагу | 101.03 не кратно 0.05 |
stepSize |
Количество кратно шагу лота | 0.123 не кратно 0.01 |
minQty / maxQty |
Размер внутри границ | Проверить после округления |
minNotional |
Цена × количество соответствует минимуму | Уточнить настройки market order |
Разбери учебную ошибку
Пусть API вернул для условной пары tickSize=0.05, stepSize=0.01, minQty=0.01. Клиент отправляет цену 101.03 и количество 0.123. Цена не попадает на шаг 0.05; количество не кратно 0.01. Для цены соседние допустимые значения — 101.00 и 101.05; для количества — 0.12 и 0.13. Это только шаги сетки: прохождение min/max quantity и notional надо проверять после выбора, на текущих фильтрах symbol. Не выбирай направление округления за пользователя. Изменение цены или размера меняет сам ордер и его денежный результат.
Не округляй вверх автоматически, чтобы преодолеть MIN_NOTIONAL: это может увеличить покупку или продажу. Сначала прочитай сообщение API и фильтры symbol в момент отправки, затем пересчитай сумму после любого округления. Для market order ориентируйся на конкретное поле и параметр фильтра, а не на limit-order допущения.
Попроси ИИ выдать таблицу: поле, текущее значение, правило биржи, расчёт нарушения и неизвестные данные. Передай ему фильтры и текст ошибки, но не API secret. Ответ должен быть диагностикой формата заявки, не сигналом совершать сделку. Для базовых понятий торговой площадки есть гид по биржам и основы криптотрейдинга.
