Инструкция AW Metatrader to telegram.

Инструкция AW Metatrader to telegram.

25 апреля 2022, 17:32
AW Trading Software Limited
0
1 091

AW MT5 To Telegram отправляет события счёта MetaTrader 5 в Telegram: открытие и закрытие позиций, частичные закрытия, изменения Stop Loss и Take Profit, отложенные ордера, пополнения и выводы, алерты счёта и отчёты. Сообщения уходят сразу в несколько чатов, до пяти: личный чат, группу с темами или канал. Утилита не торгует и ничего не меняет ни на счёте, ни на графиках трейдера.

MT5 версия -> ЗДЕСЬ / Все продукты AW -> ЗДЕСЬ

Одна копия утилиты ставится на один график и следит за всем счётом: за всеми символами, ручными сделками и сделками любых советников.

До первого сообщения нужны две вещи: свой бот Telegram (раздел 3) и разрешение терминалу отправлять веб-запросы на https://api.telegram.org (раздел 4).

Статья содержит следующие разделы:

  1. Как работает утилита
  2. Тестирование в тестере стратегий
  3. Установка и создание бота
  4. Разрешение WebRequest
  5. Где взять Chat ID
  6. Панель
  7. Входные настройки
  8. Типовые схемы
  9. Конструктор AW Message Designer
  10. Готовые шаблоны
  11. Свои шаблоны Custom
  12. Подсказки на панели и в журнале
  13. Вопросы и ответы

1. Как работает утилита

Причина закрытия берётся из самой сделки: Take Profit, Stop Loss, Stop Out, закрыто вручную в терминале, с телефона, из веб-терминала, советником или встречным закрытием.

Событие Когда приходит Вход в WHAT TO SEND
Позиция открыта Новая позиция, в том числе открытая отложенным ордером (в сообщении - сработал отложенный ордер) Position opened
Доливка Неттинговый счёт: сделка в сторону открытой позиции Partial close and added volume
Частичное закрытие Закрыта часть объёма, позиция остаётся открытой Partial close and added volume
Позиция закрыта Закрыта вся позиция. Результат - сумма всех её сделок со свопом и комиссией, цены - средние входа и выхода Position closed
Разворот Неттинговый счёт: одна сделка переворачивает позицию в другую сторону Position opened или Position closed
Изменены SL/TP Stop Loss или Take Profit позиции изменены без сделки Stop Loss / Take Profit changed
Отложенный ордер Выставлен, изменён (цена, SL, TP, срок), удалён, истёк Pending orders: placed, changed, deleted, expired
Операция с балансом Пополнение, вывод, кредит, бонус, комиссия, проценты, дивиденды, налог, корректировка Deposits and withdrawals
Алерт счёта Раздел 7, ACCOUNT ALERTS свои входы
Отчёт Раздел 7, REPORTS свои входы

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

Советник ставит SL и TP через мгновение после входа. Сообщение об открытии ждёт до 1,5 секунды после входа, поэтому SL и TP, выставленные вторым запросом, попадают в сообщение об открытии, а не отдельным сообщением об изменении.

Что после перезапуска? Сделки, прошедшие, пока утилита не работала, отправляются после запуска со строкой «Пока утилита не работала». Если их больше, чем задано в Missed while offline: send up to N trades, more - one summary, вместо них приходит одна сводка: сколько сделок закрыто и общий результат. Отложенные ордера и изменения SL/TP за время простоя не догоняются. При самом первом запуске на счёте старая история не отправляется.


2. Тестирование в тестере стратегий

В тестере нет сети, поэтому утилита там ничего не отправляет. Сообщения собираются точно так же, как на счёте, и печатаются на вкладку «Журнал» тестера с пометкой [Telegram preview] и названием чата; в режиме визуализации панель вместо списка чатов показывает последние сообщения.

  1. Открыть тестер стратегий, выбрать AW MT5 To Telegram, любой символ и таймфрейм. Для панели включить визуализацию.
  2. Во входных настройках включить Demo trades in the tester to show the messages и выбрать Message style и Language of messages. Chat ID основного чата можно оставить пустым: его превью в тестере показывается всегда. Каналы 2-5 появляются в превью, когда у них заполнено поле Chat ID.
  3. Запустить тест. Каждые четыре бара таймфрейма графика утилита делает следующий шаг цикла на символе графика: открытие, изменение SL, частичное закрытие, закрытие, выставление, изменение и удаление отложенного ордера, продажа, закрытие. Цикл повторяется до конца теста.
  4. Повторить тест с другими значениями Message style, Trade result in, Hide account size (risk % and pips instead of lots and money) и Language of messages и сравнить.

