Практика торговли
Почему ордера торгового робота отклоняются: порядок диагностики

Подключённый торговый робот не обязательно может исполнить подготовленную заявку. Авторизация работает, котировки меняются, но следующий запрос нарушает правило цены, объёма, маржи или торговой сессии. Если сразу менять стратегию, можно скрыть настоящую причину.
Полезная диагностика начинается с ответа на один конкретный запрос. В качестве документированного примера здесь используется MetaTrader 5. Названия сообщений в другой программе могут отличаться. Все числовые примеры учебные и не предлагают увеличить объём или изменить допустимый риск.
Для отклонённой заявки нужна конкретная причина. При неопределённом ответе сначала выясняют состояние исходного ордера.
«Нет сигнала» и «ордер отклонён» — разные ситуации
Фраза «робот не торгует» описывает наблюдение. Она может означать отсутствие условия входа, паузу стратегии, отсутствие отправленного запроса, отказ сервера или исполнение, которое не видно на открытом пользователем экране.
Выберите небольшой интервал времени и событие, которое можно найти в журнале. Запишите намерение программы, факт отправки и полученный ответ. Скриншот пустого списка позиций сам по себе этого не показывает.
Для запросов MT5 MetaQuotes публикует коды торгового сервера: например, неверный объём 10014, цена 10015, стопы 10016, закрытый рынок 10018, нехватка средств 10019 и слишком частые запросы 10024. Код сужает круг поиска, но не объясняет необходимость менять посторонние настройки.
Минимальный набор данных для проверки
Поле | Что сохранить |
|---|---|
Время | Точный момент и часовой пояс |
Среда | Версия программы, сервер, демо или реальный счёт, режим учёта |
Инструмент | Полный символ с суффиксом |
Запрос | Направление, объём, тип ордера, цена, SL и TP |
Ответ | Код, полный текст, идентификатор заявки или ордера |
Состояние счёта | Позиции, отложенные заявки, относящиеся к событию сведения о марже |
Оригинал сохраните у себя, а для поддержки подготовьте копию без паролей, API-ключей и других секретов. Не заменяйте точное сообщение пересказом «ошибка подключения». Разница между отказом и отсутствием ответа определяет дальнейшие действия.
MT5 разделяет журнал экспертов и журнал платформы; старые записи доступны в файлах. Расположение и смысл временных отметок разобраны в официальном руководстве по журналам. Если робот работает отдельной программой, понадобится и её журнал.
Пример invalid volume: минимум соблюдён, шаг — нет
Пусть для условного инструмента минимальный объём равен 0,10 лота, а допустимый шаг — тоже 0,10. Заявка 0,15 больше минимума, но не попадает в допустимую сетку. Проверка «достаточно большой объём» — только одно из условий.
Объём | Минимум | Шаг | Результат проверки |
|---|---|---|---|
0,05 | Не соблюдён | Не соблюдён | Ниже условного минимума |
0,15 | Соблюдён | Не соблюдён | Не соответствует шагу 0,10 |
0,20 | Соблюдён | Соблюдён | Пройдены только эти две проверки |
Из таблицы не следует рекомендация торговать 0,20. Увеличение объёма ради исчезновения ошибки меняет экспозицию. Правильным решением может быть пропуск сделки либо подбор подходящего инструмента и конфигурации после проверки. Даже корректный шаг не отменяет максимальный объём, суммарные ограничения и требования к марже.
В свойствах символа MQL5 отдельно описаны минимум, максимум и шаг объёма, ценовые параметры и ограничения стопов. Берите значения из спецификации именно вашего инструмента, а не копируйте условия другого брокера.
Пример invalid stops: проверка расстояния
Рассмотрим упрощённый учебный случай: нужная текущая опорная цена равна 1,10000, один пункт равен 0,00001, минимальная дистанция — 30 пунктов. Предложенный защитный уровень 1,09980 находится всего в 20 пунктах. В этой модели условие расстояния не выполнено.
Это демонстрация способа проверки, а не универсальная формула для любого ордера. Нужно определить правильную сторону котировки, тип поручения, допустимое направление уровня и текущие ограничения. Сравнение со старой ценой на скриншоте может оказаться неверным, если котировка изменилась до проверки запроса сервером.
Не устраняйте ошибку простым удалением защиты или расширением стопа без оценки последствий. Сохраните запрос, установите нарушенное условие и выясните, может ли нужная конфигурация ему соответствовать. Неверная единица измерения или неожиданная опорная цена — повод разбирать интеграцию.
Как выбрать следующее действие по ответу
Неверная цена или стопы: сопоставьте отправленные значения, актуальную котировку и спецификацию; проверьте единицы и символ.
Неверный объём: отдельно проверьте минимум, максимум, шаг и ограничения суммарной позиции.
Недостаточно средств: изучите требования к марже и уже существующие обязательства; одного показателя баланса недостаточно.
Рынок закрыт: проверьте сессию инструмента, время сервера и праздники.
Торговля запрещена: различайте разрешения счёта, настройки автоматизации платформы и состояние программы.
Слишком много запросов: сначала найдите источник повторений, а не увеличивайте их количество.
При подключении к криптобирже подход аналогичен, но названия правил другие. Материал о tick size, step size и минимальном номинале объясняет, почему количество и стоимость заявки проверяются отдельно.
Тайм-аут не разрешает отправлять ордер повторно
Однозначный отказ и неопределённый результат — разные случаи. Если приложение не дождалось ответа, состояние счёта всё равно могло измениться. Слепое повторение инструкции способно создать лишнюю сделку.
По идентификатору запроса или ордера проверьте историю и открытые заявки на стороне брокера. Установите, существует ли исходное поручение и что с ним произошло. Порядок восстановления должен соответствовать конкретному подключению и программе. Не заменяйте его многократным нажатием торговой кнопки.
В чек-листе восстановления порядок такой: подключиться, сверить состояние, проверить конфигурацию, затем продолжать. Аудит исполнения помогает разделить отправку, подтверждение и фактическую сделку.
Что отправить в поддержку
Одним предложением опишите ожидаемое поведение.
Укажите интервал времени, версию и точный символ.
Приложите запрос и полный ответ, удалив секреты.
Добавьте спецификацию инструмента и режим счёта.
Назовите последнее изменение настроек, если оно было.
Сообщите, воспроизводилось ли событие в подходящей тестовой среде.
Во время диагностики меняйте по одному параметру. Иначе успешная следующая заявка не объяснит, что помогло. Не удаляйте неудачный пример: плавающие ошибки сложнее разбирать, когда журнал уже перезаписан.
Как применять это к NH PRO
Сначала проверьте подключение по руководству NH PRO. Видео в статье показывает общую настройку продукта. Примеры кодов взяты из документации платформы и не означают, что интерфейс NH PRO выводит буквально такие же экраны.
Готовые настройки для брокеров и инструментов, а также помощь менеджера входят в полную комплектацию NH PRO. Однократное ознакомление за $500 на один месяц содержит только робот и инструкцию: без списка брокеров, готовых настроек и помощи по настройке прибыльной торговли. Условия сравнения доступны на странице продукта.
Короткие ответы
Работающий поток котировок подтверждает возможность сделки?
Нет. Рыночные данные и права на торговлю — разные части подключения. Актуальная котировка не отменяет ограничений счёта.
Нужно повторять заявку, пока она не пройдёт?
Нет. Сначала различите отказ и неизвестный результат, затем примените документированную процедуру.
Можно перенести настройки на другой счёт MT5?
Только после проверки сервера, символа и режима хеджинга или неттинга. Общее название платформы не делает счета взаимозаменяемыми.
Видео по теме
Открыть связанное видео на YouTube
Больше статей





