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

Hawkeye Volume

!!!_hawkeye_volume_indicator_mtf_+_alerts_+_arrows_2.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Hawkeye Volume — это пользовательский индикатор для платформы MetaTrader 4, предназначенный для анализа объёма торгов с возможностью привязки к старшим таймфреймам. Индикатор отображает данные в отдельном окне графика, используя гистограммы и линию скользящей средней.

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

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

Встроена система уведомлений с поддержкой поп-up сообщений, звуковых сигналов, push-уведомлений и email-рассылки. Также предусмотрено отображение стрелок-маркеров при смене направления тренда объёма с настраиваемыми цветом, размером и позиционированием.

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

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора (текущий или старший)
Ma length (Length) Длина скользящей средней — Количество периодов для расчёта скользящей средней объёма
Ma type (MaMode) Тип скользящей средней — Тип скользящей средней: SMA, EMA, SMMA или LWMA
Number of bars (0=all bars) (NumberOfBars) Количество баров — Количество баров для расчёта (0 — все бары)
Alerts on true/false? (alertsOn) Уведомления включены — Включить или выключить систему уведомлений
Alerts on current bar true/false? (alertsOnCurrent) Уведомления на текущем баре — Отправлять уведомления при наступлении события на текущем баре
Alerts pop-up message true/false? (alertsMessage) Поп-up сообщения — Показывать всплывающие сообщения при срабатывании событий
Alerts sound true/false? (alertsSound) Звуковые уведомления — Воспроизводить звуковой сигнал при срабатывании событий
Alerts push notification true/false? (alertsNotify) Push-уведомления — Отправлять push-уведомления на мобильное устройство
Alerts email true/false? (alertsEmail) Email-уведомления — Отправлять уведомления на электронную почту
Alerts sound file (soundFile) Файл звука — Путь к звуковому файлу для уведомлений
Arrows visible true/false? (arrowsVisible) Стрелки видны — Отображать стрелки-маркеры на графике
Arrows on every signal true/false? (arrOnEverySig) Стрелки на каждом сигнале — Рисовать стрелки при каждом сигнале смены тренда
Arrows drawn on newest bar of higher time frame bar true/false? (arrowsOnNewest) Стрелки на новом баре — Рисовать стрелки на новейшем баре старшего таймфрейма
Unique ID for arrows (arrowsId) Идентификатор стрелок — Уникальный идентификатор объектов-стрелок на графике
Upper arrow gap (arrowsUpperGap) Отступ стрелки вверх — Отступ верхней стрелки от цены верха бара (в единицах ATR)
Lower arrow gap (arrowsLowerGap) Отступ стрелки вниз — Отступ нижней стрелки от цены низа бара (в единицах ATR)
Up arrow color (arrowsUpColor) Цвет стрелки вверх — Цвет стрелки восходящего тренда
Down arrow color (arrowsDnColor) Цвет стрелки вниз — Цвет стрелки нисходящего тренда
Up arrow code (arrowsUpCode) Код стрелки вверх — Код графического символа для стрелки восходящего тренда
Down arrow code (arrowsDnCode) Код стрелки вниз — Код графического символа для стрелки нисходящего тренда
Up arrow size (arrowsUpSize) Размер стрелки вверх — Размер стрелки восходящего тренда
Down arrow size (arrowsDnSize) Размер стрелки вниз — Размер стрелки нисходящего тренда
Interpolate in mtf mode (Interpolate) Интерполяция (MTF) — Интерполировать значения индикатора на бары текущего таймфрейма при работе в режиме MTF
Получить полный код

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

#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_width2  2
#property indicator_width3  2
#property indicator_width4  2
#property strict

enum enTimeFrames
{
         tf_cu  = 0,                                                    // Current time frame
         tf_m1  = PERIOD_M1,                                            // 1 minute
         tf_m5  = PERIOD_M5,                                            // 5 minutes
         tf_m15 = PERIOD_M15,                                           // 15 minutes
         tf_m30 = PERIOD_M30,                                           // 30 minutes
         tf_h1  = PERIOD_H1,                                            // 1 hour
         tf_h4  = PERIOD_H4,                                            // 4 hours
         tf_d1  = PERIOD_D1,                                            // Daily
         tf_w1  = PERIOD_W1,                                            // Weekly
         tf_mn1 = PERIOD_MN1,                                           // Monthly
         tf_n1  = -1,                                                   // First higher time frame
         tf_n2  = -2,                                                   // Second higher time frame
         tf_n3  = -3,                                                   // Third higher time frame
         tf_cus = 12345678                                              // Custom time frame
      };
extern enTimeFrames      TimeFrame            = tf_cu; 
input int                Length               = 50;                // Ma length
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;           // Ma type 
input int                NumberOfBars          = 500;              // Number of bars (0=all bars)
input bool               alertsOn              = true;             // Alerts on true/false?
input bool               alertsOnCurrent       = false;            // Alerts on current bar true/false?
input bool               alertsMessage         = true;             // Alerts pop-up message true/false?
input bool               alertsSound           = false;            // Alerts sound true/false?
input bool               alertsNotify          = false;            // Alerts push notification true/false?
input bool               alertsEmail           = false;            // Alerts email true/false?
input string             soundFile             = "alert2.wav";     // Alerts sound file
input bool               arrowsVisible         = false;            // Arrows visible true/false?
input bool               arrOnEverySig         = true;             // Arrows on every signal true/false?
input bool               arrowsOnNewest        = false;          // Arrows drawn on newest bar of higher time frame bar true/false?
input string             arrowsId              = "vol Arrows1";    // Unique ID for arrows
input double             arrowsUpperGap        = 1.0;              // Upper arrow gap
input double             arrowsLowerGap        = 1.0;              // Lower arrow gap
input color              arrowsUpColor         = clrBlue;          // Up arrow color
input color              arrowsDnColor         = clrCrimson;       // Down arrow color
input int                arrowsUpCode          = 159;              // Up arrow code
input int                arrowsDnCode          = 159;              // Down arrow code           
input int                arrowsUpSize          = 2;                // Up arrow size
input int                arrowsDnSize          = 2;                // Down arrow size
input bool               Interpolate           = true;             // Interpolate in mtf mode

double v4[],GREEN[],RED[],WHITE[],trend[],valc[],count[];
string indicatorFileName;
#define _mtfCall(_buff,_ind) iCustom(NULL,TimeFrame,indicatorFileName,tf_cu,Length,MaMode,NumberOfBars,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmail,soundFile,arrowsVisible,arrOnEverySig,arrowsOnNewest,arrowsId,arrowsUpperGap,arrowsLowerGap,arrowsUpColor,arrowsDnColor,arrowsUpCode,arrowsDnCode,arrowsUpSize,arrowsDnSize,_buff,_ind)

int OnInit()   
{
      // код доступен только после оплаты
   }
void OnDeinit(const int reason)  { ObjectsDeleteAll(0,arrowsId+":"); }

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); count[0] = limit;
   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));
   if (TimeFrame != _Period)
   {
     limit = (int)fmax(limit,fmin(rates_total-1,_mtfCall(6,0)*TimeFrame/_Period));
     for(i=limit; i>=0 && !_StopFlag; i--)
     {
        int y = iBarShift(NULL,TimeFrame,time[i]);
           v4[i]    = _mtfCall(0,y);
           GREEN[i] = _mtfCall(1,y);
           RED[i]   = _mtfCall(2,y);
           WHITE[i] = _mtfCall(3,y);

           if (!Interpolate || (i>0 && y==iBarShift(NULL,TimeFrame,time[i-1]))) continue;
           #define _interpolate(buff) buff[i+k] = buff[i]+(buff[i+n]-buff[i])*k/n
           int n,k; datetime btime 

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

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

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

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

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

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

Стоимость полного кода
892,60₽ ≈ $10.91