Демо-сделки есть только в тестере: на демо- и реальном счёте этот код не работает, и утилита сделок не открывает. Скриншоты и поиск Find Chat ID в тестере не работают: им нужен живой график и сеть.


3. Установка и создание бота

Установка. После покупки утилита появляется в окне «Навигатор» в разделе «Советники» - «Маркет». Её перетаскивают на график любого символа. В MetaTrader 5 на графике может работать только один советник, поэтому утилите нужен график без торгового советника: иначе она заменит его на этом графике. Символ графика не важен, утилита следит за всем счётом. На счёт достаточно одной копии: вторая копия на том же счёте показывает Another copy works on this account и ничего не отправляет, пока первую не снимут.

Создание бота. Сообщения отправляет бот Telegram, который принадлежит трейдеру.

Шаг 1 - В Telegram открыть официальный бот @BotFather и отправить ему команду /newbot.

Шаг 2 - Ввести отображаемое имя бота (любое), затем его имя пользователя, которое должно оканчиваться на bot.

Шаг 3 - @BotFather присылает токен: число, двоеточие и длинная строка из букв и цифр. Токен целиком копируется во вход Bot token (create a bot with @BotFather).

Шаг 4 - Для сообщений в личный чат открыть нового бота в Telegram и нажать Start. Telegram не даёт боту писать первым тому, кто его не запустил.

Безопасность токена. Токен даёт полное управление ботом. Утилита хранит его только во входных настройках и никогда не пишет в журнал. Если токен попал в чужие руки, команда /revoke в @BotFather выдаёт новый, его вставляют во входные настройки.


4. Разрешение WebRequest

Без разрешения терминал не даёт программам отправлять веб-запросы. Адрес Telegram добавляется в список один раз на терминал:

  1. Меню Сервис > Настройки, вкладка «Советники».
  2. Включить флажок «Разрешить WebRequest для следующих URL».
  3. Двойным щелчком по строке нового адреса ввести https://api.telegram.org и нажать OK.

Без этого адреса панель показывает Add https://api.telegram.org to Tools > Options > Expert Advisors (Allow WebRequest). Сообщения сохраняются в очереди. После добавления адреса кнопка Test на панели заново проверяет связь и отправляет накопленное; без неё утилита сама проверяет связь раз в минуту.


5. Где взять Chat ID

Вход Chat ID or @channel говорит боту, куда писать. Что вводить, зависит от типа чата.

Чат Что вводить Что нужно боту
Личный чат с ботом Положительное число, ID человека В боте нажата Start
Группа Отрицательное число; у супергрупп начинается с -100 Бот - участник группы
Группа с темами ID группы плюс номер темы во входе Topic ID in a group with topics (0 - none) Бот - участник группы
Публичный канал @имяканала или числовой ID, начинающийся с -100 Бот - администратор с правом публикации сообщений
Закрытый канал Числовой ID, начинающийся с -100 Бот - администратор с правом публикации сообщений

Кнопка Find Chat ID. Панель находит ID сама.

Шаг 1 - Токен введён во входные настройки, и панель показывает имя бота.

Шаг 2 - Нажать Find Chat ID. Две минуты утилита читает новые сообщения, адресованные боту.

Шаг 3 - Написать боту любое сообщение в личном чате, или добавить бота в группу, или опубликовать пост в канале, где бот уже администратор. Для темы - написать сообщение внутри этой темы.

Шаг 4 - Панель показывает найденные чаты: тип, название, ID и номер темы. ID можно выделить и скопировать.

Шаг 5 - ID копируется в Chat ID or @channel нужного чата, номер темы - в Topic ID. Повторное нажатие кнопки останавливает поиск.

Имя канала без @. Имя без знака @ читается как @имя, публичная ссылка на канал тоже принимается: утилита берёт из неё имя.

Бот не видит сообщений в группе. По умолчанию бот в группе видит только команды и обращённые к нему сообщения. Проще всего на время поиска сделать бота администратором группы; добавление бота в группу помощник тоже замечает.

Темы. Тема General номера не требует: Topic ID остаётся 0. Если Topic ID задан, а в группе нет тем, панель показывает Topic ID is set, but this group has no topics.

Группа стала супергруппой. При таком переходе Telegram меняет ID группы. Утилита до перезапуска продолжает писать по новому ID и показывает Group became a supergroup - set Chat ID to ... с новым номером, который нужно ввести.

