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

AutoFib TradeZones

autofib tradezones.mq5
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
Fib_Period Период Фибоначчи — Количество баров, за которое рассчитываются экстремумы для определения уровней и зон Фибоначчи.
Show_StartLine Показать линию начала — Включает отображение вертикальной линии, обозначающей начало расчётного диапазона.
Show_EndLine Показать линию конца — Включает отображение вертикальной линии, обозначающей конец расчётного диапазона.
Show_Channel Показать канал — Включает отрисовку линий канала верхней и нижней границы в индикаторных буферах.
Fib_Style Стиль Фибоначчи — Стиль отрисовки линий уровней Фибоначчи на графике.
Fib_Color Цвет Фибоначчи — Цвет линий уровней Фибоначчи.
StartLine_Color Цвет линии начала — Цвет вертикальной линии начала диапазона.
EndLine_Color Цвет линии конца — Цвет вертикальной линии конца диапазона.
BuyZone_Color Цвет зоны покупки — Цвет прямоугольной зоны, обозначающей зону покупки.
SellZone_Color Цвет зоны продажи — Цвет прямоугольной зоны, обозначающей зону продажи.
Получить полный код

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

#property  indicator_chart_window
#property indicator_buffers  2
#property  indicator_color1  Black
#property  indicator_color2  Red

extern int Fib_Period = 60; 
extern bool Show_StartLine = false;
extern bool Show_EndLine = false;
extern bool Show_Channel = false;
extern int Fib_Style = 5;
extern color Fib_Color = LightGray;
extern color StartLine_Color = Blue; 
extern color EndLine_Color = Red; 
extern color BuyZone_Color = MidnightBlue;
extern color SellZone_Color = Pink;

double WWBuffer1[];
double WWBuffer2[];

double level_array[10]={0,0.236,0.382,0.5,0.618,0.764,1,1.618,2.618,4.236};
string leveldesc_array[13]={"0 %$","23.6 %$","38.2 %$","50 %$","61.8 %$","76.4 %$","100 %$","161.8 %$","261.80 %$","423.6 %$"};
int level_count;
string level_name;
string StartLine = "Start Line";
string EndLine = "End Line";

int init() {
      // код доступен только после оплаты
   }
int deinit() {
   ObjectDelete("FibLevels");
   ObjectDelete("BuyZone");
   ObjectDelete("SellZone");
   return(0);
}
int start() {
      // код доступен только после оплаты
   }

   int BarShift;
  if (Show_StartLine)
  {   
   datetime HLineTime=ObjectGet(StartLine,OBJPROP_TIME1);

   if (HLineTime>=Time[0]) {BarShift=0;}
     BarShift=iBarShift(NULL,0,HLineTime);
  }   
   else if (!Show_StartLine){BarShift=0;}
   if (ObjectFind(StartLine)==-1) {BarShift=0;}

   int BarShift2;
  if (Show_EndLine)
  {   
   datetime HLine2Time=ObjectGet(EndLine,OBJPROP_TIME1);

   if (HLine2Time>=Time[0]) {BarShift2=0;}
     BarShift2=iBarShift(NULL,0,HLine2Time);
  }   
   else if (!Show_EndLine){BarShift2=0;}
   if (ObjectFind(EndLine)==-1) {BarShift2=0;}   

   double SellZoneHigh,BuyZoneLow;
   if (Show_StartLine)
    {
    SellZoneHigh = iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,BarShift-BarShift2,BarShift2+1));
    BuyZoneLow = iLow(NULL,0,iLowest(NULL,0,MODE_LOW,BarShift-BarShift2,BarShift2+1));
    }
      if (!Show_StartLine)
    {
    SellZoneHigh = iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,Fib_Period,1));
    BuyZoneLow = iLow(NULL,0,iLowest(NULL,0,MODE_LOW,Fib_Period,1));
    } 
   double PriceRange = SellZoneHigh - BuyZoneLow; 
   double BuyZoneHigh = BuyZoneLow + (0.236*PriceRange);
   double SellZoneLow = SellZoneHigh - (0.236*PriceRange);
   datetime StartZoneTime =Time[Fib_Period];
   datetime EndZoneTime =Time[0]+Time[0];

   level_count=ArraySize(level_array);

   int    counted_bars=IndicatorCounted();
   int    limit,i;

   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

   for(i=limit-1; i>=0; i--) {

      WWBuffer1[i] = getPeriodHigh(F

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

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

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

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

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

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

Стоимость полного кода
525,20₽ ≈ $6.42