Торговый советник. Оповещение по почте.

image_pdfimage_print

Тот, кто использует торговые советники, часто сталкивается с проблемой, когда из-за ошибок открытия или закрытия позиции потенциальная прибыль превращается в реальный убыток. Так же часто возникает ситуация, когда трейдер, находясь далеко от терминала, хочет быть в курсе изменений котировок или значений технических индикаторов интересующей его валютной пары. Сейчас многие дилинговые центры предлагают мобильные терминалы, с помощью которых можно управлять торговлей с сотового телефона, но все же такой подход требует постоянного внимания трейдера, что аналогично сидению за компьютером. Оптимальным решением было бы такое, когда терминал сам уведомлял бы трейдера об изменениях произошедших на рынке. И оно есть – это уведомление по электронной почте, благо, что сейчас все сотовые телефоны оснащены почтовыми агентами. Таким образом Вам остается только написать торговый советник, который будет отслеживать необходимые параметры или совершать торговые операции и ждать, когда придет сообщение на телефон.
Сразу оговорюсь, что не все торговые платформы поддерживают уведомление по электронной почте, но в наиболее распространенных, как, например, MetaTrader, такой функционал присутствует. Давайте рассмотрим как он работает на следующем примере: Необходимо, чтобы торговый советник уведомлял трейдера об открытии и закрытии позиций.
Для начало необходимо разрешить и настроить в MetaTrader отправку e-mail. Для этого нужно зайти в меню «Сервис-Настройки» и открыть закладку «Почта».

Торговый советник. Уведомление по почте.

В данном окне вам необходимо будет сделать следующее:

  • поставить галочку около поля «Разрешить»;
  • указать имя smtp сервера почтового ящика, с которого вы хотите отправлять письма;
  • ввести адрес почтового ящика, с которого вы хотите отправлять письма;
  • ввести пароль;
  • ввести подпись;
  • ввести адрес почтового ящика, на который вы хотите получать уведомления.

После этого, по идее, вы можете нажать на кнопку «Тест» и проверить правильность сделанных настроек, отправив тестовое сообщение. В жизни у меня не получилось так сделать ни разу – приходилось сначала сохранять настройки и перезапускать MetaTrader, после чего уже все работало. Впрочем, я давно уже не менял настройки в своем терминале, так что не исключаю, что в новых версиях этот баг исправлен.

Торговый советник. Уведомление по почте.

Как только поступает команда на отправку, сообщение встает в очередь. Если сообщение из очереди успешно отправлено, запись об этом появиться в журнале торгового терминала. Остается проверить правильно ли вы указали почтовый ящик – получатель сообщений. Сделать это легко, на указанный email должно прийти письмо от «Client terminal» с темой «Test message».
Когда настройки MetaTrader проверены, можем переходить к созданию самого советника. Код его ничем не отличается от обычного торгового советника MetaTrader, только в раздел открытия и закрытия позиций необходимо добавить функции отправки сообщений электронной почты. Делается это так:

  • создается текстовая переменная типа string;
  • переменная определяется путем суммирования: текста, значений технических индикаторов, параметров открытых/закрытых позиций и т.д.;
  • email формируется и отправляется.

Например:
string Message; // переменная, содержащая текст
int t1, t2; Magic // значения технических индикаторов t1, t2 и номер, открываемого ордера
………….
Message = StringConcatenate(»Значение индикатора t1=»,t1,» Значение индикатора t2=»,t1,» открыт ордер номер», Magic);
SendMail (Message, «Открыта позиция»);
Здесь для формирования переменной Message используется функция StringConcatenate(..). Она формирует строку из переданных параметров любого типа (не более 64) и возвращает её. Для отправки письма используется функция SendMail(string тема, string текст). В приведенном примере смысловую нагрузку несет не само письмо, а его тема. Это сделано специально для удобства чтения в мобильном телефоне. Сам MetaTrader позволяет создать переменную Message2 и текст письма формировать аналогично теме.
Вот и все. Еще полезная информация о MetaTrader тут:
Торговые советники
Элементы mql4 кода

Добавить комментарий

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Поиск