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

Раздел: Язык программирования MQL4
Автор темы: lion_v020260
Создана: 2012-08-03 10:01
Ответов: 8623 | Просмотров: 2241193
Страница 333 из 432
Источник: https://forexsystemru.com/threads/68783/page-333

---

## Lota — 2017-12-01 19:58

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

## EnRon — 2017-12-05 21:48

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

## AlenaS — 2017-12-05 21:54

> Цитата (rft):
> Прошу умельцев кто может добавите сигналы при касании цены

Не ставится на график

## EnRon — 2017-12-05 22:05

> Цитата (AlenaS):
> Не ставится на график

Перезалил

## mobidik — 2017-12-05 22:50

> Цитата (rft):
> Прошу умельцев кто может добавите сигналы при касании цены

:D
Ну очень, очень интересный кода Вашего "Magnit"-а:

## EnRon — 2017-12-05 22:53

> Цитата (mobidik):
> :D
> Ну очень, очень интересный кода Вашего "Magnit"-а:

:D это значит не получается?

## EnRon — 2017-12-05 22:57

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

## mobidik — 2017-12-05 23:00

> Цитата (rft):
> :D это значит не получается?

с этой аброй-кадаброй - нет.

> Цитата (rft):
> mobidik вы когдато выкладавали замечательный индикатор а нет ли у вас mtf версии поделитесь

версии mtf нет.

## Shorohov — 2017-12-06 13:27

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

## Omukchaan — 2017-12-06 13:43

> Цитата (Shorohov):
> Прошу помогите вставить в индикатор звук и алерт в момент когда появляется стрелки

Привет
Там алерт есть.
SoundON = TRUE сделай в настройке

Хэхэхэ)))

## Shorohov — 2017-12-06 13:51

> Цитата (Omukchaan):
> Привет
> Там алерт есть.
> SoundON = TRUE сделай в настройке
>
> Хэхэхэ)))

НЕт там Алерта нет, в этом то и проблема

## Shorohov — 2017-12-06 13:52

> Цитата (Omukchaan):
> Привет
> Там алерт есть.
> SoundON = TRUE сделай в настройке
>
> Хэхэхэ)))

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

## Omukchaan — 2017-12-06 14:22

> Цитата (rft):
> Прошу умельцев кто может добавите сигналы при касании цены

Привет!

просто алерт?

## Omukchaan — 2017-12-06 14:45

> Цитата (Shorohov):
> Если его включить то он на каждом новом баре пиликает это не правильно только в момент сигнала надо

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

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

```

#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 - Low);
      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 = Low - Ld_52 / 2.0;
      else
         if (ima_4 < ima_12 && ima_20 > ima_28 && ima_36 < ima_44) G_ibuf_80 = High + 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) {
            Alert("SaneFxBinary Buy Trade ", Symbol(), Period());
            G_time_96 = Time;
         }
      } else {
         if (ima_41 < ima_121 && ima_201 > ima_281 && ima_361 < ima_441) {
           
            if (SoundON == TRUE && G_time_96 != Time) {
               Alert("SaneFxBinary Sell Trade ", Symbol(), Period());
               G_time_96 = Time;
            }
         }
      }
   }
   return (0);
}

```

## Shorohov — 2017-12-06 15:40

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

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

спасибо, поставл, сейчас проверю как он будет в реале звучать

## EnRon — 2017-12-07 16:32

> Цитата (Omukchaan):
> Привет!
>
> просто алерт?

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

## Omukchaan — 2017-12-07 16:45

Хорошо , сделаю.

## ctmcn — 2017-12-08 12:27

**ADX_Crossing_A**

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

## Omukchaan — 2017-12-09 07:35

> Цитата (rft):
> Визуально со звуком если можно, ну если получится то и на почту пожалуйста.

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

```
//+------------------------------------------------------------------+
//|                                                       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=((ma1*k1)+(ma2*k2)+(ma3*k3))/(k1+k2+k3);
     }
     if(Time == prevtime) 
       return(0);
     prevtime = Time;  
     if (Alert_Message&&Magnit>=Ask&&Magnit<=Bid) Alert("Линия Magnit пересекает цену снизу верх, на паре: ",Symbol());
     if (Alert_Message&&Magnit>=Ask&&Magnit<=Bid) SendNotification(Symbol()+" Линия Magnit пересекает цену снизу верх "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));
     
     if (Alert_Message&&Magnit<=Bid&&Magnit>=Ask) Alert("Линия Magnit пересекает цену сверху вниз, на паре: ",Symbol()); 
     if (Alert_Message&&Magnit<=Bid&&Magnit>=Ask) SendNotification(Symbol()+" Линия Magnit пересекает цену сверху вниз "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));  

   return(0);
  }
//+------------------------------------------------------------------+
```

## Omukchaan — 2017-12-09 07:37

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

---

Следующая страница: https://forexsystemru.com/threads/68783/page-334
