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

AutoFib TradeZones

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

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

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

О программе

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

Основные элементы индикатора — фибоначчи уровень с 10 стандартными коэффициентами (от 0 до 423.6%), прямоугольные зоны Buy и Sell, а также необязательные вертикальные линии начала и конца. Зоны рассчитываются как 23.6% от ценового диапазона между максимумом и минимумом за выбранный период.

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

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

НастройкаОписание
Fib_Period Количество баров, используемых для расчёта ценового диапазона и построения уровней Фибоначчи.
Show_StartLine Включает или отключает отображение вертикальной линии начала на графике.
Show_EndLine Включает или отключает отображение вертикальной линии конца на графике.
Show_Channel Включает или отключает отображение канала в виде двух линий (High и Low) на графике.
Fib_Style Стиль отображения линий уровней Фибоначчи.
Fib_Color Цоль уровней Фибоначчи на графике.
StartLine_Color Цвет вертикальной линии начала (Start Line), если её отображение включено.
EndLine_Color Цвет вертикальной линии конца (End Line), если её отображение включено.
BuyZone_Color Цвет прямоугольной зоны покупки (Buy Zone), отображаемой на графике.
SellZone_Color Цвет прямоугольной зоны продажи (Sell Zone), отображаемой на графике.
Получить полный код

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

#property  indicator_chart_window
#property indicator_buffers  2
#property  indicator_color1  MidnightBlue
#property  indicator_color2  FireBrick

extern int Fib_Period = 240; 
extern bool Show_StartLine = false;
extern bool Show_EndLine = false;
extern bool Show_Channel = false;
extern int Fib_Style = 5;
extern color Fib_Color = Gold;
extern color StartLine_Color = RoyalBlue; 
extern color EndLine_Color = FireBrick; 
extern color BuyZone_Color = MidnightBlue;
extern color SellZone_Color = FireBrick;

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");
}
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 i,r,limit;

   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=MathMin(Bars-counted_bars,Bars-1);

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

      WWBuffer1[i]

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

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

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

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

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

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

Стоимость полного кода
530,30₽ ≈ $6.48