← К каталогу
Исходный код · ID 4443

!!!-mt4 semafor.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Это пользовательский индикатор для MetaTrader 5, который отображает на графике ценовые уровни, рассчитанные по данным High и Low за заданные периоды. Индикатор работает в окне графика и использует восемь буферов для вывода меток уровней.

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

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

Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 8
   extern bool ShowSemafors=true,SoundAlert=false; bool Trigger1,Trigger2,Trigger3,Trigger4;
   string myUpperSoundFile="alert.wav",myLowerSoundFile="alert.wav";
   string DevStep1="1,1",DevStep2="1,1",DevStep3="1,1",DevStep4="1,1",symbol,tChartPeriod;
      int Period1=21,Period2=40,Period3=40,Period4=72,digits,period,OldBars=-1,CountBars=1700,shfX;
      int SYM1=108,SYM2=108,SYM3=162,SYM4=162,Type;
      int lvl1DN,lvl1UP,lvl2DN,lvl2UP,lvl3DN,lvl3UP,lvl4DN,lvl4UP,Dev1,Stp1,Dev2,Stp2,Dev3,Stp3,Dev4,Stp4;
      int Sema1dn[2],Sema1up[2],Sema2dn[2],Sema2up[2],Sema3dn[2],Sema3up[2],Sema4dn[2],Sema4up[2];    
   double Level1UP[],Level1DN[],Level2UP[],Level2DN[],Level3UP[],Level3DN[],Level4UP[],Level4DN[],point,
   Semafor1dn[2],Semafor1up[2],Semafor2dn[2],Semafor2up[2],Semafor3dn[2],Semafor3up[2],Semafor4dn[2],Semafor4up[2];     

   int init() {
      // код доступен только после оплаты
   }

   int deinit() {return(0);}
   int  start() {
      // код доступен только после оплаты
   }deinit(); if(Bars!=OldBars){Trigger1=TRUE; Trigger2=TRUE; Trigger3=TRUE; Trigger4=TRUE;}
   if(Period1>0.0) CountZZ(Level1UP,Period1); if(Period2>0.0) CountZZ(Level2UP,Period2);
   if(Period3>0.0) CountZZ(Level3UP,Period3); if(Period4>0.0) CountZZ(Level4UP,Period4);

   if(Trigger1) {if(Level1UP[0]!=0.0) {Trigger1=FALSE;
   if(SoundAlert)Alert(symbol," ",tChartPeriod," Level1DN "+DoubleToStr(Close[0],digits));}
   if(Level1DN[0]!=0.0) {Trigger1=FALSE;
   if(SoundAlert)Alert(symbol," ",tChartPeriod," Level1UP "+DoubleToStr(Close[0],digits));}}

   if(Trigger2) {if(Level2UP[0]!=0.0) {Trigger2=FALSE;
   if(SoundAlert)Alert(symbol," ",tChartPeriod," Level2DN "+DoubleToStr(Close[0],digits));}
   if(Level2DN[0]!=0.0) {Trigger2=FALSE;
   if(SoundAlert)Alert(symbol," ",tChartPeriod," Level2UP "+DoubleToStr(Close[0],digits));}}

   if(Trigger3) {if(Level3UP[0]!=0.0) {Trigger3=FALSE;
   if(SoundAlert)Alert(symbol," ",tChartPeriod," Level3DN "+DoubleToStr(Close[0],digits));}
   if(Level3DN[0]!=0.0) {Trigger3=FALSE;
   if(SoundAlert)Alert(symbol," ",tChartPeriod," Level3UP "+DoubleToStr(Close[0],digits));}}

   if(Trigger4) {if(Level4UP[0]!=0.0) {Trigger4=FALSE;
   if(Sound

Показано первые 50% кода (символов: 6121)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
612,10₽ ≈ $7.48