Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Опубликовал:
- [Удален]
- Просмотров:
- 67
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
ЧТО ОН ДЕЛАЕТ
Советник обнаруживает торговые события с помощью двух независимых механизмов: обработчика OnTradeTransaction для обнаружения в реальном времени и периодического сканирования истории сделок в качестве запасного варианта. Система дедупликации гарантирует, что вы никогда не получите одно и то же уведомление дважды, даже если оба механизма сработают на одно и то же событие.
Поддерживаемые уведомления:
- Открытие сделки: символ, направление (BUY/SELL), объем, цена, SL, TP, магическое число, тикет сделки.
- Закрытие сделки: символ, объем, цена закрытия, брутто P/L, комиссия, своп, нетто P/L, обновленный баланс.
- SL/TP изменены: старые и новые значения отображаются рядом (например, SL: 1924.00 → 1926.50)
- Размещенные отложенные ордера: тип (Buy Limit, Sell Limit, Buy Stop, Sell Stop, Buy Stop Limit, Sell Stop Limit), цена, объем
- Разворот позиции: новое направление, закрытый P/L
- Пополнение и снятие средств: сумма и обновленный баланс
- Периодические сводки по счету: баланс, капитал, свободная маржа, плавающий P/L, сессионный P/L, открытые позиции, дневной максимум/минимум капитала, процент просадки
- Сообщения о подключении и отключении со статистикой сессии
НАСТРОЙКА - ШАГ ЗА ШАГОМ
От Telegram вам понадобятся две вещи: токен бота и ваш идентификатор чата.
Шаг 1: Создайте бота Telegram
Откройте Telegram, найдите @BotFather и начните разговор. Отправьте команду /newbot. BotFather попросит вас выбрать отображаемое имя (любое, которое вам нравится) и имя пользователя (оно должно заканчиваться на "bot"). После создания BotFather отправит вам API-токен - длинную строку, которая выглядит как 7123456789:AAH1bCdEfGhIjKlMnOpQrStUvWxYz. Скопируйте этот токен.
Шаг 2: Получите идентификатор чата
В Telegram найдите @userinfobot (или @getmyid_bot) и отправьте ему любое сообщение. В ответ он получит ваш цифровой идентификатор чата (например, 123456789). Скопируйте этот номер.
Для групповых уведомлений: добавьте своего бота в группу Telegram, затем используйте @getidsbot в группе, чтобы получить идентификатор чата группы (отрицательное число, например -1001234567890).
Шаг 3: Начните разговор с вашим ботом
Этот шаг легко забыть. Найдите своего бота по его имени пользователя в поиске Telegram, откройте его и нажмите "Начать". Если вы пропустите этот шаг, API Telegram будет отклонять все сообщения.
Шаг 4: Разрешите WebRequest в MetaTrader 5
В MT5 перейдите в меню Инструменты → Параметры → Советники. Установите флажок "Разрешить WebRequest для указанного URL". Нажмите Добавить и введите точно: https://api.telegram.org - затем нажмите OK. Это одноразовая настройка. Если вы пропустите этот шаг, на вкладке "Эксперты" появится ошибка WebRequest 4014, а сообщения отправляться не будут.
Шаг 5: Установите советника
Скопируйте файл ExMachina_TelegramBridge.mq5 в папку MQL5/Experts/ (доступ через Файл → Открыть папку данных в MT5). Откройте MetaEditor (F4), перейдите к файлу и нажмите Compile (F7). Вы должны увидеть 0 ошибок и 0 предупреждений.
Шаг 6: Прикрепить к графику
Перетащите советника с панели навигатора на любой график. В диалоговом окне настроек вставьте свой Bot Token и Chat ID. Нажмите OK. В течение нескольких секунд вы должны получить сообщение о подключении в Telegram с указанием номера счета, сервера, баланса, эквити и количества открытых позиций.
ВХОДНЫЕ ПАРАМЕТРЫ
Конфигурация Telegram:
- Bot Token: ваш API-токен от @BotFather (обязательно)
- Идентификатор чата: ваш цифровой идентификатор чата (обязательно, может быть идентификатором группы)
Настройки уведомлений:
- Уведомлять при открытии сделки: true/false (по умолчанию: true)
- Уведомлять о закрытии сделки: true/false (по умолчанию: true)
- Уведомлять о модификации SL/TP: true/false (по умолчанию: true)
- Уведомлять об отложенных ордерах: true/false (по умолчанию: true)
- Уведомлять о пополнении/выводе средств: true/false (по умолчанию: true)
Сводка по счету:
- Интервал сводного отчета: Выкл, Каждые 1 час, Каждые 4 часа, Каждые 8 часов, Каждые 24 часа (по умолчанию: Каждые 4 часа)
- Включить капитал в сводку: true/false (по умолчанию: true)
- Включить информацию о просадке: true/false (по умолчанию: true)
Отображение и стиль:
- Стиль сообщения: Минимальный (компактный однострочный), Подробный (полная информация с метками) или Богатый эмодзи (подробный с иконками Юникода). По умолчанию: Emoji-rich.
- Показывать приборную панель на графике: true/false (по умолчанию: true)
- Фон приборной панели, цвет текста, цвет акцента: настраивается. По умолчанию используется стальная палитра ExMachina.
Фильтры:
- Symbol Filter: список символов для мониторинга, разделенный запятыми. Оставьте пустым для всех символов. Пример: "EURUSD,XAUUSD".
- Min Lot Size to Notify: минимальный объем для оповещения. 0 = нет фильтра. Полезно для игнорирования микро-лотов.
- Magic Number Filter: уведомлять только о сделках с определенным магическим числом. -1 = все сделки (включая ручные).
СТИЛИ СООБЩЕНИЙ
Минимальный - компактный однострочный формат:
XAUUSD | BUY | 0.50 lots @ 1928.45
Подробное - структурированное, с маркированными полями:
ТОРГ ЗАКРЫТ
━━━━━━━━━━━━━━━━━━━━
Символ: XAUUSD
Закрыть: SELL (закрытие BUY)
Объем: 0.50 лотов
Цена: 1935.20
───────────────────
Брутто P/L: +$340.00
Комиссия: -$2.50
Своп: -$0.00
Чистый доход: +$337.50
Баланс: $10,585.00 USD
Сделка #182947363
Emoji-rich (по умолчанию) - то же самое, что и Detailed, но с иконками Unicode для каждого поля. При открытии сделки зеленый кружок означает ПОКУПКУ, а красный - ПРОДАЖУ. При закрытии сделки ставится галочка, обозначающая прибыль, и крестик, обозначающий убыток.
ФИЛЬТРЫ
Фильтр "Магическое число" особенно полезен, если вы используете несколько советников на одном счете. Установите его на магическое число конкретного советника, чтобы получать уведомления только от него. Установите значение -1, чтобы получать уведомления обо всем (включая ручные сделки).
Фильтр Symbol принимает список, разделенный запятыми: "XAUUSD, EURUSD, GBPUSD". Уведомления будут приходить только по сделкам с этими символами. Оставьте пустым, чтобы отслеживать все символы.
СВОДКИ ПО СЧЕТУ
Периодические сводки включают: баланс, капитал, свободную маржу, количество открытых позиций, общий плавающий P/L (включая своп), сессионный P/L с момента запуска советника, максимальный капитал за день, минимальный капитал за день и процент просадки, рассчитанный от максимального значения за день.
Полезно для трейдеров, которым необходимо удаленно контролировать дневные лимиты просадки. Установите интервал в 1 час во время активных сессий.
ПРИБОРНАЯ ПАНЕЛЬ НА ГРАФИКЕ
Компактная панель состояния в левом верхнем углу графика показывает:
- Статус подключения: ПОДКЛЮЧЕН (зеленый) или ОТКЛЮЧЕН (красный)
- имя пользователя бота
- Работающие счетчики: отправленные и неудачные сообщения
- Теглайн ExMachina
Приборная панель по умолчанию использует стальную палитру ExMachina (фон C'8,10,18', акцент C'0,180,220') и может быть настроена или отключена через входы Display.
КАК ПРОВЕРИТЬ
Шаг 1: Прикрепите советник к любому графику на демо-счете. Проверьте вкладку "Эксперты" на наличие сообщения "Подключен к боту @YourBotName". Проверьте сообщение о подключении в Telegram.
Шаг 2: Откройте вручную небольшой рыночный ордер (например, 0,01 лота EURUSD). Вы должны получить уведомление "TRADE OPENED".
Шаг 3: Измените SL или TP открытой позиции (щелкните правой кнопкой мыши → Изменить). Вы должны получить уведомление "SL/TP MODIFIED" с указанием старых → новых значений.
Шаг 4: Закройте позицию. Вы должны получить уведомление "TRADE CLOSED" с разбивкой P/L.
Шаг 5: Разместите отложенный ордер (например, Buy Limit). Вы должны получить уведомление "PENDING ORDER PLACED".
Шаг 6: Удалите советника с графика. Вы должны получить сообщение "Disconnected" со статистикой сессии.
Быстрый тест в браузере: чтобы проверить свой токен и ID чата перед использованием советника, вставьте этот URL-адрес в любой браузер (замените символы местами):
https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage?chat_id=<YOUR_CHAT_ID>&text=Test
Если в ответе вы увидите {"ok":true}, ваши учетные данные верны.
Быстрый скрипт для дымового тестирования: сохраните его как скрипт (не советник) в папке MQL5/Scripts/, скомпилируйте и запустите на демо-графике:
#include <Trade\Trade.mqh
void OnStart()
{
Торговля CTrade;
trade.Buy(0.01, "EURUSD");
Sleep(3000);
for(int i = PositionsTotal()-1; i >= 0; i--)
{
if(PositionGetSymbol(i) == "EURUSD")
trade.PositionClose(PositionGetTicket(i));
}
}
Вы должны получить уведомление об открытии и закрытии в Telegram.
Важно: этот советник не работает в тестере стратегий. Тестер стратегий не поддерживает WebRequest (сетевые вызовы). Советник должен работать на живом или демонстрационном графике с доступом в интернет.
ЗАПУСК ВМЕСТЕ С ДРУГИМИ СОВЕТНИКАМИ
MT5 позволяет использовать только один советник на одном графике. Прикрепите Telegram Bridge к отдельному графику (любой символ). Он отслеживает весь счет, а не только график, к которому прикреплен. Все сделки от всех советников и ручные сделки будут обнаружены независимо от того, на каком графике работает мост.
Используйте фильтр Magic Number, чтобы ограничить уведомления конкретным советником.
УСТРАНЕНИЕ НЕПОЛАДОК
Сообщения не поступают:
1. Проверьте, что https://api.telegram.org находится в меню Инструменты → Параметры → Советники → Разрешить WebRequest.
2. Убедитесь, что Bot Token и Chat ID введены правильно (без лишних пробелов).
3. Убедитесь, что вы нажали Start в Telegram-чате вашего бота.
4. Проверьте вкладку "Эксперты" (Вид → Панель инструментов → Эксперты) на наличие сообщений об ошибках
Ошибка WebRequest 4014: URL-адрес Telegram не входит в список разрешенных. Это наиболее распространенная проблема.
HTTP 401 Unauthorized: недействительный Bot Token. Скопируйте его снова у @BotFather.
HTTP 400 Bad Request: неверный идентификатор чата, или вы не начали разговор с ботом.
HTTP 429 Too Many Requests: Ограничение скорости Telegram. Советник имеет встроенную логику повторных попыток с отступлением. Это происходит только при очень высокой частоте торговли.
Советник показывает INIT_PARAMETERS_INCORRECT: Bot Token и Chat ID являются обязательными. Убедитесь, что ни одно из полей не пусто.
Приборная панель не отображается: убедитесь, что для параметра "Показывать приборную панель на графике" во входных данных советника установлено значение true.
ТЕХНИЧЕСКИЕ ДЕТАЛИ
- Обнаружение сделок: двойной механизм через OnTradeTransaction (в реальном времени) + опрос истории сделок каждые 2 секунды (резервное копирование)
- Дедупликация: обработанные сделки хранятся в памяти (отслеживаются последние 500 сделок)
- Определение SL/TP: массив снимков позиций сравнивается на каждом тике, срабатывает при любом изменении
- Telegram API: HTTPS POST через WebRequest, URL-кодированная полезная нагрузка, режим разбора Markdown
- Логика повторных попыток: до 3 попыток на сообщение, 1-секундная задержка между повторными попытками, 3-секундная задержка на HTTP 429
- Проверка соединения: /getMe endpoint вызывается при инициализации для проверки токена и получения имени бота
- Сводный таймер: EventSetTimer(60) проверяет, не истек ли настроенный интервал.
- Объекты графиков: все объекты приборной панели используют префикс "EXTB_" и очищаются при деинициализации
- Никаких внешних DLL, никаких сторонних серверов. Прямая связь MT5 → Telegram по HTTPS.
Данный советник является бесплатным и с открытым исходным кодом. Отзывы, оценки и предложения приветствуются.
Торговые системы ExMachina - точность перед прибылью.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/70383
Symbol Summary
Symbol Summary — сервис для MT5, который открывает отдельное окно viewer и показывает подробный отчёт по торговому символу. Поддерживает русский и английский язык, изменение размера окна, прокрутку, автоматическое обновление отчёта при смене символа или таймфрейма наблюдаемого графика без перезапуска сервиса.
ExMachina TradePilot
Профессиональная панель управления торговлей: покупка/продажа одним кликом с автоматическим определением размера лота, умный трейлинг-стоп (ATR/Fixed/Candle), автоматический безубыток, система частичного закрытия по нескольким ТФ (TP1/TP2/TP3) и отложенные ордера одним кликом. Управление ордерами "все в одном" для серьезных трейдеров.
CRT Indicator(STF) : Explorer
Это минималистичный визуализатор CRT (Candle Range Theory), построенный менее чем в 100 строках, показывающий, какие "идеальные" сетапы на одном таймфрейме на самом деле получаются на реальных рынках.
YURAZ_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.