Обновления бота читает другая программа. Если у бота стоит webhook или его читает другая программа, помощник сообщений не получит. Тогда ID вводят вручную (@channel для публичных каналов) или заводят для утилиты отдельного бота.


6. Панель

Панель показывает, куда уходят сообщения, что отправлено и что нужно исправить. Торговых цифр на ней нет.

№ Блок панели
1 Шапка с именем бота, полученным от Telegram.
2 Чаты: строка основного чата и каждого канала с заполненным Chat ID, до пяти, с диодом статуса, названием чата из Telegram (до проверки - Chat ID как введён) и коротким статусом. У чата с задержкой стоит delay N min, у чата с ошибкой - подсказка, у чата с сохранённым дизайном - пометка designed.
3 Queue - сообщений в очереди, Sent today - отправлено за сегодня, Last sent - время последней отправки и начало этого сообщения.
4 Последняя ошибка с подсказкой, только когда ошибка есть.
5 Кнопки Test, Pause / Resume, Report и Find Chat ID и под ними Design messages.
6 Статус: Working, Paused, Checking..., Check settings, Tester preview или Another copy works on this account.
Кнопка Что делает
Test Заново проверяет бота и чаты, сбрасывает состояния ошибок и отправляет в каждый настроенный чат тестовое сообщение. Номер счёта, брокер и сервер не отправляются, поэтому Test безопасен и для публичных каналов. Сообщения из очереди сразу отправляются повторно.
Pause / Resume На паузе новые события, алерты и отчёты не отправляются и не копятся: после Resume утилита не досылает то, что было во время паузы. Сообщения, которые стояли в очереди до паузы, продолжают уходить. Test и Report во время паузы работают.
Report Сразу отправляет в основной чат отчёт по открытым позициям.
Find Chat ID Две минуты ищет ID чатов, раздел 5.
Design messages Открывает AW Message Designer, раздел 9.

При Panel style (No panel / AW panel) = No panel утилита работает так же, но кнопок, в том числе Find Chat ID и Design messages, нет.


7. Входные настройки

Имена переменных даны так, как они видны в окне настроек. Основной чат и каналы 2-5 - пять независимых получателей: у каждого свой Chat ID, вид сообщений, набор событий, скрытие размера счёта и подпись с кнопками. Канал с пустым Chat ID выключен.

TELEGRAM BOT

Переменная Что делает
Bot token (create a bot with @BotFather) Токен бота, раздел 3

MAIN CHAT

Переменная Что делает
Chat ID or @channel (panel button "Find Chat ID") Куда писать, раздел 5
Topic ID in a group with topics (0 - none) Номер темы в группе с темами
Message style Вид торговых сообщений, таблица ниже
Events to send Какие события получает этот чат, таблица ниже
Hide account size (risk % and pips instead of lots and money) Объём заменяется риском до SL в % от баланса (без SL строки нет), деньги - процентами и пипсами. Баланс, пополнения и выводы не показываются, операции с балансом не отправляются, номер счёта в сообщениях о запуске, остановке и паузе сокращается до последних четырёх цифр, отчёты показывают только % и пипсы
Close and changes as a reply to the open message Закрытие, частичное закрытие, доливка, разворот и изменение SL/TP приходят ответом на сообщение об открытии той же позиции в этом чате
Changes and pending orders without sound Сообщения об изменении SL/TP и об отложенных ордерах приходят без звука
Screenshots to this chat Получает ли этот чат скриншоты и картинку кривой баланса к отчётам
Footer line and buttons in this chat Получают ли торговые сообщения этого чата подпись и URL-кнопки из MESSAGE FORMAT
Message style Как выглядят сообщения Куда подходит
Detailed (all fields) Все поля Личный чат
Compact (one line per fact) Одна строка на событие Личный чат, группа
Signal (copier-friendly: BUY EURUSD @ ... SL ... TP ...) Короткие строки постоянного вида: сторона, символ и цена, затем строки SL и TP Каналы сигналов
Results only (closed trades) Только закрытия и частичные закрытия Канал результатов
Custom template file Раздел 11 Свой вид
Events to send Что попадает в чат
Everything enabled in WHAT TO SEND Все торговые события, операции с балансом, алерты счёта, сообщение о запуске и все отчёты, включая отчёт по открытым позициям и живую сводку
Trades only (no account alerts / reports) Торговые события: позиции, изменения SL/TP, отложенные ордера
Entries and exits only Открытие, доливка, частичное закрытие, закрытие, разворот
Closed trades only Закрытие и частичное закрытие
Reports and account alerts only Алерты счёта, операции с балансом, сообщение о запуске и все отчёты
Trades + reports (no account alerts) - for signal channels Торговые события и дневной, недельный и месячный отчёты

