🔍 Диагностика
  • Проверьте автоторговлю.
  • Сверьте символ и таймфрейм.
  • Загляните в журнал терминала.

Вторник, 11:40. Советник на графике EURUSD, в углу зелёная надпись AutoTrading, последняя сделка была в пятницу. Открываю журнал экспертов, а там пусто.

Похоже, он не то что не торговал. Он даже не запускался. Давайте разберём пять причин, из-за которых советник молчит, и то, как проверить каждую.

1. Кнопка, которую все забывают

AutoTrading в терминале и разрешение на торговлю в свойствах советника - разные вещи. Первое включает общую кнопку, второе разрешает конкретному эксперту отправлять ордера. Зелёная кнопка при выключенном разрешении даёт ровно то, что вы видите: советник работает, но не торгует.

Проверка: правый клик по графику, «Свойства», вкладка «Общие», галочка «Разрешить автоматическую торговлю». После включения советник нужно перезапустить: часть экспертов читает разрешение только при инициализации.

2. Не тот символ или таймфрейм

В коде прописан EURUSD, а советник висит на GBPUSD. Или стратегия рассчитана на H1, а график стоит на M1: советник получает тики, но условия входа никогда не выполняются.

Проверка: в журнале экспертов при инициализации видно символ и период. Если там не то, что вы ждали, дальше искать бессмысленно.

3. Торговый поток стоит

Если в «Обзоре рынка» нет символа, тики не приходят, и функция OnTick никто не вызывает. Советник молчит не потому, что не хочет, а потому, что его не будят.

Это же случается на выходных и после обрыва связи с сервером брокера. Проверка: посмотрите, меняется ли цена в «Обзоре рынка» и появляется ли новая свеча на графике.

4. Фильтры внутри советника

Самый частый случай на практике. В коде стоят фильтры по времени, спреду и новостям. Советник исправно работает и так же исправно ничего не делает: время не то, спред выше порога, до новостей меньше 30 минут.

Проверка: выведите в журнал причину отказа. Одна строка вида «сигнал есть, вход запрещён: спред 12 больше 8» экономит часы.

5. Ошибка, которой не видно

OrderSend вернул код, а вы его не прочитали. 4756 - неверные стопы: слишком близко к цене или не по шагу. 10016 - то же самое на стороне сервера. 10018 - рынок закрыт, 4109 - торговля запрещена для счёта.

Советник при этом «работает», в журнал ничего не пишет, и выглядит это как молчание, а не как ошибка. Лечится одной строкой: печатать код результата после каждой попытки входа.

В EABOT ошибки терминала показываются в приложении коротко и по-человечески. Например, orderSend error 133 означает, что торговля запрещена: возможно, выключена автоторговля или сейчас не рыночное время. Это быстрее, чем искать код в справочнике.

Когда молчание - это норма

Советник может неделю не открывать сделок, и это будет правильная работа. Трендовая система на H4 ждёт отката к скользящей, а рынок месяц идёт без откатов. Фильтр по новостям выключает торговлю на два часа вокруг заседания - тоже норма.

Отличить норму от поломки можно по журналу. Если советник пишет «сигнала нет» раз в час, он живой и просто ждёт. Если журнал пуст с момента запуска, проблема в первых четырёх пунктах.

Как проверить за пять минут

ПроверкаГде смотретьПризнак
🤖 АвтоторговляПанель MT4/MT5Кнопка активна
📈 СимволГрафик и настройкиСимвол совпадает
📝 ЖурналВкладка «Эксперты»Есть причина отказа
Схема диагностики советника: разрешения, рынок и журнал
Почему советник не открыл сделку
Схема диагностики советника: навигатор, автоторговля и статус
Почему советник не открыл сделку
  • посмотрите журнал экспертов: есть ли строка инициализации и каким символом;
  • проверьте галочку «Разрешить автоматическую торговлю»;
  • откройте «Обзор рынка»: приходит ли цена по нужному символу;
  • выведите в лог причину отказа фильтра;
  • проверьте код последнего OrderSend.

Если все пять пунктов чистые, а сделок нет, советник, скорее всего, ждёт сигнала. Это не поломка, а работа. Теперь вы знаете, с чего начать проверку.