Существует несколько способов передать информацию трейдеру из советника.
Print — Отображает некоторое сообщение в журнал экспертов(вкладка «Эксперты»).
На первом уроке мы с Вами создавали эксперт с помощью мастера. Давайте дополним его некоторым кодом. В функцию OnInit() добавим отображение строки «Эксперт инициализирован», а в функцию OnTick() сообщение о поступлении новой котировки.
Итак:
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { Print("Эксперт инициализирован!"); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { Print("Пришла новая котировка по валютной паре " + Symbol()); } //+--
Обратите внимание на вариант применения функции Print в обработчике события о поступлении новой котировки. В этом примере происходит формирование строки текста из нескольких значений. Так функция Symbol() возвращает нам название валютной пары текущего графика, а с помощью оператора «+» производится сложение данных в одну строку.
После добавления кода наш советник нужно скомпилировать, только после этого он будет виден в терминале Metatrader:
Наш эксперт скомпилирован и мы переносим его мышкой на график, после чего в правом верхнем углу появится название нашего советника с улыбающимся смайликом. В будущем обратите внимание на то, что в случае когда эксперт работает с торговыми функциями кнопка «Авто-торговля» должна находится в активном состоянии. В нашем же случае на данном этапе это не столь необходимо.
И результат работы нашего эксперта:
Comment — следующая функция отображения информации. Она выводит комментарий, определенный пользователем, в левый верхний угол графика.
Я предлагаю просто заменить функцию Print на Comment и посмотреть результат:
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { Comment("Пришла новая котировка по валютной паре " + Symbol()); } //+--
Итак, меняем функцию, снова компилируем программу и смотрим результат:
Аналогичные параметры имеет функция Alert. Отображает диалоговое окно с заданной информацией.
Пример:
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { Alert("Пришла новая котировка по валютной паре " + Symbol()); } //+--
И результат работы:
Пожалуй, это всё.
На следующем уроке мы рассмотрим типы данных int, double, string, bool, datetime, color и рассмотрим примеры работ с ними.
—