Новые сообщения · Участники · Правила форума · Поиск · RSS · Вход · Регистрация ·

Страница 98 из 127«1296979899100126127»
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Аллерт в Индикатор Alert() Alert Arrow (Алерт на экране после сигнала индикатора + уведомления почта)
Аллерт в Индикатор Alert() Alert Arrow

expforexДата: Среда, 03.04.2013, 18:22 | Сообщение # 1
Главный Администартор
Группа: Администраторы
Сообщений: 8959
Награды: 29
Статус: 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 - на закрытом


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


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

Прикрепления: DT-ZigZag-Lauer.mq4(3Kb)


Программирование на заказ || Наши Разработки

 
Сообщение

Алерт в индикатор. Как вставить 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 - на закрытом


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


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

Автор - expforex
Дата добавления - 03.04.2013 в 18:22

expforexДата: Пятница, 16.10.2015, 10:39 | Сообщение # 971
Главный Администартор
Группа: Администраторы
Сообщений: 8959
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

ну я понял Вас.

например МА периода:

желтая МА = МА3

красная МА по возрастанию периода:
MA5
MA10
MA20
MA30

Всего 4 МАшки, и 1 быстрая

Тогда в коде и указываем

MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3
тем самым мы указываем положение ваших 4 машек, и положение быстрой машки. 
а вот как сделать именно пересечение? 
тут надо задавать цикл проверки 
например:
int i ; // Bar когда Машка желтая была выше всех 4 машек красных 
for(i =0;i<100;i++)
{
if(MA3 >MA5 && MA3>MA10 && MA3>MA20 && MA3>MA30 ){break;}
}

Соответственно i - это когда Машка желтая была выше всех красных МА, но потом она стала ниже благодаря этой формуле:
MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3
соответственно это и есть сигнал. 

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



Программирование на заказ || Наши Разработки

 
Сообщениену я понял Вас.

например МА периода:

желтая МА = МА3

красная МА по возрастанию периода:
MA5
MA10
MA20
MA30

Всего 4 МАшки, и 1 быстрая

Тогда в коде и указываем

MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3
тем самым мы указываем положение ваших 4 машек, и положение быстрой машки. 
а вот как сделать именно пересечение? 
тут надо задавать цикл проверки 
например:
int i ; // Bar когда Машка желтая была выше всех 4 машек красных 
for(i =0;i<100;i++)
{
if(MA3 >MA5 && MA3>MA10 && MA3>MA20 && MA3>MA30 ){break;}
}

Соответственно i - это когда Машка желтая была выше всех красных МА, но потом она стала ниже благодаря этой формуле:
MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3
соответственно это и есть сигнал. 

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

Автор - expforex
Дата добавления - 16.10.2015 в 10:39

inkostoДата: Пятница, 16.10.2015, 10:41 | Сообщение # 972
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 11
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
inkosto, Это код Сара а не МАКД, я лишь показал как пример. Если Вы изменили индикатор МАКД с сигналами то прикрепите его. нарисуйте картинку и по этому пункту.
ведь тут я специально написал:
Внимание!
Данная ветка создана для ПОМОЩИ, а не для редактирования Вашего кода. Если Вы желаете каких то особых алертов  - обращайтесь в разделпрограммирование.


))) ничего не изменено, меняются лишь входные параметры на самом индюке (ну как везде собственно))) Т.е. то что сам индюк делает когда просит заполнить в окошках, при наложении индикатора на график, стандартные параметры.  Я меняю только параметры - как помошник иногда и не на всех инструментах.

поэтому мне надо чтобы сигналил именно бар переворота, при его закрытии. Первый бар. вниз или вверх. На рисунке показан "вниз". Линия может пусть и сигналит но не принципиально.

вот:  http://SSMaker.ru/5117a253/

благодарю нижайше!))

Прикрепления: 2373336.png(6Kb)
 
