Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Здравствуйте, друзья Форекс трейдеры. В этой статье мы рассмотрим команды вывода информации в MQL4.
Вывести информацию на график терминала MetaTrader мы можем двумя способами.
Давайте создадим нашу первую программу. Она будет заключаться в следующем: когда мы перенесем наш советник на график, то в области графика выйдет текстовое сообщение.
Функция вывода информации Comment();
Сейчас мы разберем первый способ вывода информации при помощи команды Comment(); и выводить информацию мы будем из функции OnInit().
Рассмотрим подробно, как пишется эта команда и ее структуру.
Данная команда называется «Comment».
Начинаем писать ее название в поле кода MetaEditor и нам высвечивается подсказка.
Когда мы прописываем какие-либо системные слова или выражения, которые содержатся в составе языка программирования языка MQL4, то они высвечиваются, как подсказки (как на скриншоте выше).
Мы можем кликнуть по этой подсказке, и необходимое нам системное слово пропишется автоматически в строке кода.
Итак, пишем Comment, скобки () и точку с запятой, где Comment — это название нашей команды, в скобках мы прописываем входящее значение для данной команды. Так как наша команда предназначена для вывода текста, то в скобках мы будем писать непосредственно сам текст, в примере ниже — это «Привет трейдерам».
Comment("Привет, трейдерам");
Вся текстовая информация в MQL4 всегда пишется в кавычках. То есть, наш текст Привет трейдерам – это текстовая информация, и поэтому, в MQL4 ее нужно писать в кавычках — «Привет трейдерам».
Напоминаю, в скобочках мы пишем входящее значение – соответственно, в команде у нас прописано («Привет трейдерам»);
Далее, после () идет точка с запятой;
В программировании точка с запятой — это нечто подобное точке в наших обычных предложениях. То есть, имеется предложение, и чтобы это предложение у нас закончилось, мы ставим точку. Аналогичная ситуация и в программировании, только вместо точки мы ставим точку с запятой.
Итак, давайте вставим нашу команду вывода информации Comment() в функцию OnInit(), чтобы советник нам вывел текстовую информацию на график:
// ЭТО БЛОК ИНИЦИАЛИЗАЦИИ int OnInit() { Comment("Привет, трейдерам"); EventSetTimer(60); return(INIT_SUCCEEDED); }
Что мы сделали? Мы с Вами прописали команду Comment(), которая выводит текст на график. Прописали мы ее в функции OnInit(). Напоминаю, функция OnInit() у нас выполняется один раз при нанесении советника на график (подробнее о работе функции OnInit() Вы можете прочитать в этой статье). Соответственно, если мы советник переносим на график, то сперва у нас должна сработать функция инициализации OnInit(), внутри которой мы прописали первую команду. Эта команда выполниться и текст должен вывестись на экран.
Для того чтобы это все у нас заработало, нам необходимо наш код сохранить и, далее, скомпилировать.
Итак, полный код нашего советника:
//+------------------------------------------------------------------+ //| My_first_expert.mq4 | //| Copyright (с) Антон SanGReal Invest | //| https://sgr-tradeinvest.ru | //+------------------------------------------------------------------+ #property copyright "Copyright (с) Антон SanGReal Invest" #property link "https://sgr-tradeinvest.ru" #property version "1.00" #property strict // БЛОК ИНИЦИАЛИЗАЦИИ int OnInit() { Comment("Привет, трейдерам"); EventSetTimer(60); return(INIT_SUCCEEDED); } // БЛОК ДЕИНИЦИАЛИЗАЦИИ void OnDeinit(const int reason) { EventKillTimer(); } // БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТИКАМ void OnTick() { } // БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТАЙМЕРУ void OnTimer() { }
Сохраняем этот код и компилируем:
Что при этом произошло?
Имеется папка с нашими экспертами, в которой хранится наш созданный советник «My_first_expert». Мы написали код, далее, сохранили его (сохранился он в файле с расширением .mq4), после чего, произвели компилирование. После этой операции у нас создался файл второго типа .ex4, который уже и будет считывать наш терминал MetaTrader.
Давайте испробуем наш советник. Переносим советник «My_first_expert» на график и нажимаем кнопку «OK».
И, мы можем наблюдать результат работы нашей первой программы, результат вывода информации при помощи Comment().
Данный вывод текстовой информации можно выполнить не только внутри функции OnInit(), но также и внутри функции OnTick() или OnTimer().
Например, так:
// БЛОК ЦИКЛА, ВЫПОЛНЯЮЩИЙСЯ ПО ТИКАМ void OnTick() { Comment("Привет, трейдерам"); }
Дополнительную информацию про команду вывода информации Comment() Вы также можете прочитать в статьях Удобно читаемый вывод информации в Comment() и Работа с предопределенными переменными MQL4 на практике.
Вывод информации при помощи функции Alert();
Теперь рассмотрим другой способ вывода информации, который называется Alert ().
Данная команда Alert () прописывается аналогично команде Comment (). Мы можем наблюдать это в коде ниже. Но, в этой команде я ввел текст «Внимание, трейдер!».
// БЛОК ИНИЦИАЛИЗАЦИИ int OnInit() { Alert("Внимание, трейдер!"); EventSetTimer(60); return(INIT_SUCCEEDED); }
Почему я прописал другой текст? Потому что функция команды Comment () — это вывод информации справочного характера. То есть, если нам понадобилось вывести какую-то справочную текстовую информацию на графике (например, текущий спред), то мы это можем сделать при помощи Comment ().
Команда Alert () создана для привлечения внимания трейдера, поэтому я и прописал текст «Внимание, трейдер!». Она выводит информацию в новом окне и также идет звуковое сопровождение.
То есть, если Comment () предназначена для вывода справочной информации, то команда Alert () выводит информацию важного характера, такую информацию, на которую срочно необходимо обратить внимание.
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
На этом, все. Переходите к следующей статье, в которой я расскажу Вам о типах данных в MQL4: int, double, string, bool, datetime, color.
Благодарю за внимание.
Другие статьи по теме Программирование на MQL4 Вы можете просмотреть в данном содержании практических уроков по MQL.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
С уважением, Антон.
Обучающий Форекс портал SanGReal Invest