Terminal Watchdog
- Утилиты
-
Ganzorig Munkhbayar
Test - Версия: 1.0
- Активации: 5
Утилита для всех, кто оставляет MetaTrader 5 работать на VPS или домашнем компьютере. Прикрепите её к одному графику: каждые несколько секунд она проверяет то, что незаметно мешает советникам работать, и сообщает, когда проблема начинается и когда она устранена - окном оповещения терминала, push-уведомлением в приложение MetaTrader на телефоне и строкой в журнале. Она никогда не открывает, не изменяет и не закрывает сделки на реальном счёте.
Что она отслеживает
- Связь с торговым сервером и пинг выше вашего предела.
- Выключенную Алготорговлю в терминале; запрет торговли на счёте (например, вход по инвесторскому паролю) или запрет советников брокером.
- Замерший поток котировок по выбранным символам: нет нового тика N минут при открытой котировочной сессии символа. Выходные, ежедневные перерывы и последние 5 минут перед закрытием сессии не оцениваются, а отсчёт начинается заново при открытии сессии или восстановлении связи - поэтому ложных тревог каждую ночь нет.
- Советники на всех графиках терминала: она запоминает, какой советник на каком графике, и сообщает об исчезнувшем (график закрыт, советник удалён или остановлен ошибкой) и, по желанию, о добавленном. Список сохраняется и после перезапуска, и она сообщает о советнике, который не вернулся.
- Уровень маржи ниже вашего предела при открытых позициях.
- Расхождение часов: часы этого компьютера (в пересчёте терминала на время сервера) против меток времени входящих тиков.
- Необязательная строка состояния каждые N минут (журнал и, если нужно, push-сообщение «всё работает» на телефон).
Как ограничиваются сообщения
- Проблема должна длиться Confirm_Seconds (разрыв связи - Disconnect_Seconds) до первой тревоги; пока она длится, напоминание приходит каждые Repeat_Minutes; после устранения - одно сообщение «устранено» с её длительностью.
- Разрыв связи, когда все отслеживаемые рынки закрыты (выходные, ежедневный перерыв), откладывается, и тревога подаётся, только если он продлится до открытия рынка (Quiet_When_Closed).
- Push-уведомления ставятся в очередь, чтобы не превысить собственный лимит терминала (около 10 в минуту); при необходимости несколько сообщений объединяются в одно. Не более 6 окон оповещения в минуту.
Чего она не может - прочтите, пожалуйста
- Если сам компьютер теряет интернет, выключается или терминал закрывается, push-уведомление прийти не может - оно уходит через то же соединение, которое пропало. Утилита пытается отправить сообщение «остановлено» при удалении или закрытии терминала, но после сбоя или отключения питания остаётся только тишина. Чтобы узнавать и о таком случае, включите push строки состояния (Heartbeat_Push) и считайте отсутствие сообщения тревогой.
- Для push-уведомлений нужен ваш MetaQuotes ID в Сервис - Настройки - Уведомления; при запуске утилита предупреждает, если они выключены.
- Она не видит, отмечена ли у отдельного советника собственная галочка «Разрешить алготорговлю», и не знает, правильно ли советник работает - только находится ли он на своём графике.
- Символ без таблицы котировочных сессий нельзя проверить на замерший поток; утилита сообщает об этом при запуске.
- Проверка часов видит только расхождение, которое сам терминал не исправляет; ей нужны тики по символу графика.
- Одна утилита на терминал; второй график с ней ждёт и берёт работу на себя, если первый закрыт.
- Тестер стратегий: в тестере нет терминала для наблюдения, поэтому там (и только там) она открывает одну позицию минимального объёма в день со стоп-лоссом и закрывает её через 6 часов (Tester_Demo); проверка уровня маржи и строка состояния работают на счёте тестера. Tester_Self_Test имитирует каждую тревогу раз в день тестера, чтобы показать сообщения.
Входные параметры (0 = выкл. для любого порога)
- Check_Seconds (5), Confirm_Seconds (20), Repeat_Minutes (30), Quiet_When_Closed (true).
- Watch_Connection (true), Disconnect_Seconds (90), Max_Ping_Ms (1000).
- Watch_AutoTrading (true), Watch_Account_Trading (true).
- Watch_Symbols (пусто = символ этого графика; например EURUSD;XAUUSD ), Feed_Frozen_Minutes (5).
- Watch_EAs (true), Report_Added_EAs (true), Remember_EAs (true).
- Min_Margin_Level_Pct (200), Max_Clock_Drift_Sec (60).
- Alert_Popup (true), Push_Notify (true), Message_Tag (пусто = номер счёта; например VPS-1 ), Start_Message (true), Heartbeat_Minutes (60), Heartbeat_Push (false), Show_Panel (true).
- Tester_Demo (true), Tester_Self_Test (false) - только в тестере стратегий.
Файлы: пишет только MQL5\Files\TerminalWatchdog\experts.txt (запомненный список советников). Без DLL, без веб-запросов. Все тексты на английском языке.