Сообщение
Цитата expforex ()
inkosto, Это код Сара а не МАКД, я лишь показал как пример. Если Вы изменили индикатор МАКД с сигналами то прикрепите его. нарисуйте картинку и по этому пункту.
ведь тут я специально написал:
Внимание!
Данная ветка создана для ПОМОЩИ, а не для редактирования Вашего кода. Если Вы желаете каких то особых алертов  - обращайтесь в разделпрограммирование.


))) ничего не изменено, меняются лишь входные параметры на самом индюке (ну как везде собственно))) Т.е. то что сам индюк делает когда просит заполнить в окошках, при наложении индикатора на график, стандартные параметры.  Я меняю только параметры - как помошник иногда и не на всех инструментах.

поэтому мне надо чтобы сигналил именно бар переворота, при его закрытии. Первый бар. вниз или вверх. На рисунке показан "вниз". Линия может пусть и сигналит но не принципиально.

вот:  http://SSMaker.ru/5117a253/

благодарю нижайше!))


Автор - inkosto
Дата добавления - 16.10.2015 в 10:41

expforexДата: Пятница, 16.10.2015, 10:45 | Сообщение # 973
Главный Администартор
Группа: Администраторы
Сообщений: 8959
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

inkosto,  у МАКД есть гистограмма и есть линия. Вам просто нужно взять буфер гистограммы, и будет счастье.



Программирование на заказ || Наши Разработки

 
Сообщениеinkosto,  у МАКД есть гистограмма и есть линия. Вам просто нужно взять буфер гистограммы, и будет счастье.

Автор - expforex
Дата добавления - 16.10.2015 в 10:45

inkostoДата: Пятница, 16.10.2015, 10:46 | Сообщение # 974
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 11
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
ну я понял Вас. например МА периода:

желтая МА = МА3

красная МА по возрастанию периода:


вау) мой "китайский" разобрали)))) ну клево я рад если честно)))  я попробую вставить как скажите и напишу встало или нет. получается что указывается название индикатора и все как у вас написано)))

а куда именно в коде котоый я выше полностью написал, ставится эта строчка? MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3

простите за неразумность))))

 
Сообщение
Цитата expforex ()
ну я понял Вас. например МА периода:

желтая МА = МА3

красная МА по возрастанию периода:


вау) мой "китайский" разобрали)))) ну клево я рад если честно)))  я попробую вставить как скажите и напишу встало или нет. получается что указывается название индикатора и все как у вас написано)))

а куда именно в коде котоый я выше полностью написал, ставится эта строчка? MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3

простите за неразумность))))

Автор - inkosto
Дата добавления - 16.10.2015 в 10:46

inkostoДата: Пятница, 16.10.2015, 10:48 | Сообщение # 975
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 11
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
inkosto,  у МАКД есть гистограмма и есть линия. Вам просто нужно взять буфер гистограммы, и будет счастье.


смело конечно)) но знать бы как это хозяйство выглядит)))

 
Сообщение
Цитата expforex ()
inkosto,  у МАКД есть гистограмма и есть линия. Вам просто нужно взять буфер гистограммы, и будет счастье.


смело конечно)) но знать бы как это хозяйство выглядит)))

Автор - inkosto
Дата добавления - 16.10.2015 в 10:48

Иван1946Дата: Пятница, 16.10.2015, 10:48 | Сообщение # 976
Трейдер - Лейтенант
Группа: Пользователи
Сообщений: 76
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
Иван1946, Вы вроде писали уже Вашу просьбу, это повтор?
Я её немного дополнил.

 
Сообщение
Цитата expforex ()
Иван1946, Вы вроде писали уже Вашу просьбу, это повтор?
Я её немного дополнил.

Автор - Иван1946
Дата добавления - 16.10.2015 в 10:48

inkostoДата: Пятница, 16.10.2015, 11:30 | Сообщение # 977
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 11
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
а вот как сделать именно пересечение?  тут надо задавать цикл проверки 
например:
int i ; // Bar когда Машка желтая была выше всех 4 машек красных 
for(i =0;i<100;i++)
{
if(MA3 >MA5 && MA3>MA10 && MA3>MA20 && MA3>MA30 ){break;}
}

Соответственно i - это когда Машка желтая была выше всех красных МА, но потом она стала ниже благодаря этой формуле:
MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3
соответственно это и есть сигнал. 

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


