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

#4x 3 semafor alert.mq5

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

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

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

О программе

Этот пользовательский индикатор для MetaTrader 5 отображает на графике ценовые уровни, рассчитанные по трём независимым настраиваемым периодам. Для каждого периода строятся две серии стрелок: одна для верхних, другая для нижних уровней. Индикатор не является торговым советником и не совершает сделок; он только визуализирует аналитическую разметку и может подавать уведомления при появлении новых сигналов.

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

Оповещения срабатывают один раз при появлении нового сигнала на текущем баре и сбрасываются при изменении количества баров на графике. Индикатор работает в окне графика и использует шесть буферов для отрисовки стрелок. Настройки вынесены во входные параметры, что позволяет гибко адаптировать индикатор под разные инструменты и таймфреймы.

Настройки программы

НастройкаОписание
Period1 Период расчёта для первого уровня. При значении больше нуля соответствующие буферы активируются.
Period2 Период расчёта для второго уровня. При значении больше нуля соответствующие буферы активируются.
Period3 Период расчёта для третьего уровня. При значении больше нуля соответствующие буферы активируются.
Dev_Step_1 Задаёт параметры отклонения и шага для первого периода в виде строки с двумя числами, разделёнными запятой.
Dev_Step_2 Задаёт параметры отклонения и шага для второго периода в виде строки с двумя числами, разделёнными запятой.
Dev_Step_3 Задаёт параметры отклонения и шага для третьего периода в виде строки с двумя числами, разделёнными запятой.
Symbol_1_Kod Код символа для отображения стрелок первого уровня.
Symbol_2_Kod Код символа для отображения стрелок второго уровня.
Symbol_3_Kod Код символа для отображения стрелок третьего уровня.
_____ Разделительный параметр, не влияющий на работу индикатора.
BoxAlerts Включает или отключает вывод оповещений во всплывающем окне.
EmailAlerts Включает или отключает отправку оповещений по электронной почте.
PushNotificationAlerts Включает или отключает отправку push-уведомлений на мобильные устройства.
SoundAlerts Включает или отключает звуковые оповещения при появлении сигналов.
AlertLv1 Включает или отключает оповещения для сигналов первого уровня.
AlertLv2 Включает или отключает оповещения для сигналов второго уровня.
AlertLv3 Включает или отключает оповещения для сигналов третьего уровня.
Получить полный код

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

#property indicator_chart_window 
#property indicator_buffers 6
#property indicator_color1 clrNONE 
#property indicator_color2 clrNONE 
#property indicator_color3 clrNONE
#property indicator_color4 clrNONE
#property indicator_color5 clrLime
#property indicator_color6 clrRed

#property indicator_width1 6
#property indicator_width2 6
#property indicator_width3 7
#property indicator_width4 7
#property indicator_width5 7
#property indicator_width6 7

extern double Period1=5; 
extern double Period2=12; 
extern double Period3=35; 
extern string   Dev_Step_1="5,3"; //1,3
extern string   Dev_Step_2="5,3"; //8,5
extern string   Dev_Step_3="5,3";//13,8
extern int Symbol_1_Kod=159;
extern int Symbol_2_Kod=159;
extern int Symbol_3_Kod=82;

extern string _____           ="";
extern bool   BoxAlerts      = false ;
extern bool   EmailAlerts    = false ;
extern bool   PushNotificationAlerts = false;
extern bool   SoundAlerts    = true ;

extern bool   AlertLv1    = false ;
extern bool   AlertLv2    = true ;
extern bool   AlertLv3    = true ;
string AlertLv1HighSoundFile       =  "stage one level high.wav";  //any soundfile
string AlertLv1LowSoundFile        =  "stage one level low.wav";
string AlertLv2HighSoundFile       =  "stage two level high.wav";
string AlertLv2LowSoundFile        =  "stage two level low.wav";
string AlertLv3HighSoundFile       =  "stage three level high.wav";
string AlertLv3LowSoundFile        =  "stage three level low.wav";

double FP_BuferUp[];
double FP_BuferDn[]; 
double NP_BuferUp[];
double NP_BuferDn[]; 
double HP_BuferUp[];
double HP_BuferDn[]; 

int F_Period;
int N_Period;
int H_Period;
int Dev1;
int Stp1;
int Dev2;
int Stp2;
int Dev3;
int Stp3;

string symbol, tChartPeriod,  tShortName ;  
int    digits, period  ; 

bool Trigger1,  Trigger2,  Trigger3 ;

int OldBars = -1 ;

color tColor = Yellow ;

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

int deinit() 
  { 

   return(0); 
  } 

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

   if( Bars != OldBars ) { Trigger1 = True ; Trigger2 = True ; Trigger3 = True ;}

   if (Period1>0) CountZZ(FP_BuferUp,FP_BuferDn,Period1,Dev1,Stp1);
   if (Period2>0) CountZZ(NP_BuferUp,NP_BuferDn,Period2,Dev2,Stp2);
   if (Period3>0) CountZZ(HP_BuferUp,HP_BuferDn,Period3,Dev3,Stp3);

   string alertlevel;   string alertmessage;

   alertmessage = symbol+"  "+ tChartPeriod+ " at "+ DoubleToStr(Close[0] ,digits);

      if ( Trigger1 &&  AlertLv1 ) 
      {
        if( FP_BuferUp[0] != 0 ) {  Trigger1 = False ; alertlevel =" ZZS: Level 1 Low;  "; 
                                    if(BoxAlerts)    Alert(alertlevel,alertmessage); 
                                    if(EmailAlerts)  SendMail(alertlevel,alertmessage);
                                    if(SoundAlerts)  PlaySound(AlertLv1LowSoundFile); 
                                    if (PushNotificationAlerts) SendNotification(alertlevel+alertmessage);
                                   }
        if( FP_BuferDn[0] != 0 ) {  Trigger1 = False ; alertlevel =" ZZS: Level 1 High; ";
                                    if(BoxAlerts)    Alert(alertlevel,alertmessage); 
                                    if(EmailAlerts)  SendMail(alertlevel,alertmessage);
                                    if(SoundAlerts)  PlaySound(AlertLv1HighSoundFile);
                                    if (PushNotificationAlerts) SendNotification(alertlevel+alertmessage);
                                   }
      }

      if ( Trigger2 &&  AlertLv2 ) 
      {
        if( NP_BuferUp[0] != 0 ) {  Trigger2 = False ; alertlevel =" ZZS: Level 2 Low;  "; 
                                    if(BoxAlerts)    Alert(alertlevel,alertmessage); 
                                    if(EmailAlerts)  SendMail(alertlevel,alertmessage);
                                    if(SoundAlerts)  PlaySound(AlertLv2LowSoundFile); 
                                    if (PushNotificationAlerts) SendNotification(alertlevel+alertm

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

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

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

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

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

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

Стоимость полного кода
734,60₽ ≈ $8.98