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

#semaforalert.mq5

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

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

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

О программе

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

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

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

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

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

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

#property indicator_chart_window 
#property indicator_buffers 6
#property indicator_color1 clrLime 
#property indicator_color2 clrOrangeRed 
#property indicator_color3 clrYellow
#property indicator_color4 clrYellow
#property indicator_color5 clrLightGreen
#property indicator_color6 clrDarkSalmon

#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 3
#property indicator_width6 3

extern double Period1=15;  
extern double Period2=30;  
extern double Period3=60; 

extern string   Dev_Step_1="5,3";
extern string   Dev_Step_2="10,6";  
extern string   Dev_Step_3="20,12"; 

extern int Symbol_1_Kod=119;//159 small round
extern int Symbol_2_Kod=159;
extern int Symbol_3_Kod=82;

extern string _____           ="";
extern bool   BoxAlerts      = True ;
extern bool   EmailAlerts    = false ;
extern bool   SoundAlerts    = False ;

extern bool   AlertLv1    = False ;
extern bool   AlertLv2    = False ;
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( 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 ( 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(Aler

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

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

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

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

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

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

Стоимость полного кода
694,50₽ ≈ $8.63