Звук в индикаторах

Сможете мне помочь с алертом,друзья?


  • Всего проголосовало
    67

Lota

Новичок форума
Добрый день!
Мастера программирования, пожалуйста, добавьте алерт и окно оповещения (ТФ и валютная пара), после того, как появится луч индикатора. Спасибо.
 

Вложения

  • MultiZigZag.ex4
    41,5 КБ · Просмотры: 55
  • MultiZigZag.mq4
    20,3 КБ · Просмотры: 90

EnRon

Почетный гражданин
Прошу умельцев кто может добавите сигналы при касании цены
 

Вложения

  • Magnit.mq4
    2,4 КБ · Просмотры: 96

EnRon

Почетный гражданин
mobidik вы когдато выкладавали замечательный индикатор а нет ли у вас mtf версии поделитесь
 

Вложения

  • SSRC Force Alert [mobidik].mq4
    18,1 КБ · Просмотры: 182

Shorohov

Активный участник
Прошу помогите вставить в индикатор звук и алерт в момент когда появляется стрелки
 

Вложения

  • Alfa_Profit_v3_.mq4
    2,6 КБ · Просмотры: 272
  • 2017-12-06_12-14-21.png
    2017-12-06_12-14-21.png
    43,6 КБ · Просмотры: 545

Omukchaan

Элитный участник
Если его включить то он на каждом новом баре пиликает это не правильно только в момент сигнала надо

тогда вот исправил немного.

Скопируй код.

Код:
#property copyright "John campbell"
#property link      "http://www.SaneFX.com"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

double G_ibuf_76[];
double G_ibuf_80[];
extern int G_period_84 = 1;
extern int G_period_88 = 10;
extern bool SoundON = True;
int G_time_96;

// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, G_ibuf_76);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, G_ibuf_80);
   return (0);
}

// 52D46093050F38C27267BCE42543EF60
int deinit() {
   return (0);
}

// EA2B2676C28C0DB26D39331A336C6B92
int start() {
   int Li_0;
   double ima_4;
   double ima_12;
   double ima_20;
   double ima_28;
   double ima_36;
   double ima_44;
   double Ld_52;
   double Ld_60;
   int Li_68 = IndicatorCounted();
   if (Li_68 < 0) return (-1);
   if (Li_68 > 0) Li_68--;
   int Li_72 = Bars + 1 - Li_68;
   for (int Li_76 = 0; Li_76 <= Li_72; Li_76++) {
      Li_0 = Li_76;
      Ld_52 = 0;
      Ld_60 = 0;
      for (Li_0 = Li_76; Li_0 <= Li_76 + 9; Li_0++) Ld_60 += MathAbs(High[Li_0] - Low[Li_0]);
      Ld_52 = Ld_60 / 10.0;
      ima_4 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, Li_76);
      ima_20 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, Li_76 + 1);
      ima_36 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, Li_76 - 1);
      ima_12 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, Li_76);
      ima_28 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, Li_76 + 1);
      ima_44 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, Li_76 - 1);
      if (ima_4 > ima_12 && ima_20 < ima_28 && ima_36 > ima_44) G_ibuf_76[Li_76] = Low[Li_76] - Ld_52 / 2.0;
      else
         if (ima_4 < ima_12 && ima_20 > ima_28 && ima_36 < ima_44) G_ibuf_80[Li_76] = High[Li_76] + Ld_52 / 2.0;
 double     ima_41 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, 1);
 double     ima_201 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, 1 + 1);
 double     ima_361 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, 1 - 1);
 double     ima_121 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, 1);
 double     ima_281 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, 1 + 1);
 double     ima_441 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, 1 - 1);  
      if (ima_41 > ima_121 && ima_201 < ima_281 && ima_361 > ima_441) {
       
         if (SoundON == TRUE && G_time_96 != Time[0]) {
            Alert("SaneFxBinary Buy Trade ", Symbol(), Period());
            G_time_96 = Time[0];
         }
      } else {
         if (ima_41 < ima_121 && ima_201 > ima_281 && ima_361 < ima_441) {
           
            if (SoundON == TRUE && G_time_96 != Time[0]) {
               Alert("SaneFxBinary Sell Trade ", Symbol(), Period());
               G_time_96 = Time[0];
            }
         }
      }
   }
   return (0);
}
 
Последнее редактирование модератором:

ctmcn

Новичок форума
ADX_Crossing_A

Не отключается алерт, если "False" - как побороть ?
Или кто-нибудь поправит, еще лучше будет.:)
 

Вложения

  • ADX Crossing_A.mq4
    7,4 КБ · Просмотры: 74

Omukchaan

Элитный участник
Визуально со звуком если можно, ну если получится то и на почту пожалуйста.

Привет! Вот скопируй код.
Должно работать, сам еще не проверил.

Код:
//+------------------------------------------------------------------+
//|                                                       Magnit.mq4 |
//|                                                     Saasa Ivanov |
//|                                      https://www.saasa.jimdo.com |
//+------------------------------------------------------------------+
#property copyright "Saasa Ivanov"
#property link      "https://www.saasa.jimdo.com"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gold
//---- input parameters
extern int       period=14;
extern bool Alert_Message = True;
//---- buffers
double Magnit[];
int prevtime;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,Magnit);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- main loop
   for(int i=0; i<limit; i++)
     {
     double ma1=iMA(NULL,0,period,0,0,1,i);
     double ma2=iMA(NULL,0,period*2,0,0,1,i);
     double ma3=iMA(NULL,0,period*3,0,0,1,i);
     double delta1=MathAbs(iOpen(NULL,0,i)-ma1);
     double delta2=MathAbs(iOpen(NULL,0,i)-ma2);
     double delta3=MathAbs(iOpen(NULL,0,i)-ma3);
     if(delta1==0)delta1=Point;
     if(delta2==0)delta2=Point;
     if(delta3==0)delta3=Point;
     double k1=1/delta1;
     double k2=1/delta2;
     double k3=1/delta3;
     Magnit[i]=((ma1*k1)+(ma2*k2)+(ma3*k3))/(k1+k2+k3);
     }
     if(Time[0] == prevtime) 
       return(0);
     prevtime = Time[0];  
     if (Alert_Message&&Magnit[0]>=Ask&&Magnit[2]<=Bid) Alert("Линия Magnit пересекает цену снизу верх, на паре: ",Symbol());
     if (Alert_Message&&Magnit[0]>=Ask&&Magnit[2]<=Bid) SendNotification(Symbol()+" Линия Magnit пересекает цену снизу верх "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));
     
     if (Alert_Message&&Magnit[0]<=Bid&&Magnit[2]>=Ask) Alert("Линия Magnit пересекает цену сверху вниз, на паре: ",Symbol()); 
     if (Alert_Message&&Magnit[0]<=Bid&&Magnit[2]>=Ask) SendNotification(Symbol()+" Линия Magnit пересекает цену сверху вниз "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));  

   return(0);
  }
//+------------------------------------------------------------------+
 
Последнее редактирование модератором:

Omukchaan

Элитный участник
алерт выйдет на Мт4 в компе, и сигнал придет на мобильный мт4.
 
Верх