MT5 подключен, но советник молчит: проверьте время котировки
MT5 может оставаться подключенным к серверу, пока котировка нужной пары уже не подходит по давности для решения советника (EA; исходный словарь на английском). Молчание также могут объяснять закрытая сессия, другое имя символа или логика программы. Разделите причины до перезапуска терминала и повторения заявки. Эта процедура относится к MT5 и MQL5: она помогает собрать запись по одному точному символу и обозначить недостающие сведения.
Что подтверждает индикатор соединения
Свойство TERMINAL_CONNECTED описывает соединение терминала с торговым сервером. Соединение, давность данных и разрешение отправлять заявки — разные факты. Работающий канал не доказывает, что нужный инструмент только что получил обновление. Другие символы могут обновляться, пока у целевого в ваших наблюдениях остается прежняя запись.
Уточните полное имя инструмента, сервер, тип счета и экземпляр терминала, где запущена программа. Похожие имена могут иметь разные суффиксы. Запишите имя, используемое советником, вместо копирования подписи с телефона. На VPS проверяйте фактическую удаленную копию: местный экран не доказывает ее состояния. Английская инструкция по наблюдению за VPS развивает это различие. До сброса сохраните относящиеся к сбою журналы и установите, какая копия управляет счетом.
Почему три показания времени отвечают на разные вопросы
Документация TimeCurrent различает время обрабатываемого тика внутри OnTick и последнее время котировки в «Обзоре рынка» при вызове, например, из OnTimer. Во втором случае обновить общий отсчет может другой выбранный символ. Такой отсчет не отвечает на вопрос о свежести конкретной пары.
| Показание | Что оно описывает | Чего оно не доказывает |
|---|---|---|
| TimeCurrent в OnTimer | Последнее время котировки в «Обзоре рынка» | Свежесть целевой пары |
| TimeTradeServer | Серверное время, рассчитанное терминалом | Приход новой котировки |
| SymbolInfoTick для нужного символа | Его данные и время последнего обновления | Принятие заявки или исполнение |
TimeTradeServer рассчитывается в терминале и зависит от настроек часов компьютера. Получите SymbolInfoTick для точного имени, проверьте успешность чтения и сохраните time_msc, Bid и Ask (исходный словарь на английском). Сначала согласуйте шкалы времени; нельзя просто вычесть местные часы из серверного штампа. Отрицательный возраст, отсутствующее время и неудачное чтение означают неопределенность, а не свежую цену.
Как свежий общий отсчет скрывает более старую пару
Условная диагностическая модель. Все времена ниже используют одну шкалу серверного времени. Это вымышленные записи, а не наблюдения брокера. Проверка проводится в 12:00:00, TimeCurrent читается в OnTimer. Пример не задает допустимый для рынка возраст котировки.
Соединение есть, но данные пары старше
EUR/USD обновился в 11:59:59, а последний тик GBP/JPY датирован 11:59:35. Общий отсчет отстает от часов модели на 1 секунду, данные целевой пары — на 25 секунд. Проверка только TimeCurrent может пропустить это различие. Само оно еще не доказывает сбой брокера: нужны расписание сессии, доступность символа и условия программы.
Повторите наблюдение через интервал, измеренный счетчиком прошедшего времени. Если time_msc не изменился, эти чтения не показали более нового обновления. Это не измерение транспортной задержки отдельного тика от источника до компьютера: серверного штампа и оценки времени клиентом для такой точности недостаточно. Отделяйте записанные факты от предполагаемой причины.
Одинаковая цена с новым временем
Дополнительные вымышленные записи показывают обратную ошибку: отсутствие движения цены не равно отсутствию обновления. Для одного символа в 12:00:00.000 успешный отсчет содержит время тика 11:59:59.500, Bid 1.10000 и Ask 1.10012. Через 2 секунды, в 12:00:02.000, снова успешно прочитаны те же Bid и Ask, но время тика уже 12:00:01.750. Все времена заданы на одной условной шкале. Возраст данных в двух записях равен 500 и 250 миллисекундам. Время тика продвинулось на 2250 миллисекунд, хотя сами цены равны. Поэтому сравнивайте не только значения цен, но и результат чтения со временем обновления. Эти разности не измеряют задержку доставки отдельного тика и не устанавливают допустимый возраст для рынка.
Тихий рынок или состояние программы
Сопоставьте расписание котирования и расписание торговли инструмента с серверной шкалой провайдера, перерывами и объявлениями о праздниках. Вне сессии более старая цена может быть ожидаемой. Часы основной валютной пары нельзя автоматически переносить на индекс или металл. В открытой сессии повторяющееся отсутствие обновлений требует выяснения, но одного числа секунд для всех инструментов и стратегий нет.
OnTick относится к символу графика, на котором запущен советник. Если NewTick уже находится в очереди или обрабатывается, новое такое событие не добавляется. Поэтому число строк журнала из OnTick не обязано совпадать с числом тиков. Для многосимвольной программы различайте график запуска и инструменты ее решений.
«The EA operation is not stopped.» — краткий исходный текст MetaQuotes о выключенном AutoTrading: работа советника не останавливается. Исходная атрибуция — 13 октября 2026; соответствующее правило перечитано 29 октября 2026.
Выключенный AutoTrading запрещает советнику отправлять торговые запросы, но не останавливает вычисления. Отдельно фиксируйте активность программы, обновления данных, условия стратегии и ответы на заявки. Это различие описано в справочнике OnTick. Для диагностики не нужна пробная сделка. Контрольная строка в журнале не доказывает, что условия входа выполнились.
Различайте «нет сигнала», «нет данных» и «торговля не разрешена»: действия в этих ситуациях различны. Одно выражение «робот молчит» не объясняет, пропущен расчет или программа намеренно отказалась от входа.
Что сохранить до возобновления заявок
Соберите одну запись: время наблюдения и его шкала; сервер и точный символ; состояние соединения; успешность чтения; время тика, Bid и Ask; статус сессии; состояние программы; последний торговый ответ. Пример: «12:00:00, шкала серверного времени; GBP/JPY; чтение успешно; тик 11:59:35; сессия не подтверждена; новые входы приостановлены». Не включайте пароль или полный идентификатор счета в обращение за поддержкой.
После ошибки или неопределенного ответа сначала сверьте позиции, активные заявки и историю. Возвращение свежих котировок не объясняет результат прежнего запроса. Английская инструкция по ошибкам заявок MT4 и MT5 описывает обработку ответа. Уже имеющаяся позиция требует внимания: выключение советника не подтверждает текущую принятую сервером защиту.
Что сделать при следующей проверке
- Запишите символ и расписание. Откройте его спецификацию на нужном счете: сервер, часы котирования и часы торговли. Сопоставьте их со временем происшествия, чтобы понять, разумно ли было ожидать обновления.
- Снимите два наблюдения без сделки. На демо запишите время целевого тика, цены, соединение и состояние программы. Повторите через известный интервал. Явно обозначьте пропуски: не превращайте ошибку чтения в нулевой возраст или достоверную цену.
- Сверьте счет до возобновления запросов. Проверьте позиции, заявки и историю, затем требуемую вашей стратегией свежесть данных. Если причина неясна, направьте обезличенные записи разработчику или провайдеру. Это диагностическая процедура, а не рекомендация открыть позицию.
Проверьте понимание
В модели на 12:00:00 TimeCurrent в OnTimer равен 11:59:59, а тик GBP/JPY — 11:59:35. Подтверждена ли свежесть GBP/JPY?
Ответ и объяснения без JavaScript
Правильный ответ: Нет; данные нужного символа в модели имеют возраст 25 секунд.
Да: достаточно TimeCurrent, он отстает лишь на секунду.
Это общее показание. В данной модели его обновил EUR/USD, а не GBP/JPY.
Нет; данные нужного символа в модели имеют возраст 25 секунд.
Проверьте также сессию и требования стратегии. 25 секунд не являются универсальным порогом сбоя.
Да: достаточно индикатора соединения.
Соединение и обновление нужного символа — разные факты.
Вопросы и ответы
Доказывает ли недавнее время MT5 свежесть моего символа?
Нет. Уточните, какой отсчет и в каком обработчике прочитан. Общее время может обновить другой инструмент, расчетное время не подтверждает приход цены. Запишите точное имя символа, успешность чтения и его последнее время обновления; затем проверьте расписание и повторите наблюдение. Пропущенный или отрицательный возраст нельзя заменять нулем. Пробная торговая операция для этой записи не нужна.
Сколько секунд без тика означает сбой?
Единого порога для всех инструментов нет. В модели 25 секунд показывают различие отсчетов, а не границу аварии. Учитывайте сессию, активность символа, график провайдера и требования стратегии. Собственный порог приостановки новых решений не является стандартом рынка. Неопределенность и состояние счета нужно записать; одно прошедшее время не указывает виновный терминал, сервер или программу.
Нужно ли перезапустить терминал и повторить заявку?
Сначала сохраните журналы, проверьте позиции, активные заявки и историю. Предыдущий запрос мог дойти до сервера; повтор способен увеличить экспозицию. Перезапуск не доказывает отсутствие операций на счете. Разделяйте восстановление данных, результат запроса и возобновление программы. На VPS уточните перезапускаемый экземпляр. Проверка принятой защиты существующих позиций нужна независимо от новых запросов советника.
Неподвижная цена и тихий журнал доказывают зависание советника?
Нет. Цена может остаться прежней, сессия — закончиться, программа — записывать только часть событий. Проверьте время обновления и способ запуска диагностики, символ графика и целевой инструмент, состояние программы и условия входа. Отдельная контрольная запись без торговли помогает сравнить ожидаемое поведение с наблюдениями, вместо догадки о причине.
Источники и пределы применения
- MQL5: TimeCurrent
Прочитаны 29 октября 2026 строки 53–80: время обрабатываемого тика в OnTick и последней котировки любого выбранного символа в других обработчиках; счетчик интервала и моделирование времени в тестере.
- MQL5: TimeTradeServer
Прочитаны 29 октября 2026 строки 54–81: время рассчитывает терминал с зависимостью от настроек часов компьютера. Это не доказательство прихода нового тика.
- MQL5: SymbolInfoTick
Прочитаны 29 октября 2026 строки 61–80 и пример 83–107: точный символ, структура с ценами и временем, отдельный результат true/false. Пример кода не компилировался и к счету не подключался.
- MQL5: OnTick
Прочитаны 29 октября 2026 строки 59–75: символ графика, очередь NewTick и отделение AutoTrading от вычислений. Полный торговый пример EA ниже не проверялся и не предлагается к запуску.
- MQL5: свойства терминала
Прочитаны 29 октября 2026 строки 51–64 и 85–86: соединение с торговым сервером, отдельное разрешение торговли и сведения об экземпляре. Это не измерение давности данных целевого символа.
Учебная диагностика MT5 и MQL5; времена и цены примеров вымышлены и согласованы в одной заданной шкале. Не проверялись реальный сервер, счет, доставка котировок, разрешения конкретного брокера, лицензия или доступность услуги. Числа 1 и 25 секунд не являются нормой рынка. Диагностика не определяет виновную сторону и не гарантирует защиту позиции.