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

fiboretracement3.mq5

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

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

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

О программе

Индикатор FiboRetracement3 рассчитывает верхний и нижний каналы на основе фрактальных максимумов и минимумов цены, используя параметры nLeft и nRight для определения диапазона анализа. В пределах рассчитанных каналов строятся уровни ретрейсмента, соответствующие делениям диапазона на 6 частей (1/6, 2/6, 3/6, 4/6, 5/6), которые отображаются в виде отдельных буферов на графике. Параметр filter задаёт порог фильтрации для корректировки расчёта ценовых уровней. При инициализации индикатор определяет точки начала отрисовки на основе поиска фрактальных структур и настраивает визуальное представление семи буферов.

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

НастройкаОписание
nLeft Целочисленный параметр, задающий количество баров слева от текущего, используемых для определения левой границы фрактального диапазона анализа.
nRight Целочисленный параметр, задающий количество баров справа от текущего, используемых для определения правой границы фрактального диапазона анализа.
filter Целочисленный параметр, определяющий коэффициент фильтрации для расчёта промежуточных ценовых уровней. При значении больше нуля используется процентное отклонок от диапазона канала для корректировки ценовых значений.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Black
#property indicator_color4 Black
#property indicator_color5 Black
#property indicator_color6 Black
#property indicator_color7 Black
#property indicator_color8 Black

extern int nLeft=50;
extern int nRight=50;
extern int filter=10;

double UpBuffer[];
double DnBuffer[];
double f_2[];
double f_3[];
double f_4[];
double f_5[];
double f_6[];

int draw_begin1=0, draw_begin2=0, d_b3=0;

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

int start()
  {
      // код доступен только после оплаты
   }
   double UpStage=0.0,DnStage=0.0;
   int i,j,fRange,Range=nLeft+nRight+1;
   int counted_bars=IndicatorCounted();

   for(i=Bars-1-counted_bars-nLeft;i>=nRight;i--)
   {

      if(High[i]>=High[Highest(NULL,0,MODE_HIGH,Range,i-nRight)])
      {

         fRange=nvnLeft(i,nLeft)+nvnRight(i,nRight)+1;

         if(High[i]>=High[Highest(NULL,0,MODE_HIGH,fRange,i-nvnRight(i,nRight))])
         {
            UpStage=High[i];

         }
         else
         {
            if(High[i]<=UpBuffer[i+1])
            {
               UpStage=UpBuffer[i+1];

            }
            else
            {
               UpStage=nfUp(i);

            }
         }
      }
      else
      {

         if(High[i]<=UpBuffer[i+1])
         {
            UpStage=UpBuffer[i+1];

         }
         else
         {
            UpStage=nfUp(i);

         }
      }

      if(Low[i]<=Low[Lowest(NULL,0,MODE_LOW,Range,i-nRight)])
      {
         fRange=nvnLeft(i,nLeft)+nvnRight(i,nRight)+1;

         if(Low[i]<=Low[Lowest(NULL,0,MODE_HIGH,fRange,i-nvnRight(i,nRight))]) 
         {
            DnStage=Low[i];
         }
         else
         {
            if(Low[i]>=DnBuffer[i+1])
            {
               DnStage=DnBuffer[i+1];
            }
            else
            {
               DnStage=nfDn(i);
            }
         }
      }
      else
      {
         if(Low[i]>=DnBuffer[i+1])
         {
            DnStage=DnBuffer[i+1];
         }
         else
         {
            DnStage=nfDn(i);
         }
      }
      UpBuffer[i]=UpStage;
      DnBuffer[i]=DnStage;

      f_2[i]=NormalizeDouble(DnBuffer[i]+(UpBuffer[i]-DnBuffer[i])/6,4);
      f_3[i]=NormalizeDouble(DnBuffer[i]+(UpBuffer[i]-DnBuffer[i])/3,4);
      f_4[i]=NormalizeDouble(DnBuffer[i]+(UpBuffer[i]-DnBuffer[i])/2,4);

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

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

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

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

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

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

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