Test message доходит до чата с любым набором событий. Алерты счёта, служебные сообщения и отчёты во всех видах оформлены одинаково; Message style меняет только торговые сообщения.

CHANNEL 2 (for example, VIP signals), CHANNEL 3 (for example, Free signals with a delay), CHANNEL 4, CHANNEL 5

Те же входы, что у MAIN CHAT, и ещё следующие. Пустой Chat ID or @channel (empty - off) выключает канал.

Переменная Что делает
Delay of trade messages, minutes (0 - instantly) Торговые сообщения, склеенные сообщения и сводка простоя отправляются через столько минут после события. Алерты, отчёты и Test не задерживаются
Protect content (no forwarding and saving) Telegram не даёт подписчикам пересылать и сохранять сообщения этого канала
Symbols of this channel (empty - common filter) / Magic numbers of this channel (empty - common filter) Свой фильтр канала; если он заполнен, общий фильтр для этого канала не применяется

WHAT TO SEND

Общие переключатели для всех чатов. Выключенное здесь событие не попадает ни в один чат.

Переменная Что делает
Position opened / Position closed / Partial close and added volume / Stop Loss / Take Profit changed / Pending orders: placed, changed, deleted, expired / Deposits and withdrawals Включают и выключают событие для всех чатов (таблица в разделе 1); SL на цене входа помечается как безубыток; операции с балансом не показываются в видах Signal и Results only и при Hide account size
Report SL/TP change from, points (0 - any change) Изменение меньше этого расстояния от последних отправленных SL и TP позиции не отправляется. Так трейлинг-стоп не шлёт сообщение на каждом шаге
Pause between change messages of one position, sec После сообщения об изменении позиции следующие изменения той же позиции ждут это время. Промежуточные значения пропускаются, последнее уходит, когда пауза закончилась, если позиция ещё открыта
Combine 3+ similar events within, sec (0 - never) Три и больше однотипных события (открытия, закрытия, частичные закрытия или изменения SL/TP) в одном чате за это окно приходят одним сообщением. Торговые сообщения перед отправкой ждут это окно
Missed while offline: send up to N trades, more - one summary Раздел 1

FILTERS

Переменная Что делает
Symbols: ALL or a list (EURUSD,XAU*,-GBPUSD) ALL или список через запятую или точку с запятой. * - любой текст, минус исключает символ. Суффиксы брокера учитываются: EURUSD подходит и для EURUSD.m, EURUSDm и EURUSD-pro, но не для EURUSDT. Список из одних исключений означает все символы, кроме них
Magic numbers: ALL or a list (0,1001,2000-2999,-777) ALL или список: отдельные номера, диапазоны через дефис, исключения с минусом. 0 - ручные сделки
Trades of All trades, Manual trades only (magic 0) или Expert Advisors only (magic != 0)
Order comment contains (empty - any) Только сделки, в комментарии которых есть этот текст, регистр не важен

Фильтры действуют на торговые сообщения. Алерты счёта всегда считаются по всему счёту. Отчёты чата, у которого фильтр символов или магиков (свой или общий) не ALL, считаются только по сделкам и позициям, прошедшим этот фильтр; баланс, эквити, уровень маржи, пополнения и выводы в них остаются данными счёта. Trades of и Order comment contains общие для всех чатов, фильтры символов и магиков для каналов 2-5 можно заменить своими.

MESSAGE FORMAT

