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

#4x 3 semafor alert - repaired.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 Включает или отключает уведомления для первого уровня индикатора. При значении true и появлении нового сигнала на первом уровне будут срабатывать выбранные типы оповещений.
AlertLv2 Включает или отключает уведомления для второго уровня индикатора. При значении true и появлении нового сигнала на втором уровне будут срабатывать выбранные типы оповещений.
AlertLv3 Включает или отключает уведомления для третьего уровня индикатора. При значении true и появлении нового сигнала на третьем уровне будут срабатывать выбранные типы оповещений.
Получить полный код

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

#property indicator_chart_window 
#property indicator_buffers 6
#property indicator_color1 Lime 
#property indicator_color2 OrangeRed 
#property indicator_color3 Yellow
#property indicator_color4 Yellow
#property indicator_color5 White
#property indicator_color6 Red

#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   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( 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(AlertLv2LowSoundFile); 
                          

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

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

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

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

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

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

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