ну млин, вы просто гуру в разработке!!!!!! серьезно!)))

Поставили так, правильно:

вместо:
nameInd=WindowExpertName( );
          if(timeee!=Time[0] && SignalBuffer[shift+1]>=0 && SignalBuffer[shift]<0)
               {
                 Expforex_AlertArrow(Symbol()+" "+Period()+nameInd+" DN",2);
                    timeee=Time[0];           
               }

           if(timeee!=Time[0] && SignalBuffer[shift+1]<=0 && SignalBuffer[shift]>0)
               {
                 Expforex_AlertArrow(Symbol()+" "+Period()+nameInd+" UP",1);
                    timeee=Time[0];           
               }


ставим:
nameInd=WindowExpertName( );
          if(timeee!=Time[0] && MA5>;MA10 && MA10>;MA20 && MA20>MA30 &&MA3)
               {
           
for(i =0;i<100;i++) 

if(MA3 >MA5 && MA3>MA10 && MA3>MA20 && MA3>MA30 ){break;} 
}
 

Т.е. срабатывает тогда когда пересекает все красные сверху вниз, а снизу вверх будет так выглядеть продолжение? smile :

for(i =0;i<100;i++)  не знаю как вместо "i" поставить когда допустим машка была ниже всех и пошла вверх.

if(MA3 <MA5 && MA<MA10 && MA3<MA20 && MA3<MA30 ){break;}
}
 

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

уточнение: не на каждом тике, а не на каждом пересечении каждой из красных линий наверное вы имели ввиду. Запомнить последний бар мне кажется будет сложнее программно сделать, а вот чтобы он срабатывал именно тогда, когда пересекает последнюю линию из всех в наличии это да, важно. Причем если смотреть по коду 
if(MA3 >MA5 && MA>MA10 && MA>MA20 && MA3>MA30 ){break;}  то получается что допустим быстрая линия пересекает их строго" по порядку" а по логике так не получится к сожалению всегда, потому, что линии не всегда одна за другой идут по графику они перекрещиваются и та что была в первом случае самой последней красной (при пересечении быстрой сверху вниз), при пересечении быстрой вверх она может быть как первой по счету так и второй и третьей и четвертой равно как и иные красные линии поменяют свое положение - не все конечно но меняют.

уф...вроде все написал) дополнений нет.  

а вот с кодами у меня прям беда)

 
Сообщение
Цитата expforex ()
а вот как сделать именно пересечение?  тут надо задавать цикл проверки 
например:
int i ; // Bar когда Машка желтая была выше всех 4 машек красных 
for(i =0;i<100;i++)
{
if(MA3 >MA5 && MA3>MA10 && MA3>MA20 && MA3>MA30 ){break;}
}

Соответственно i - это когда Машка желтая была выше всех красных МА, но потом она стала ниже благодаря этой формуле:
MA5>MA10 && MA10>MA20 && MA20>MA30 &&MA3
соответственно это и есть сигнал. 

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


ну млин, вы просто гуру в разработке!!!!!! серьезно!)))

Поставили так, правильно:

вместо:
nameInd=WindowExpertName( );
          if(timeee!=Time[0] && SignalBuffer[shift+1]>=0 && SignalBuffer[shift]<0)
               {
                 Expforex_AlertArrow(Symbol()+" "+Period()+nameInd+" DN",2);
                    timeee=Time[0];           
               }

           if(timeee!=Time[0] && SignalBuffer[shift+1]<=0 && SignalBuffer[shift]>0)
               {
                 Expforex_AlertArrow(Symbol()+" "+Period()+nameInd+" UP",1);
                    timeee=Time[0];           
               }


ставим:
nameInd=WindowExpertName( );
          if(timeee!=Time[0] && MA5>;MA10 && MA10>;MA20 && MA20>MA30 &&MA3)
               {
           
for(i =0;i<100;i++) 

if(MA3 >MA5 && MA3>MA10 && MA3>MA20 && MA3>MA30 ){break;} 
}
 