Переменная Что делает
Language of messages English, Русский, Español, Português, Deutsch, Français, Italiano или Türkçe. Панель и журнал остаются на английском
Title of messages (signal or account name) Первая строка каждого сообщения курсивом; пусто - без заголовка
Strategy names (1001=Gold Scalper;777=Grid) Пары магик = имя через точку с запятой. Строка Strategy показывает имя вместо Magic 1001
Time in messages Trade server time, This computer's time или UTC + offset. По этим же часам считается время отчётов в REPORTS
UTC offset, hours (for "UTC + offset") Смещение для UTC + offset
Trade result in Money + pips, Money, Pips, Points или % of balance + pips. У форекс-символов с 3 и 5 знаками пипс равен 10 пунктам; у металлов, индексов и крипты расстояние всегда в пунктах. % считается от баланса до сделки
Show volume / Show ticket / Show order comment / Show balance after close Включают и выключают соответствующую строку
Footer line of trade messages (for example, your channel name) Строка в конце торговых сообщений в чатах с включённым Footer line and buttons in this chat. Можно теги Telegram: <b>, <i>, <a href="https://...">
Button 1 under trade messages: text, Button 1: link (https://...) URL-кнопка под торговыми сообщениями в чатах с включённым Footer line and buttons in this chat. Ссылка должна начинаться с https://, иначе кнопка не добавляется
Button 2: text, Button 2: link (https://...) Вторая кнопка, рядом с первой
Custom style: template file in MQL5\Files\AW_Telegram\ Имя файла шаблонов для вида Custom template file, раздел 11

SCREENSHOTS

Переменная Что делает
Screenshots No screenshots, On open, On open and close (и частичные закрытия) или On every trade event (кроме удалённых и истёкших отложенных ордеров)
Screenshot timeframe Таймфрейм картинки
Screenshot width, px / Screenshot height, px Ширина от 320 до 2560, высота от 240 до 1600

Для картинки утилита открывает отдельный график символа с чистым шаблоном, делает снимок и закрывает этот график. Графики трейдера, их таймфреймы и объекты не трогаются. Текст сообщения становится подписью к картинке; если он длиннее, чем Telegram разрешает для подписи, сначала приходит картинка, а текст - ответом на неё. В тестере и на MQL5 VPS скриншоты не делаются: сообщение уходит текстом.

ACCOUNT ALERTS

Алерт приходит один раз, когда показатель пересекает порог. Следующий алерт того же вида приходит только после возврата показателя в норму, а сам возврат сообщается строкой «В норме».

Переменная Алерт
Equity drawdown from peak, % (0 - off) Эквити без кредита опустился от своего пика на этот процент. Пополнения и выводы сдвигают пик пропорционально
Daily loss, % of balance (0 - off) Убыток с начала дня торгового сервера, с плавающим, достиг этого процента от баланса на начало дня
Margin level below, % (0 - off) Уровень маржи опустился до этого значения. При включённом входе сообщается и уровень Margin Call брокера, если брокер задаёт его в процентах
Equity below, money (0 - off) Эквити ниже этой суммы
No connection to the trade server, minutes (0 - off) Терминал столько времени без связи с торговым сервером. Первые 30 секунд после запуска не считаются
Algo Trading switched off Кнопка Algo Trading в терминале выключена или торговля советниками запрещена на счёте

REPORTS

Переменная Что делает
Daily report at HH:MM (empty - off) Дневной отчёт в это время за 24 часа до него
Weekly report Off или день недели. Отчёт приходит в этот день во время дневного отчёта, а если дневной выключен - в 00:05, и охватывает 7 дней
Monthly report (on the 1st day) 1-го числа во время дневного отчёта (в 00:05, если дневной выключен), за прошлый месяц
Open positions report at (for example, 08:00,20:00) Время отчёта по открытым позициям через запятую
Pinned live status: update every N minutes (0 - off) Одно сообщение с балансом, эквити, плавающим результатом, числом позиций и ордеров и уровнем маржи. При первой отправке оно закрепляется без звука, дальше редактируется каждые N минут; о правке Telegram не уведомляет
Balance chart in weekly and monthly reports Картинка кривой баланса к недельному и месячному отчёту, для чатов с включённым Screenshots to this chat

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

Живая сводка не закрепляется. Для закрепления боту нужно право закреплять сообщения в группе или редактировать сообщения в канале. Без него сообщение всё равно отправляется и редактируется, только не закрепляется.

GRAPHICS SETTINGS

Panel style (No panel / AW panel), Color Cheme for Panels (Light scheme или Dark scheme), Panel size и Font size (Auto по DPI экрана, Small, Medium, Large) задают вид панели.

STRATEGY TESTER

Переменная Что делает
Demo trades in the tester to show the messages Демо-цикл сделок в тестере, раздел 2. Вне тестера ни на что не влияет

8. Типовые схемы

Три схемы, которые закрывают большинство задач. В таблицах только входы, которые отличаются от очевидных; значения - примеры.

Схема 1. Личный мониторинг счёта. Один личный чат получает всё: сделки, алерты и отчёты.

Блок Переменная Значение
MAIN CHAT Chat ID or @channel Личный ID из Find Chat ID
MAIN CHAT Message style / Events to send Detailed (all fields) / Everything enabled in WHAT TO SEND
ACCOUNT ALERTS Equity drawdown from peak, %, Margin level below, %, No connection..., Algo Trading switched off Пороги под свой счёт
REPORTS Daily report at HH:MM, Open positions report at, Pinned live status Например, 23:00; 08:00,20:00; 15

Схема 2. VIP-канал сразу, Free-канал с задержкой. Владелец получает алерты и отчёты в личный чат, подписчики видят только сделки.

Блок Переменная Значение
MAIN CHAT Chat ID / Message style / Events to send Личный ID / Detailed (all fields) / Everything enabled in WHAT TO SEND
CHANNEL 2 Chat ID or @channel (empty - off) @vip_channel или -100... закрытого VIP-канала
CHANNEL 2 Message style / Events to send Signal / Trades + reports (no account alerts) - for signal channels
CHANNEL 2 Hide account size / Delay / Protect content true / 0 / true
CHANNEL 2 Footer line and buttons in this chat false: подписчикам VIP кнопка Join VIP не нужна
CHANNEL 3 Chat ID or @channel (empty - off) @free_channel
CHANNEL 3 Message style / Events to send Signal или Results only (closed trades) / Entries and exits only или Closed trades only
CHANNEL 3 Hide account size / Delay of trade messages, minutes true / например, 30
CHANNEL 3 Symbols of this channel Например, только EURUSD,XAU*, а VIP получает все символы
CHANNEL 3 Footer line and buttons in this chat true
MESSAGE FORMAT Button 1 under trade messages: text / Button 1: link Join VIP / адрес https:// страницы, где продаётся подписка на VIP
MESSAGE FORMAT Title of messages / Strategy names Название сигнала / имена для магиков советников

Перед публикацией кнопка Test показывает, что оба канала принимают сообщения. Вид VIP-канала можно взять из шаблона VIP Signal в AW Message Designer (разделы 9 и 10).

Схема 3. Группа с темами. Одна группа, отдельные темы для сделок, золота и отчётов. Во все три чата вводится один и тот же ID группы, различаются темы.

Чат Chat ID / Topic ID Вид и события
MAIN CHAT -100... / номер темы «Сделки» Compact (one line per fact) / Trades only (no account alerts / reports)
CHANNEL 2 -100... / номер темы «Золото» Detailed (all fields) / Trades only, Symbols of this channel = XAU*
CHANNEL 3 -100... / номер темы «Отчёты» Любой / Reports and account alerts only
FILTERS Symbols: ALL or a list -XAU*: общий фильтр основного чата оставляет золото теме «Золото»

Номера тем даёт Find Chat ID после сообщения в каждой теме. При Trades only у MAIN CHAT сообщение о запуске не отправляется; Test всё равно доходит до всех трёх тем.


9. Конструктор AW Message Designer

Кнопка Design messages на панели открывает AW Message Designer: окно на графике, в котором каждое торговое сообщение чата собирается по строкам и проверяется в превью до отправки. Дизайн принадлежит одному чату и входные настройки не меняет.

№ Часть окна
1 Чат: Main, #2, #3, #4, #5. Канал без Chat ID во входных настройках выбрать нельзя.
2 События: Open, Close, Partial, Modify, Pending, Balance. Флажок Send this message включает и выключает сообщение этого события для чата.
3 Start from: Styles - 12 готовых шаблонов из раздела 10, My presets - сохранённые раньше дизайны. Выбор сразу заполняет все сообщения чата.
4 Строки: флажок включает и выключает строку, в поле - текст с {плейсхолдерами}, стрелки двигают строку вверх и вниз, крестик удаляет её. Строка, которую нельзя показать простым текстом, помечена Advanced и правится в файле шаблона.
5 + Field добавляет под выбранной строкой готовую строку. Рядом: Auto (эмодзи по событию: покупка, продажа, прибыль, убыток), ряд эмодзи, None и B и I для жирной или курсивной строки.
6 Telegram preview: образец сообщения события (у открытия - Buy, Sell или без SL/TP) и число знаков из 4000. В окне эмодзи рисуются одним цветом, в Telegram они цветные.
7 Состояние дизайна и кнопки Save, Send test, Reset, Close.
Кнопка Что делает
Save Сохраняет дизайн и сразу включает его для этого чата. Дизайн хранится в MQL5\Files\AW_Telegram\templates\<номер счёта>\chat<N>.txt и переживает перезапуск; панель помечает чат designed. Строка с ошибкой показывается в статусе, её нужно исправить до сохранения
Send test Сразу отправляет превью в этот чат, с подписью и кнопками, если они у чата включены. В тестере сообщение попадает в превью панели
Reset После подтверждения чат возвращается к Message style из входных настроек. Сохранённый файл остаётся на диске, но чат им больше не пользуется
Close Закрывает окно; при несохранённых изменениях спрашивает, сохранить ли их
Save as, Load (My presets) Save as сохраняет все сообщения чата под введённым именем в MQL5\Files\AW_Telegram\presets\<имя>.txt. Load загружает выбранный пресет в чат, в работу он идёт после Save. Пресеты общие для всех чатов и счетов терминала

Что меняет дизайн. Только вид торговых сообщений этого чата: он заменяет Message style. Events to send, фильтры, задержка, Hide account size и Footer line and buttons in this chat продолжают работать.

Язык подписей. Подписи вроде Цена, Риск или Вход пишутся на языке Language of messages в момент выбора шаблона. Сохранённый дизайн - обычный текст, при смене языка позже он не переводится.

Файл дизайна. Это обычный файл шаблонов (раздел 11).


10. Готовые шаблоны

В галерее AW Message Designer 12 шаблонов. Первые четыре дают те же сообщения, что встроенные виды с тем же названием, остальные восемь - дополнительные варианты. Каждый заполняет все одиннадцать сообщений чата; пустая секция шаблона значит, что это сообщение не отправляется.

Шаблон Подпись в галерее Не отправляется
Detailed All fields, for a private chat - все поля, для личного чата -
Compact One line per trade - одна строка на сделку -
Signal Clean BUY / SL / TP for channels - чистые BUY / SL / TP для каналов Операции с балансом
Results Closed trades only - только закрытые сделки Всё, кроме закрытий и частичных закрытий
Signal Pro Signals with icons, pips and R:R - сигналы со значками, пипсами и R:R Операции с балансом
Minimal One short line, no labels - одна короткая строка без подписей -
Classic Bold title and a quote card - жирный заголовок и карточка-цитата -
Results card Results as cards, nothing else - только итоги, карточками Всё, кроме закрытий и частичных закрытий
VIP Signal Paid channel: entry, risk, result in R - платный канал: вход, риск, итог в R Операции с балансом
Copier strict Plain text for Telegram copiers - простой текст для копировщиков Операции с балансом и сделки из догона после перезапуска
Trader journal Every detail for a trading log - все подробности для торгового журнала -
Prop risk Risk % and results in % and R - риск в % и итоги в % и R -

Шаблон используется двумя способами: в AW Message Designer через Start from и Save или без окна - его текст вставляется в файл шаблонов, а чату ставится Message style = Custom template file (раздел 11).

Чату с Copier strict выключают Footer line and buttons in this chat: тогда в сообщениях нет ничего, кроме команд.


11. Свои шаблоны Custom

При Message style = Custom template file торговые сообщения чата собираются из текстового файла. Файл - MQL5\Files\AW_Telegram\templates.txt; имя задаёт Custom style: template file in MQL5\Files\AW_Telegram\. Этот файл общий для всех чатов с таким видом. При первом запуске утилита создаёт его с рабочим примером каждой секции и списком всех плейсхолдеров. Папка открывается из меню терминала Файл > Открыть каталог данных, далее MQL5 > Files > AW_Telegram.

Файл правится в любом текстовом редакторе и сохраняется в UTF-8 (UTF-16 из Блокнота тоже читается). Утилита читает файл при запуске, поэтому после сохранения её перезагружают: меняют любой вход или ставят на график заново.

Правила файла.

  • Секция начинается с имени в квадратных скобках и заканчивается там, где начинается следующая. Секции: [OPEN] [ADD] [PARTIAL] [CLOSE] [REVERSE] [MODIFY] [PENDING] [PENDING_MODIFY] [PENDING_DELETE] [PENDING_EXPIRE] [BALANCE].
  • Нет секции - сообщение собирается видом Detailed. Пустая секция выключает это сообщение.
  • Строка, которая начинается с #, - комментарий. # должен быть первым символом строки. Строка, которая начинается с #off, - выключенная строка: в сообщение она не попадает, а AW Message Designer показывает её со снятым флажком.
  • Текст - HTML Telegram: <b> <i> <u> <s> <code> <a href="..."> <blockquote>. Остальные знаки < и > выводятся как текст. Значения плейсхолдеров вставляются безопасно: комментарий со знаком < сообщение не ломает.
  • {?имя}...{/имя} выводит текст внутри, только если у {имя} есть значение, {?!имя}...{/имя} - только если значения нет. Строка, ставшая от этого пустой, убирается.
  • Заголовок сообщений сам не добавляется, его ставит в шаблон {signal}. Подпись добавляется после шаблона, кроме [BALANCE], в чатах с включённым Footer line and buttons in this chat. Сделка из догона после простоя получает сверху строку «Пока утилита не работала», если шаблон сам не использует {offline}.

12. Подсказки на панели и в журнале

Каждая ошибка показывается короткой подсказкой в строке чата или в блоке последней ошибки на панели и пишется в журнал «Эксперты» с пометкой AW Telegram или AW MT5 To Telegram. Ошибки токена и WebRequest ещё и открывают одно окно алерта терминала. Сообщения чата с ошибкой остаются в очереди: утилита пробует снова раз в минуту, кнопка Test - сразу. Подсказки - на английском, как в интерфейсе.

Подсказка Что случилось и что делать
Bot token looks wrong: copy it from @BotFather again Токен не похож на формат число:буквы, например не хватает части. Скопировать токен целиком ещё раз
Bot token invalid - copy it from @BotFather again Telegram не знает такого токена: он отозван или введён с ошибкой
No connection to Telegram - retrying Нет интернета или Telegram не отвечает. Сообщения ждут и отправляются повторно
Telegram rate limit - waiting N s Слишком много сообщений в один чат. Утилита ждёт столько, сколько просит Telegram; ничего не теряется
Open the bot in Telegram and press Start Личный чат: бот не запущен
Bot is blocked - unblock it in Telegram and press Start Бот заблокирован в личном чате
Chat not found - check Chat ID, add the bot to the chat (admin for channels) Неверный Chat ID или бота нет в этой группе или канале
Add the bot to this chat / Bot was removed from the chat - add it back Бот вышел или удалён из группы или канала
Make the bot an admin with the Post Messages right / Bot needs the Post Messages right in this chat У бота нет права публиковать сообщения в этом чате или канале
Bot needs the right to send photos in this chat Группа запрещает боту медиа. Сообщение уходит без картинки
Chat was deleted - check Chat ID Чата больше нет
Topic not found - check Topic ID Неверный номер темы
Topic is closed - reopen it or change Topic ID Тема в группе закрыта
Message formatting error - sent as plain text Telegram не принял HTML сообщения (обычно в шаблоне или подписи). Сообщение ушло без оформления; проверить теги
URL button rejected - check button text and URL Telegram не принял кнопку. Сообщение ушло без кнопок
Queue full - oldest messages dropped В очереди до 1000 сообщений. Если она долго полна (сломанный чат), первыми удаляются самые старые обычные сообщения
Telegram: ... Другая ошибка с текстом Telegram. Утилита пробует пять раз с паузой, затем снимает сообщение и пишет причину в журнал

13. Вопросы и ответы

Панель показывает Working, а сообщение не пришло. Событие может быть выключено в WHAT TO SEND, не входить в Events to send чата или отсечено фильтром, либо его держит задержка канала или окно склейки. Во время паузы новые события не отправляются. Кнопка Test показывает, что сам чат сообщения принимает.

Почему закрытие пришло отдельным сообщением, а не ответом? Ответ возможен, когда сообщение об открытии этой позиции утилита отправила в этот чат за последние 30 дней. Позиции, открытые до установки утилиты или отсечённые фильтром при открытии, получают закрытие обычным сообщением.

Потеряются ли сообщения, если пропадёт интернет или упадёт терминал? Очередь лежит на диске и переживает перезапуск, отправленное сразу отмечается и второй раз не уходит. Сделки, прошедшие при выключенном терминале, приходят после запуска (раздел 1).

Почему нет сообщения о том, что утилита остановлена? При закрытии или падении терминала на него нет времени. Что терминал жив, показывает закреплённая живая сводка со временем обновления.

Читают ли вид Signal копировщики? Читает ли строки Signal конкретный копировщик, проверяется с этим копировщиком.

Несколько счетов. Каждому счёту нужна своя копия утилиты в своём терминале. Бот может быть один на всех; сообщение о запуске показывает, к какому счёту относится копия.

После обновления с 1.x старые настройки не подходят. Входные настройки 2.00 новые, поэтому утилита настраивается заново по этой инструкции. Бот и Chat ID остаются прежними.


Купить AW MT5 To Telegram:

MT5 версия
👉 https://www.mql5.com/ru/market/product/81256


AW Trading Software

AW Trading Software

Поддержка: https://www.mql5.com/ru/users/nechaevrealle