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

Chaos Semafor

chaos semafor 4 mod [fillelin].mq5
Вы автор или правообладатель?

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

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

О программе

«Chaos Semafor» — пользовательский индикатор для MetaTrader 5, отображающий на графике три уровня аналитических сигналов на основе расчёта локальных экстремумов ценовых данных. Индикатор использует три периода (Period1, Period2, Period3), каждый из которых задаёт отдельный уровень анализа с собственной глубиной и чувствительностью. Результаты расчёта отрисовываются в виде стрелок на графике в трёх цветовых группах.

Индикатор поддерживает систему уведомлений трёх уровней (AlertLv1, AlertLv2, AlertLv3), которые срабатывают при появлении новых сигналов. Для каждого уровня можно включить всплывающие окна (BoxAlerts), отправку email (EmailAlerts) и звуковые оповещения (SoundAlerts) с выбором соответствующих звуковых файлов.

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

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

НастройкаОписание
Period1 Период расчёта первого уровня индикатора, задаётся как множитель текущего таймфрейма.
Period2 Период расчёта второго уровня индикатора, задаётся как множитель текущего таймфрейма.
Period3 Период расчёта третьего уровня индикатора, задаётся как множитель текущего таймфрейма.
_____ Пустой текстовый параметр без указанного назначения.
BoxAlerts Включает или выключает всплывающие оконные уведомления на графике.
EmailAlerts Включает или выключает отправку email-уведомлений при срабатывании сигналов.
SoundAlerts Включает или выключает звуковые оповещения при срабатывании сигналов.
AlertLv1 Включает или выключает уведомления первого уровня при появлении новых сигналов.
AlertLv2 Включает или выключает уведомления второго уровня при появлении новых сигналов.
AlertLv3 Включает или выключает уведомления третьего уровня при появлении новых сигналов.
AlertLv1HighSoundFile Путь к звуковому файлу для уведомления первого уровня «High».
AlertLv1LowSoundFile Путь к звуковому файлу для уведомления первого уровня «Low».
AlertLv2HighSoundFile Путь к звуковому файлу для уведомления второго уровня «High».
AlertLv2LowSoundFile Путь к звуковому файлу для уведомления второго уровня «Low».
AlertLv3HighSoundFile Путь к звуковому файлу для уведомления третьего уровня «High».
AlertLv3LowSoundFile Путь к звуковому файлу для уведомления третьего уровня «Low».
Получить полный код

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

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

#property indicator_width1 5
#property indicator_width2 5
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 1
#property indicator_width6 1

string   Dev_Step_1="1,1"; //1,3
string   Dev_Step_2="1,1"; //8,5
string   Dev_Step_3="1,1";//13,8
int Symbol_1_Kod=108;//78;//251;
int Symbol_2_Kod=108;//78;//82;
int Symbol_3_Kod=108;//78;//82;

extern double Period1=77; 
extern double Period2=31; 
extern double Period3=9; 
extern string _____           ="";
extern bool   BoxAlerts      = false ;
extern bool   EmailAlerts    = false ;
extern bool   SoundAlerts    = true ;

extern bool   AlertLv1    = true ;
extern bool   AlertLv2    = true ;
extern bool   AlertLv3    = true ;
extern string AlertLv1HighSoundFile       =  "buy_rob_pirate.wav";  //any soundfile
extern string AlertLv1LowSoundFile        =  "buy_rob_pirate.wav";
extern string AlertLv2HighSoundFile       =  "Level2_CHOOCHOO.WAV";
extern string AlertLv2LowSoundFile        =  "Level2_CHOOCHOO.WAV";
extern string AlertLv3HighSoundFile       =  "Level3_Effect37.wav";
extern string AlertLv3LowSoundFile        =  "Level3_Effect37.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% кода (символов: 6921)

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

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

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

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

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

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