Кальтер / Блог

Почему Binance Spot отклоняет ордер: tickSize, stepSize и MIN_NOTIONAL

Проверяем PRICE_FILTER, LOT_SIZE и notional по актуальным фильтрам пары и диагностируем ошибку без изменения торгового решения.

Материал подготовлен с помощью ИИ. Источники, учебные примеры и расчёты проверены редакцией перед публикацией.

Условная проверка Binance Spot symbol filters; конкретные лимиты берутся из актуальных данных пары, здесь значений нет.
Условная проверка Binance Spot symbol filters; конкретные лимиты берутся из актуальных данных пары, здесь значений нет.

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. Ответ должен быть диагностикой формата заявки, не сигналом совершать сделку. Для базовых понятий торговой площадки есть гид по биржам и основы криптотрейдинга.