Главная
Форум
MQL программирование, помощь, доработки

Для того, чтобы использовать все возможности сайта, мы рекомендуем Вам person_add Зарегистрироваться или person Войти

Форум » Cтратегии и программирование на MQL » MQL программирование, помощь, доработки » Аллерт в Индикатор Alert() Alert Arrow (Алерт на экране после сигнала индикатора + уведомления почта)
Аллерт в Индикатор Alert() Alert Arrow
Дата: Среда, 03.04.2013, 18:22 | Сообщение # 1 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9727
Награды: 42
Статус: Offline



Алерт в индикатор. Как вставить Alert и Arrow в индикатор?

Внимание: Если Вы хотите чтобы Вам помогли в данной теме, пожалуйста:
1. Прикрепите индикатор, в который требуется вставить алерт. Открытый код!
2. Прикрепите картинку с данного индикатора, где ВЫ добавили стрелки и показали когда должен вознкиать алерт
3. Опишите словами подробно когда должен звучать алерт.

4. Сделайте краткое описание индикатора!

Наиболее частыми запросами в поисковике и в темах разных форумах встречаются фразы:
"Индикатора алерт","индикатор alert","Как добавить в индикатор звуковой сигнал?","Помогите вставить звуковой сигнал в индикатор", "Как вставить Alert и Стрелки ", "Как отправить сообщение на почту или телефон при сигнале от индикатора?"
В данной статье я попытаюсь максимально подробно рассказать легкий путь добавления Alert Mail Push Arrow в любой индикатор от www.expforex.com




Предисловие

Для того, чтобы начать правильную установку Алертов в Ваш индикатор, необходимо иметь открытый код Вашего индикатора. Декомпилированный код нежелателен, потому , что для новичка декомпилированный код представляет минимум информации. В нем трудно разобраться. А также у
Вас после редактирования могут возникнуть проблемы с компиляцией.


Начало работы

В первую очередь Вам необходимо выяснить, какие индикаторные буферы дают тот или иной сигнал, какова цель создания алерта, Каковы условия определения сигнала на индикаторе.
Важно: В индикаторах могут показываться только внешние буферы, определенные вначале кода переменной:
#property indicator_buffers 1
Но также в индикаторе могут быть скрытые буферы, которые задаются в функции init() и объявляются переменной:
IndicatorBuffers(7);
Нам нужны только первые буферы. Если например у Вас стоит 1 внешний буфер, то смотрим на переменную:
SetIndexBuffer(0,SarBuffer);
0 - это первый буфер
1 - это второй буфер .........



Настройки Алертов:
extern string Alerts="Алерты и стрелки от www.expforex.com";
extern bool AlerT=true;  // Выдавать алерт на экран
extern bool Mail=true;   // Посылать сообщение
extern bool Push=true;   // Посылать ПУШ на телефон
extern bool Arrow=true;  // Ставить стрелки на сигналах
extern int shift=1;      // На каком баре считать сигнал 0 - на текущем 1 - на закрытом


Внимание!
Данная ветка создана для ПОМОЩИ, а не для редактирования Вашего кода. Если Вы желаете каких то особых алертов  - обращайтесь в раздел программирование.
Просьбы выполняются с наиболее интересными индикаторами, без доработок, в свободное время и под хорошее настроение.


Прикрепите индикатор и картинку с сигналами напишите краткое описание Вашего индикатора!!!!.

attach_file Прикрепления

DT-ZigZag-Lauer.mq4(2.8 Kb)

gestureс Уважением, Владислав Expforex

Дата: Четверг, 04.07.2019, 07:16 | Сообщение # 1521 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9727
Награды: 42
Статус: Offline

Сообщение: 25017 Написал: ovik1 Ваш ответ:
функция писалась конкретно под этот индикатор. 
Упрощенных функций нет.

gestureс Уважением, Владислав Expforex

Дата: Среда, 10.07.2019, 18:54 | Сообщение # 1522 Написал: ovik1
Группа: Пользователи
Сообщений: 16
Награды: 0
Статус: Offline

Уважаемый, Владислав,
Скажи, а сам алерт со стрелкой можно ли регулировать на 0-формирующем баре,
К примеру  на графике М1 поступает сигнал +алер (0-формирующем баре) на 05 секунде - и он мне подходит !!!
А скажем сигнал на 55 секунде мне надо как то отсеить ,  веть через 6 сек будет новый бар !!!

Есть ли такая функция запрета !?! типа если сигнал получил > 10 секунде  0- баре - ЗАПРЕТ 

заранее спасибо

Дата: Четверг, 11.07.2019, 09:31 | Сообщение # 1523 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9727
Награды: 42
Статус: Offline

Сообщение: 25024 Написал: ovik1 Ваш ответ:
как то так

Код
if(TimeCurrent()<Time[0]+5)
{
Alert();
}

gestureс Уважением, Владислав Expforex

Дата: Четверг, 11.07.2019, 15:27 | Сообщение # 1524 Написал: ovik1
Группа: Пользователи
Сообщений: 16
Награды: 0
Статус: Offline

Спасибо , буду пробовать smile