Т.е. срабатывает тогда когда пересекает все красные сверху вниз, а снизу вверх будет так выглядеть продолжение? smile :

for(i =0;i<100;i++)  не знаю как вместо "i" поставить когда допустим машка была ниже всех и пошла вверх.

if(MA3 <MA5 && MA<MA10 && MA3<MA20 && MA3<MA30 ){break;}
}
 

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

уточнение: не на каждом тике, а не на каждом пересечении каждой из красных линий наверное вы имели ввиду. Запомнить последний бар мне кажется будет сложнее программно сделать, а вот чтобы он срабатывал именно тогда, когда пересекает последнюю линию из всех в наличии это да, важно. Причем если смотреть по коду 
if(MA3 >MA5 && MA>MA10 && MA>MA20 && MA3>MA30 ){break;}  то получается что допустим быстрая линия пересекает их строго" по порядку" а по логике так не получится к сожалению всегда, потому, что линии не всегда одна за другой идут по графику они перекрещиваются и та что была в первом случае самой последней красной (при пересечении быстрой сверху вниз), при пересечении быстрой вверх она может быть как первой по счету так и второй и третьей и четвертой равно как и иные красные линии поменяют свое положение - не все конечно но меняют.

уф...вроде все написал) дополнений нет.  

а вот с кодами у меня прям беда)

Автор - inkosto
Дата добавления - 16.10.2015 в 11:30

expforexДата: Пятница, 16.10.2015, 11:48 | Сообщение # 978
Главный Администартор
Группа: Администраторы
Сообщений: 8959
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

inkosto, Спасибо за гуру.
Но это не совсем то к сожалению . Все что Вы написали это не так строится.я просто показал как пример. Но индикаторы нужно во первых вызвать. в вторых ...............



Программирование на заказ || Наши Разработки

 
Сообщениеinkosto, Спасибо за гуру.
Но это не совсем то к сожалению . Все что Вы написали это не так строится.я просто показал как пример. Но индикаторы нужно во первых вызвать. в вторых ...............

Автор - expforex
Дата добавления - 16.10.2015 в 11:48

expforexДата: Пятница, 16.10.2015, 11:57 | Сообщение # 979
Главный Администартор
Группа: Администраторы
Сообщений: 8959
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

Иван1946Иван1946, попробуйте

Прикрепления: 6354751.zip(25Kb)


Программирование на заказ || Наши Разработки

 
СообщениеИван1946Иван1946, попробуйте

Автор - expforex
Дата добавления - 16.10.2015 в 11:57

inkostoДата: Пятница, 16.10.2015, 13:12 | Сообщение # 980
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 11
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
inkosto, Спасибо за гуру. Но это не совсем то к сожалению . Все что Вы написали это не так строится.я просто показал как пример. Но индикаторы нужно во первых вызвать. в вторых ...............
что во вторых? ))) жду жду жду))

а сможете вот этот момент правильно по вашему мнению написать. Т.е. это будет вставка после ретерна ровно как в описании к MACD, после start.  если уж я дундук такой и не могу сам это написать. а скоро будет конкурс на котором я буду делать скрины и высылать и там будет везде стоять ваш сайт, а скрин просматривают около 300 человек за раз)

 
Сообщение
Цитата expforex ()
inkosto, Спасибо за гуру. Но это не совсем то к сожалению . Все что Вы написали это не так строится.я просто показал как пример. Но индикаторы нужно во первых вызвать. в вторых ...............
что во вторых? ))) жду жду жду))

а сможете вот этот момент правильно по вашему мнению написать. Т.е. это будет вставка после ретерна ровно как в описании к MACD, после start.  если уж я дундук такой и не могу сам это написать. а скоро будет конкурс на котором я буду делать скрины и высылать и там будет везде стоять ваш сайт, а скрин просматривают около 300 человек за раз)

Автор - inkosto
Дата добавления - 16.10.2015 в 13:12
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Аллерт в Индикатор Alert() Alert Arrow (Алерт на экране после сигнала индикатора + уведомления почта)
Страница 98 из 127«1296979899100126127»
Поиск:


WebMoney Яндекс цитирования.