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

FIBO Target v1

fibo target v1.mq5
Вы автор или правообладатель?

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

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

О программе

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

В основе расчёта лежит поиск максимумов и минимумов за два настраиваемых периода: один используется для построения линий Фибоначчи, второй — для расчёта целевых уровней. По найденным экстремумам строятся горизонтальные и наклонные линии, а также текстовые метки с подписями уровней.

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

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

НастройкаОписание
TargetPeriod Период цели — Количество баров для поиска локальных максимумов и минимумов, по которым рассчитываются целевые уровни.
FiboPeriod Период Фибоначчи — Количество баров для поиска локальных максимумов и минимумов, по которым строятся линии Фибоначчи.
ShowTarget Показывать цели — Включает или отключает отображение целевых уровней на графике.
ShowFiboLines Показывать линии Фибоначчи — Включает или отключает отображение линий Фибоначчи на графике.
ShowHighLow Показывать максимум и минимум — Включает или отключает отображение линий и меток максимума и минимума.
MaxBars Максимум баров — Максимальное количество баров, анализируемых индикатором.
Line_color Цвет линий — Цвет линий и меток максимума и минимума.
Target_color Цвет целей — Цвет линий и меток целевых уровней.
Получить полный код

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

#property indicator_chart_window

extern int TargetPeriod=24;
extern int FiboPeriod=24;
extern bool ShowTarget=true;
extern bool ShowFiboLines=false;
extern bool ShowHighLow=true;
extern int MaxBars=100;
extern color Line_color = Green;
extern color Target_color = Red;

double zzL[];
double zzH[];
double zz[];

double target1=0,target2=0;

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

   ObjectDelete("Target1=");
   ObjectDelete("Target2=");
   ObjectDelete("TargetUp");
   ObjectDelete("TargetDown");
   ObjectDelete("TP1");
   ObjectDelete("TP2");
   ObjectDelete("R0");
   ObjectDelete("R1");
   ObjectDelete("R2");
   ObjectDelete("R3");
   ObjectDelete("R4");
   ObjectDelete("R5");
   ObjectDelete("LH");
   ObjectDelete("LL");
   ObjectDelete("Low");
   ObjectDelete("High");
   ObjectDelete("1.0");
   ObjectDelete("0.618");
   ObjectDelete("0.5");
   ObjectDelete("0.382");
   ObjectDelete("0.236");
   ObjectDelete("0.0");
   Comment(" ");

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   int    i,shift,pos,lasthighpos,lastlowpos,curhighpos,curlowpos;
   int    targethighpos,targetlowpos;
   double curlow,curhigh,lasthigh,lastlow,targethigh,targetlow;
   double min, max;

   lasthighpos=Bars; lastlowpos=Bars;
   lastlow=Low[Bars];lasthigh=High[Bars];

   targethighpos=Bars; targetlowpos=Bars;
   targetlow=Low[Bars];targethigh=High[Bars];
   if(Bars<200)MaxBars=Bars;

  for(shift=MaxBars-FiboPeriod; shift>=0; shift--)
    {
      curlowpos=Lowest(NULL,0,MODE_LOW,FiboPeriod,shift);
      curlow=Low[curlowpos];
      curhighpos=Highest(NULL,0,MODE_HIGH,FiboPeriod,shift);
      curhigh=High[curhighpos];

     if(shift<MaxBars-TargetPeriod){ 
      targetlowpos=Lowest(NULL,0,MODE_LOW,TargetPeriod,shift);
      targetlow=Low[targetlowpos];
      targethighpos=Highest(NULL,0,MODE_HIGH,TargetPeriod,shift);
      targethigh=High[targethighpos];
      }

      if( curlow>=lastlow ) { lastlow=curlow; }
      else
         { 
            if( lasthighpos>curlowpos  ) 
            { 
            zzL[curlowpos]=curlow;
              min=100000; pos=lasthighpos;
               for(i=lasthighpos; i>=curlowpos; i--)
                  { 
                    if (zzL[i]==0.0) continue;
                    if (zzL[i]<min) { min=zzL[i]; pos=i; }
                    zz[i]=0.0;
                  } 
               zz[pos]=min;
            } 
          lastlowpos=curlowpos;
          lastlow=curlow; 
         }

      if( curhigh<=lasthigh )  { lasthigh=curhigh;}
      else
         {  
            if( lastlowpos>curhighpos ) 
            {  
            zzH[curhighpos]=curhigh;
               max=-100000; pos=lastlowpos;
               for(i=lastlowpos; i>=curhighpos; i--)
                  { 
                    if (zzH[i]==0.0) continue;
                    if (zzH[i]>max) { max=zzH[i]; pos=i; }
                    zz[i]=0.0;
                  } 
               zz[pos]=max;
            }  
         lasthighpos=curhighpos;
         lasthigh=curhigh;    
         }       
double p, r5,r4,r3,r2,r1,r0;    
double R2= targethigh - targetlow;
double R1= lasthigh - lastlow;
double R= High[lasthighpos] - Low[lastlowpos];
int div=10000;

if(Digits==2)div=100;
if(Digits==4)div=10000;
if(Digits==5)div=100000;

if(lastlowpos<lasthighpos) {
p = curlow;
r5 = p + (R * 1);
r4 = p + (R * 0.618);
r3 = p + (R * 0.5);
r2 = p + (R * 0.382);
r1 = p + (R

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

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

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

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

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

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

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