Оповещение в MT4Рано или поздно, в жизни любого трейдера приходит момент, когда уже нет возможности одновременно отслеживать все необходимый валютные пары, ситуации на разных таймфреймах, графиках. Для решения этого вопроса служат возможности оповещения, заложенные в Метатрейдере 4. Мы рассмотрим 4 таких функции:
Comment();Alert();Print();SendMail(,).Отмечу, что как таковые они не выделены, а входят в раздел Общие функции.
Рассмотренный в видео индикатор можно скачать с моего сайта http://assurkov.ru/?p=1120
Функция Comment() выводит соответствующий комментарий в левом верхнем углу. Она может выводить аргументы, разделенные запятыми или один какой то аргумент. Для перехода на новую строку можно использовать строку “\n”. В нашем примере эта функция рассматривается так:
double VOLA=(iHigh(“0″,0,Candle)-iLow(“0″,0,Candle))*(1/Point);Comment (“VOLA=”, MathRound(VOLA));
То есть, рассчитывается переменная VOLA как разница между максимальным и минимальным значением свечи (номер свечи Candle задается во входных параметрах), переводится в пункты и функция MathRound() уже берет целую часть. Comment показывает нам размер соответствующей свечи в пунктах.
Функция Print() выводит некоторое сообщение в журнал экспертов. В нашем случае:
if(print==true){ if(print_signal<=0 && BuyBuffer[1]!=EMPTY_VALUE){ Print(“PRINT RSI( “,Symbol(),”, “,Period(),” ) – BUY!”);print_signal=1; }
if(print_signal>=0 && SellBuffer[1]!=EMPTY_VALUE){ Print(“PRINT RSI( “,Symbol(),”, “,Period(),” ) – SELL!”);print_signal=-1;} }
она выводит сообщение “PRINT RSI , соответствующая валютная пара (Symbol()), период графика (Period()), сделка (BUY! или SELL!)”. Она его выводит в случае, если во входных параметрах значение переменно print==true и соответствующий буфер заполнен:
В основном, эта функция оповещения используется при написании советников с целью вывода кодов ошибок при их отладке.
Функция Alert() имеет аналогичную структуры, как и Print(). Выводит сообщение в виде Алерта и подает звуковой сигнал:
Ее удобно использовать при отслеживании разных графиков. Как только сигнал на сделку там появляется, функция срабатывает и отображает соответствующее сообщение в MT4.
В примере она выглядит так:
if(alert==true){ if(alert_signal<=0 && BuyBuffer[1]!=EMPTY_VALUE){ Alert(“RSI( “,Symbol(),”, “,Period(),” ) – BUY!”);alert_signal=1; }
if(alert_signal>=0 && SellBuffer[1]!=EMPTY_VALUE){ Alert(“RSI( “,Symbol(),”, “,Period(),” ) – SELL!”);alert_signal=-1;} }
Функция SendMail(,) отправляет соответствующее сообщение на ваш E-mail. Она имеет 2 аргумента, разделенных запятой: (Тема письма, содержание письма). У нас она выглядит так:
if(message==true){ if(mes_signal<=0 && BuyBuffer[1]!=EMPTY_VALUE){ SendMail(“RSI( “+Symbol()+”, “+ (string) Period()+” ) – BUY!”, “Покупай”);mes_signal=1; }
if(mes_signal>=0 && SellBuffer[1]!=EMPTY_VALUE){ SendMail(“RSI( “+Symbol()+”, “+ (string) Period()+” ) – SELL!”, “Продавай”);mes_signal=-1;}}
И на почту приходят соответствующие письма:
Для работы этой функции должна быть настроена отправка писем в разделе Сервис-Настройки-Почта вашего MT4:
Для Mail.ru. Настройки такие:
Сервер: smtp.mail.ru:465.
Логин: Адрес почты.
Пароль: Пароль от ящика.
От кого, Кому: указываю Terminal, адрес ящика.
Обязательно должна стоять галочка Разрешить. При отправке тестового сообщения в журнале должно появиться сообщение об успешной отправке:
На основе этой функции сделан раздел сайта Сигналы моего сайт. Как только появляется сигнал, соответствующее сообщение отправляется на почту, а далее с почты формируется запись в виде торгового сигнала. Тема письма – Название записи, первый аргумент функции SendMail(,), содержание письма – содержание записи, второй аргумент функции SendMail(,).
Рассмотренный в видео индикатор можно скачать с моего сайта http://assurkov.ru/?p=1120
assurkov, опубликовал запись 8 лет назад.
С момента публикации зафиксировано 4284 просмотра. Сейчас эту запись просматривает 1 незарегистрированный пользователь.
|
|