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

!kevinator v2.mq5

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

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

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

О программе

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

Для генерации оповещений и email-сигналов индикатор использует сочетание направления стохастика на старшем таймфрейме, текущих значений CCI и уровней TMA. Поддерживается отображение разделителей мультитаймфрейма в виде вертикальных линий и вывод текущего направления для каждого таймфрейма в виде текстовых объектов на графике.

Оповещения генерируются при выполнении условий совпадения направления стохастика, пересечения CCI нулевой линии и соотношения цены с уровнями TMA. Условия различают стандартную и моментумную торговые сценарии.

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

НастройкаОписание
xi_CCI Период индикатора CCI, используемого для условий генерации сигналов.
xi_TMA Параметр индикатора TMA Called, используемого для определения уровней фильтрации сигналов.
xc_Text Цвет текстовых объектов и разделителей таймфреймов на графике.
xc_Up Цвет отображения линий и надписей восходящего направления стохастика.
xc_Down Цвет отображения линий и надписей нисходящего направления стохастика.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 6

#property indicator_level1 20
#property indicator_level2 80
#property indicator_color1 Yellow
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 SeaGreen
#property indicator_color5 Blue
#property indicator_color6 Red
#property indicator_width1 4
#property indicator_width2 4
#property indicator_width3 4
#property indicator_width4 2
#property indicator_width5 2
#property indicator_width6 2

extern int xi_TF.1 = 60;
extern int xi_KPeriod.1 = 14;
extern int xi_DPeriod.1 = 3;
extern int xi_Slowing.1 = 3;
extern int xi_MA.1 = 3;
extern int xi_PF.1 = 1;

extern int xi_TF.2 = 240;
extern int xi_KPeriod.2 = 10;
extern int xi_DPeriod.2 = 3;
extern int xi_Slowing.2 = 3;
extern int xi_MA.2 = 3;
extern int xi_PF.2 = 1;

extern bool xb_MOM.Mid = true;
extern int xi_CCI = 8;
extern int xi_TMA = 56;

extern bool xb_Show.MTF.Sep = true;

extern color xc_Text = LightGray;
extern color xc_Up = Blue;
extern color xc_Down = Red;
extern string xs_Unique.Pfx = "!MTF Sep_";

double IB_K.1[];
double IB_Level.1[];
double IB_Up.1[];
double IB_Down.1[];
double IB_K.2[];
double IB_Level.2[];
double IB_Up.2[];
double IB_Down.2[];

datetime gdt_TF.1[], gdt_TF.2[];
datetime gdt_TF.1.LB, gdt_TF.2.LB;
string gs_Ind.Name;
int gi_Window;
string gs_TF.1, gs_TF.2;
datetime gdt_Last.Alert;
datetime gdt_Last.eMail;

bool gb_Alerts, gb_eMail;

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

int deinit()
  {

   Delete_Period_Seperators();

   return(0);
  }

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

   int counted_bars=IndicatorCounted();
   int i,y,limit.1, limit.2;

   if(counted_bars<0) return(-1);

   gi_Window = WindowFind(gs_Ind.Name);   

   double ld_Alert = GlobalVariableGet("!Kevinator Alerts");
   if (GetLastError() == 4058)
      GlobalVariableSet("!Kevinator Alerts",0);

   if (ld_Alert != 0)
      gb_Alerts = true;
   else
      gb_Alerts = false;

   double ld_eMail = GlobalVariableGet("********** *****");
   if (GetLastError() == 4058)
      GlobalVariableSet("****************",0);

   if (ld_eMail != 0)
      gb_eMail = true;
   else
      gb_eMail = false;

   limit.1 = MathMax(Bars-counted_bars,xi_TF.1/Period());
   limit.2 = MathMax(Bars-counted_bars,xi_TF.2/Period());

   if (gdt_TF.1.LB != iTime(NULL,xi_TF.1,0))
      {
      gdt_TF.1.LB = iTime(NULL,xi_TF.1,0);
      ArrayCopySeries(gdt_TF.1,MODE_TIME,NULL,xi_TF.1);
      }

   if (gdt_TF.2.LB != iTime(NULL,xi_TF.2,0))
      {
      gdt_TF.2.LB = iTime(NULL,xi_TF.2,0);
      ArrayCopySeries(gdt_TF.2,MODE_TIME,NULL,xi_TF.2);
      }

   for (i=0, y=0; i<limit.1; i++)
      {
      if (Time[i] < gdt_TF.1[y]) 
         {
         y++;
         if (xb_Show.MTF.Sep)
            {
            ObjectCreate(xs_Unique.Pfx+Time[i],OBJ_VLINE,gi_Window,Time[i],0);
            ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_STYLE,STYLE_DOT);
            ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_COLOR,xc_Text);
            }
         }
      IB_K.1[i] = iStochastic(NULL,xi_TF.1,xi_KPeriod.1,xi_DPeriod.1,xi_Slowing.1,xi_MA.1,xi_PF.1,MODE_MAIN,y);
      }

   for (i=0, y=0; i<limit.2; i++)
      {
      if (Time[i] < gdt_TF.2[y]) 
         {
         y++;
         if (xb_Show.MTF.Sep)
            {
            ObjectCreate(xs_Unique.Pfx+Time[i],OBJ_VLINE,gi_Window,Time[i],0);
            ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_STYLE,STYLE_SOLID);
            ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_COLOR,xc_Text);
            }
         }
      IB_K.2[i] = iStochastic(NULL,xi_TF.2,xi_KPeriod.2,xi_DPeriod.2,xi_Slowing.2,xi_MA.2,xi_PF.2,MODE_MAIN,y);
      }

   for (i=limit.1; i>=0; i--)
      {
      if (IB_K.1[i] > IB_K.1[i+1])
         {
         IB_Up.1[i] = IB_K.1[i];
         IB_Up.1[i+1] = IB_K.1[i+1];
         }
      else 
         {
         IB_Up.1[i] = EMPTY_VALUE;
         if (IB_Up.1[i+2] == EMPTY_VALUE)
            IB_Up.1[i+1] = EMPTY_VALUE;
         }
      if (IB_K.1[i] < IB_K.1[i+1])
         {
         IB_Down.1[i] = IB_K.1[i];
         IB_Down.1[i+1] = IB_K.1[i+1];
         }
      else 
         {
         IB_Down.1[i] = EMPTY_VALUE;
         if (IB_Down.1[i+2] == EMPTY_VALUE)
            IB_Down.1[i+1] = EMPTY_VALUE;
         }
      }

   for (i=limit.2; i>=0; i--)
      {
      if (IB_K.2[i] > IB_K.2[i+1])
         {
         IB_Up.2[i] = IB_K.2[i];
         IB_Up.2[i+1] = IB_K.2[i+1];
         }
     

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

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

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

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

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

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

Стоимость полного кода
821₽ ≈ $10.03