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

shi_zigzagpro v1-1.mq5

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

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

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

О программе

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

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

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

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

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

НастройкаОписание
barn Глубина анализа — количество баров от текущего, в пределах которых выполняется расчёт разворотов и построение индикаторных буферов.
Length Длина поиска экстремумов — количество баров, в пределах которого определяются локальные минимумы и максимумы цены для построения зигзага.
Получить полный код

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

#property indicator_chart_window 
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green

extern int  barn=300;
extern int  Length=6;

int         shift,Swing,Swing_n,zu,zd,N,i,Per; 
double      LL,HH,BH,BL;
double      Now[];
double      Prev1[];
double      Prev2[];

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

int start() 
{
      // код доступен только после оплаты
   }
   Swing_n=0; Swing=0;
   BH=High[barn]; BL=Low[barn];  zu=barn; zd=barn; 

   for(i=barn;i>=0;i--)
   {
      Now[i]=0.0; Prev1[i]=0.0; Prev2[i]=0.0;
   }

   for(shift=barn;shift>=0;shift--)
   {
      LL=Low[Lowest(NULL,0,MODE_LOW,Length,shift+1)];
      HH=High[Highest(NULL,0,MODE_HIGH,Length,shift+1)];
      if(Low[shift]<LL && High[shift]>HH)
      {
         Swing=2; 
         if(Swing_n==1) zu=shift+1;
         if(Swing_n==-1) zd=shift+1;
      }
      else
      {
         if(Low[shift]<LL) Swing=-1;
         if(High[shift]>HH) Swing=1;
      }
      if(Swing!=Swing_n && Swing_n!=0)
      {
         if(Swing==2) { Swing=-Swing_n; BH=High[shift]; BL=Low[shift]; }
         if(Swing==1) Now[zd]=BL;
         if(Swing==-1) Now[zu]=BH;
         BH=High[shift]; BL=Low[shift];
      }
      if(Swing==1) { if(High[shift]>=BH) { BH=High[shift]; zu=shift; } }
      if(Swing==-1) { if(Low[shift]<=BL) { BL=Low[shift]; zd=shift; } }
      Swing_n=Swing;
   }
   for(N=0,shift=barn;shift>=0;shift--)
   {
      if(Now[shift]>0)
  

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

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

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

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

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

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

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