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

! $ 2012 sema4x - white only.mq5

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

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

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

О программе

Этот файл является пользовательским индикатором для MetaTrader 5, написанным на языке MQL5. Индикатор отображается в окне графика и рассчитывает четыре буфера данных, которые визуализируются в виде стрелок двух цветов (DodgerBlue и Red) и белых маркеров. В коде используются устаревшие функции init(), deinit() и start(), что соответствует стилю MQL4, однако файл имеет расширение .mq5 и предназначен для платформы MetaTrader 5.

Индикатор строит две линии (уровни) на основе алгоритма, напоминающего ZigZag: первый уровень рассчитывается с использованием параметра Period1, второй — с Period2. Для каждого уровня предусмотрены отдельные настройки отклонения и шага, задаваемые строками Dev_Step_1 и Dev_Step_2. Отображение стрелок на графике зависит от значений буферов: ненулевые значения в буферах FP_BuferUp и FP_BuferDn соответствуют событиям первого уровня, а NP_BuferUp и NP_BuferDn — второго уровня.

При появлении ненулевого значения в буферах индикатор может выдавать уведомления: всплывающее окно Alert, электронное письмо SendMail или звуковой сигнал PlaySound. Эти уведомления управляются входными параметрами Box.Alerts, Email.Alerts, Sound.Alerts, а также Alert.Lv1 и Alert.Lv2 для раздельного включения уведомлений по уровням. Звуковые файлы заданы как boss.wav для всех событий.

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

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

НастройкаОписание
_____ Пустой строковый параметр, объявленный как extern. В коде не используется и не влияет на работу индикатора.
Получить полный код

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

#property indicator_chart_window 
#property indicator_buffers 4
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
#property indicator_color3 White
#property indicator_color4 White

#property indicator_width1 3
#property indicator_width2 3
#property indicator_width3 3
#property indicator_width4 3

double Period1=21;
double Period2=96;

string   Dev_Step_1="1,1";
string   Dev_Step_2="1,1";

int Symbol_1_Kod=164;
int Symbol_2_Kod=164;

extern string _____           ="";
extern bool   Box.Alerts      = false ;
extern bool   Email.Alerts    = false ;
extern bool   Sound.Alerts    = false ;

extern bool   Alert.Lv1    = true ;
extern bool   Alert.Lv2    = true ;

string Alert.Lv1.High.SoundFile       =  "boss.wav";
string Alert.Lv1.Low.SoundFile        =  "boss.wav";
string Alert.Lv2.High.SoundFile       =  "boss.wav";
string Alert.Lv2.Low.SoundFile        =  "boss.wav";

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

int F_Period;
int N_Period;

int Dev1;
int Stp1;
int Dev2;
int Stp2;

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

bool Trigger1,  Trigger2;

int OldBars = -1 ;

color tColor = Yellow ;

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

int deinit() 
  { 

   return(0); 
  } 

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

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

   if (Period1>0) CountZZ(FP_BuferUp,FP_BuferDn,Period1,Dev1,Stp1);
   if (Period2>0) CountZZ(NP_BuferUp,NP_BuferDn,Period2,Dev2,Stp2);

   string alert.level;   string alert.message;

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

      if ( Trigger1 &&  Alert.Lv1 ) 
      {
        if( FP_BuferUp[0] != 0 ) {  Trigger1 = False ; alert.level =" ZZS: Level 1 Low;  "; 
                                    if(Box.Alerts)    Alert(alert.level,alert.message); 
                                    if(Email.Alerts)  SendMail(alert.level,alert.message);
                                    if(Sound.Alerts)  PlaySound(Alert.Lv1.Low.SoundFile); 
                                   }

        if( FP_BuferDn[0] != 0 ) {  Trigger1 = False ; alert.level =" ZZS: Level 1 High; ";
                                    if(Box.Alerts)    Alert(alert.level,alert.message); 
                                    if(Email.Alerts)  SendMail(alert.level,alert.message);
                                    if(Sound.Alerts)  PlaySound(Alert.Lv1.High.SoundFile);
                                   }
      }

      if ( Trigger2 &&  Alert.Lv2 ) 
      {
        if( NP_BuferUp[0] != 0 ) {  Trigger2 = False ; alert.level =" ZZS: Level 2 Low;  "; 
                                    if(Box.Alerts)    Alert(alert.level,alert.message); 
                                    if(Email.Alerts)  SendMail(alert.level,alert.message);
                                    if(Sound.Alerts)  PlaySound(Alert.Lv2.Low.SoundFile); 
                                   }

        if( NP_BuferDn[0] != 0 ) {  Trigger2 = False ; alert.level =" ZZS: Level 2 High; "; 
                                    if(Box.Alerts)    Alert(alert.level,alert.message); 
                                    if(Email.Alerts)  SendMail(alert.level,alert.message);
 

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

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

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

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

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

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

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