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

hilow - jurik smooth histo mtf.mq5

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

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

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

О программе

Индикатор «HiLow Jurik Smooth Histo» отображает гистограмму в отдельном окне, показывая соотношение цены закрытия с отфильтрованными уровнями максимума и минимума. Для расчёта уровней используется сглаживание Jurik, применённое к простым скользящим средним по ценам High, Low и Close. Если цена закрытия оказывается ниже сглаженного минимума, рисуется восходящий столбец; если выше сглаженного максимума — нисходящий. Поддерживается работа на различных таймфреймах, включая мультитаймфреймный режим.

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

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

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

НастройкаОписание
TimeFrame Таймфрейм, на котором рассчитывается индикатор. Значение PERIOD_CURRENT означает текущий график
SmoothPeriod Период сглаживания Jurik, определяющий глубину фильтрации ценовых данных
SmoothPhase Фаза сглаживания Jurik, влияющая на скорость реакции фильтра на изменение цены
Invert Переключатель инверсии сигналов: при активации направление столбцов меняется на противоположное
HistoWidth Ширина столбцов гистограммы в точках
UpHistoColor Цвет столбцов восходящей гистограммы
DnHistoColor Цвет столбцов нисходящей гистограммы
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_minimum 0
#property indicator_maximum 1
#property strict

extern ENUM_TIMEFRAMES TimeFrame     = PERIOD_CURRENT;    // Timeframe to use
extern int             SmoothPeriod  = 10;                // Jurik period
extern int             SmoothPhase   = 0;                 // Jurik phase
extern bool            Invert        = false;             // Invert signals
extern int             HistoWidth    = 3;                 // Histogram bars width
extern color           UpHistoColor  = clrLimeGreen;      // Up histogram color
extern color           DnHistoColor  = clrRed;            // Down histogram color

double bard[];
double baru[];
double Hlv[];
double multiplier=1;
string indicatorFileName;
bool   returnBars;

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

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
   int i,limit;
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
           limit=fmin(Bars-counted_bars,Bars-1);
           if (returnBars) { bard[0] = limit+1; return(0); }

   if (TimeFrame == Period())
   {
     for(i=limit;i>=0;i--)
     {
        if (i<Bars-1)
        {
          double hiPrice = iSmooth(iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i+1),SmoothPeriod,SmoothPhase,i+1,0);
          double loPrice = iSmooth(iMA(NULL,0,1,0,MODE_SMA,PRICE_LOW,i+1) ,SmoothPeriod,SmoothPhase,i+1,1);
          double clPrice = iSmooth(iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,i), SmoothPeriod,SmoothPhase,i  ,2);

          baru[i] = EMPTY_VALUE;
          bard[i] = EMPTY_VALUE;
          Hlv[i] = (i<Bars-1) ? (clPrice<loPrice) ? 1*multiplier : (clPrice>hiPrice) ? -1*multiplier : Hlv[i+1] : 0;
          if (Hlv[i] == 1) baru[i] = 1;  
          if (Hlv[i] ==-1) bard[i] = 1;  
       }
     }
    return(0);
    }

   limit = (int)fmax(limit,fmin(Bars-1,iCustom(NULL,TimeFrame,indicatorFileName,-99,0,0)*TimeFrame/Period()));
   for (i=limit;i>=0; i--)
   {
      int y = iBarShift(NULL,TimeFrame,Time[i]);
         baru[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,SmoothPeriod,SmoothPhase,0,UpHistoColor,DnHistoColor,0,y);
         bard[i] = iCustom(NULL,TimeFrame,indicatorFileNam

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

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

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

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

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

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

Стоимость полного кода
411,70₽ ≈ $5.03