Как добавить алерт в индикатор для MT4 или на MQL5

Для трейдеров, торгующих при помощи терминалов МетаТрейдер создано множество инструментов теханализа. У многих из них программный код, пишущийся на языке MQL, является открытым (на это указывает расширение файла .mq4 или .mq5), что позволяет без труда его модифицировать. Например, можно добавить алерт в индикатор, в котором изначально режим оповещения не реализован.

Чтобы сделать это, требуется в коде найти буфер, о значениях которого и нужно сигнализировать. С этой целью исходный (не скомпилированный – файл после компиляции имеет расширение .ex5 или .ex5) файл индикатора открывается в любом текстовом редакторе или во встроенном редакторе MetaTrader, называющемся MetaEditor. Затем в тексте программы надо отыскать строки, начинающиеся с оператора SetIndexBuffer (указаны стрелками на рис. 1).
Рисунок 1. Добавить алерт в индикатор на MQL5 или MQL4 можно, используя значения буферов, инициированных командой SetIndexBuffer.
Рисунок 1. Добавить алерт в индикатор на MQL5 или MQL4 можно, используя значения буферов, инициированных командой SetIndexBuffer.

Этот оператор имеет два параметра:

  • первый задает порядковый номер буфера;
  • второй задает имя буфера.

Чтобы добавить алерт в индикатор MT4, необходимо использовать имя буфера, в который заносятся значения, необходимые трейдеру для контроля. К примеру, на рис. 1 нулевой буфер называется rsi (в нем сохраняется уровень осциллятора для конкретных свечей), поэтому именно это имя и следует использовать в проверке условия срабатывания алерта. Но для этого требуется знать синтаксис языка MQL. К пример, если требуется оповещение о нахождении осциллятора в перекупленности (выше уровня 80), то записать это можно так:

  • if (rsi[1]>80) alert.

В качестве команды, которая условно обозначена как alert, можно указывать следующие операторы:

  • alert (строка) – вывод сообщения в системном окне и сопровождение его звуковым сигналом;
  • PlaySound(имя файла) – воспроизведение указанного аудиофайла;
  • Comment(строка) – вывод сообщения в окне графика;
  • Print(строка) – запись сообщения в журнал;
  • SendMail (строка) – отсылка на email сообщения;
  • SendFTP(имя файла) – отсылка файла на FTP-сервер;
  • MessageBox (строка) – вывод строки в диалоговом окне.

Указанная последовательность действий описана для MT4, но она ничем не отличается и для случая, когда надо добавить алерт в индикатор на MQL5, кроме некоторых различий в синтаксисе этих языков.

Как добавить алерт в индикатор MT4 без изменения кода

Для этого можно воспользоваться функционалом, реализованным в индикаторе Universal Alert. Стоит он всего 30 USD (купить) и позволяет определять пересечения линий любых индикаторов с котировкой (на графике), горизонтальными уровнями (в подвальном окне) или линиями других индикаторов. Также он позволяет определять отскоки котировки от индикаторных кривых.
Рисунок 2. Добавить алерт в индикатор MT4 можно, применив алгоритм Universal Alert.
Рисунок 2. Добавить алерт в индикатор MT4 можно, применив алгоритм Universal Alert.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *