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

!!! hawkeye - volume indicator.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный индикатор отображает тиковый объём с наложением скользящей средней в отдельном окне. Объём раскрашивается в зависимости от направления тренда: зелёный — восходящий, красный — нисходящий, белый — боковик. Скользящая средая рассчитывается по выбранному типу и периоду.

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

Параметры настройки включают период скользящей средней, тип среднего и количество отображаемых баров. Индикатор совместим с MetaTrader 5 и рассчитывается на каждом тике.

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

НастройкаОписание
Length Период скользящей средней, применяемой к тиковому объёму.
MaMode Тип скользящей средней для расчёта: SMA (простая), EMA (экспоненциальная), SMMA (сглаженная) или LWMA (линейно-взвешенная).
NumberOfBars Количество баров, отображаемых на графике. При значении 0 или меньше отображаются все бары.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1  clrDimGray
#property indicator_color2  clrLime
#property indicator_color3  clrRed
#property indicator_color4  clrWhite
#property indicator_width1  1
#property indicator_width2  2
#property indicator_width3  2
#property indicator_width4  2
#property strict

input int            Length        = 50;
enum  enMaTypes
      {
         ma_sma,                                               // Simple moving average
         ma_ema,                                               // Exponential moving average
         ma_smma,                                              // Smoothed MA
         ma_lwma,                                              // Linear weighted MA
      };
input enMaTypes       MaMode       = ma_ema;  
input int             NumberOfBars = 500;

double v4[],GREEN[],RED[],WHITE[],trend[];

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

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
      // код доступен только после оплаты
   }
   int i,r,limit = rates_total-(prev_calculated>0 ? prev_calculated : 1); 
   SetIndexDrawBegin(0,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
   SetIndexDrawBegin(1,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
   SetIndexDrawBegin(2,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
   SetIndexDrawBegin(3,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
   SetIndexDrawBegin(4,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));

   for(i=limit, r=rates_total-i-1; i>=0; i--,r++)
   {
      double MIBAR = (high[i]+low[i])/2;                           // EXACT MIDDLE
      double UPBAR = (high[i]+low[i])/2 + (high[i]-low[i])/6;      // UP CLOSE
      double DNBAR = (high[i]+low[i])/2 - (high[i]-low[i])/6;      // DOWN CLOSE
         trend[i]  = (r>0) ? (close[i]>UPBAR && open[i]<close[i] && close[i]>high[i+1]) ?  1 : 
                             (close[i]<DNBAR && open[i]>close[i] && close[i]< low[i+1]) ? -1 : 0 : 0;

         GREEN[i] = (trend[i] == 1) ? NormalizeDouble(tick_volume[i],0) : EMPTY_VALUE;
         RED[i]   = (trend[i] ==-1) ? NormalizeDouble(tick_volume[i],0) 

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

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

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

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

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

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

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