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

multi_pairs_correlation_piramida_v2.01_eng.mq4

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

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

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

О программе

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

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

Все данные выводятся в виде объектов-меток прямо на графике терминала MetaTrader 4. Информационная панель с параметрами расчёта может быть включена или выключена отдельной настройкой.

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

НастройкаОписание
?????? ??????????-1 (CorPeriod_1) Период корреляции 1 — Первый период для расчёта корреляции
?????? ??????????-2 (CorPeriod_2) Период корреляции 2 — Второй период для расчёта корреляции
??????? ?? (KK_level) Уровень KK — Пороговый уровень корреляции для выделения значений цветом
?????????? ????? ??? ??????? ?????? (ControlBars) Количество баров — Количество баров, используемых для расчёта дельта-показателя
?????????? ????? ??? ??????? ?????? (Delta_level) Уровень дельта — Пороговое значение дельта для отображения меток
DisplayInfo Отображение информации — Включает или выключает отображение информационной панели на графике
Получить полный код

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

#property indicator_chart_window

extern int    CorPeriod_1 = 120;   // ?????? ??????????-1
extern int    CorPeriod_2 = 480;   // ?????? ??????????-2
extern double KK_level    = 0.80;  // ??????? ??  
extern int    ControlBars = 50;    // ?????????? ????? ??? ??????? ?????? 
extern int    Delta_level = 500;   // ?????????? ????? ??? ??????? ?????? 
extern bool   DisplayInfo = true;

string Index[8];      // ??? ??????? ????? 
string Symbols[8,8];  // ??? ???????? ???? ?????
string Object_y[28];  // ???? ??? ??????? ?? ??? Y
string Object_x[28];  // ???? ??? ??????? ?? ??? X
string Sym_sym[28,28];// ??? ???? ??? (??)  
double Corr[28,28];   // ??? ???????????? ?????????? (??)
int    DIST_y[28];    // ?????????? ?? ??? Y
int    DIST_x[28];    // ?????????? ?? ??? X
string Delte[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};    // ?????? ?????
string DelteText[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};// ?????? ????? ????????

color Color = DodgerBlue;
int x=10,y=8,o,font_size=8,tic=20;
int    CorPeriod;
int dx,dy;

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

int deinit()
  {

   for(int i=0;i<28;i++)
     {
     if(Object_y[i]!="")
      ObjectDelete(Object_y[i]);              // ???????? ???????  
      if(Object_x[i]!="")
      ObjectDelete(Object_x[i]);              // ???????? ???????        
     }

   for(int t=1;t<28;t++)
     {
    for(int c=0;c<t;c++)
      {
      if(Sym_sym[t,c]!="")
       ObjectDelete(Sym_sym[t,c]);            // ???????? ??????? 
      }
     } 

      ObjectDelete("Info");                   // ???????? ???????              
      ObjectDelete("Info_1");                 // ???????? ??????? 

   for(int d=0;d<201;d++)
     {
      if(Delte[d]!="")
      ObjectDelete(Delte[d]);                 // ???????? ???????  
      if(DelteText[d]!="")
      ObjectDelete(DelteText[d]);             // ???????? ???????  
     }

   return(0);
  }

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

  if(tic<5){tic++;return(0);}
  else tic=0;

   for(int d=0;d<201;d++)
     {
      if(Delte[d]!="")
      ObjectDelete(Delte[d]);                 // ???????? ???????  
      if(DelteText[d]!="")
      ObjectDelete(DelteText[d]);             // ???????? ??????? 
     }

  o=0;int o_1=0;dx=0;dy=0;
   string Text;
   for(int a=1;a<28;a++)
     {
    for(int b=0;b<a;b++)
      {
       Sym_sym[a,b] = StringConcatenate(Object_y[a],"_",Object_y[b]);

       CorPeriod = CorPeriod_1;
       double C = Cor(Object_y[a], Object_y[b]);
       Text = DoubleToStr(C,2);
       Color = DimGray;
       if(C>=KK_level)
        {
         Color = Yellow;o++;
         CorPeriod = CorPeriod_2;
         C = Cor(Object_y[a], Object_y[b]);
         if(C>=KK_level){Object(0,a,b,o_1);Color = Lime;o_1++;}
        }
       if(C<=-KK_level)
        {         
         Color = Yellow;o++;
         CorPeriod = CorPeriod_2;
         C = Cor(Object_y[a], Object_y[b]);
         if(C<=-KK_level){Object(1,a,b,o_1);Color = Red;o_1++;}
        }
  

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

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

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

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

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

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

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