Добавлено (15.07.2019, 20:39)
---------------------------------------------
Уважаемый, Владислав,
Спасибо еще раз за подсказку!
Скажи, а саму стрелку как  алерт регулировать  можно ?чтоб он не появился  когда ему угодно , а как  сам алер регулировать по времени!??

пробую так но увы 

   for(int i = 0; i < limit; i++)      {        b4plusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_PLUSDI, i + 1);        nowplusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_PLUSDI, i);        b4minusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_MINUSDI, i + 1);        nowminusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_MINUSDI, i);          //----              if(TimeCurrent()<Time[0]+5) //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!     {
        if(b4plusdi < b4minusdi && nowplusdi > nowminusdi)            ExtMapBuffer1 = Low - nShift*Point;        //----                  if(b4plusdi > b4minusdi && nowplusdi < nowminusdi)            ExtMapBuffer2 = High + nShift*Point;         } 
  //+------------------------------------------------------------------+          if(TimeCurrent()<Time[0]+5)     {           if (ExtMapBuffer1[0] != EMPTY_VALUE && ExtMapBuffer1[0] != 0 && SoundBuy)         {         SoundBuy = False;            if (UseSound) PlaySound (SoundFile);               Alert("ADX (", Symbol(), ", ", Period(), ")  -  BUY!!!");          }       if (!SoundBuy && (ExtMapBuffer1[0] == EMPTY_VALUE || ExtMapBuffer1[0] == 0)) SoundBuy = True;                      if (ExtMapBuffer2[0] != EMPTY_VALUE && ExtMapBuffer2[0] != 0 && SoundSell)         {         SoundSell = False;            if (UseSound) PlaySound (SoundFile);             Alert("ADX (", Symbol(), ", ", Period(), ")  -  SELL!!!");          }       if (!SoundSell && (ExtMapBuffer2[0] == EMPTY_VALUE ||ExtMapBuffer2[0] == 0)) SoundSell = True;                               }}//+------------------------------------------------------------------+
    return(0);  }
заранее спасибо

Добавлено (15.07.2019, 20:44)
---------------------------------------------
блин пытался скинуть часть кода. получилось не знаю что

Дата: Вторник, 16.07.2019, 11:24 | Сообщение # 1525 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9727
Награды: 42
Статус: Offline

Сообщение: 25026 Написал: ovik1 Ваш ответ:
В моем коде стрелка появляется в момент алерта. И не когда угодно, а тогда, когда есть прописанный сигнал.

gestureс Уважением, Владислав Expforex

Дата: Вторник, 16.07.2019, 19:46 | Сообщение # 1526 Написал: ovik1
Группа: Пользователи
Сообщений: 16
Награды: 0
Статус: Offline

У меня тоже  стрелка появляется в момент алерта. И когда я регулировал  алерт по времени поставив 
данный код  , то все НЕ нужные  сигналы алерта  пропали !!  

if(TimeCurrent()<Time[0]+5)
{
Alert();
}

Очень  хотелось узнать , как саму стрелку как алерт по времени регулировать ??!!!!

заранее спасибо

Дата: Вторник, 16.07.2019, 20:01 | Сообщение # 1527 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9727
Награды: 42
Статус: Offline

ТО ЖЕ САМОЕ.
СДЕЛАЙТЕ ПРОВЕРКУ СИГНАЛА ТОЛЬКО СПУСТЯ 5 СЕКУНД

if(TimeCurrent()<Time[0]+5)

gestureс Уважением, Владислав Expforex

Дата: Вторник, 16.07.2019, 22:26 | Сообщение # 1528 Написал: ovik1
Группа: Пользователи
Сообщений: 16
Награды: 0
Статус: Offline

пробовал и так  Но все стрелки вообще пропадают !!! может в другом месте надо ставить ???
 if(TimeCurrent()<Time[0]+5)

     {

        if(  b4plusdi < b4minusdi && nowplusdi > nowminusdi)

            ExtMapBuffer1 = Low - nShift*Point;

                   
        if( b4plusdi > b4minusdi && nowplusdi < nowminusdi)

            ExtMapBuffer2 = High
+ nShift*Point;    

     

    } 

заранее спасибо

Дата: Вторник, 16.07.2019, 22:29 | Сообщение # 1529 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9727
Награды: 42
Статус: Offline

Если прикрепите индикатор, то смогу сказать больше.

gestureс Уважением, Владислав Expforex

Дата: Среда, 17.07.2019, 16:24 | Сообщение # 1530 Написал: ovik1
Группа: Пользователи
Сообщений: 16
Награды: 0
Статус: Offline

Без проблем , могу скинуть  индюк,  biggrin Просто не хотелось  напрягать  типа  вод индюк сделайте !!!!а самому как-то с подсказками доделать!  

заранее спасибо

attach_file Прикрепления

0995937.mq4(9.1 Kb)

Форум » Cтратегии и программирование на MQL » MQL программирование, помощь, доработки » Аллерт в Индикатор Alert() Alert Arrow (Алерт на экране после сигнала индикатора + уведомления почта)
Поиск:
Expforex Expforex Идеи для Форекс https://www.expforex.com/1NEWDESIGN/NEWLOGO/LOGONEW.png expforex@meta.ua Украина expforex2