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

obv 2.1 bands arrows.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 4, работающий в отдельном окне графика. Он обрабатывает данные объёма и цены, формируя расчётную линию и верхнюю с нижней граничными полосами, отображаемыми на графике. Индикатор визуально отмечает смены направления трениса стрелками на свечах и способен отправлять уведомления через всплывающие сообщения, звуковые сигналы и электронную почту. Поддерживается работа на различных таймфреймах с опцией интерполяции для более плавного отображения при мультитаймфреймовом режиме.

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

НастройкаОписание
Time frame to use (TimeFrame) Таймфрейм — Выбор периода графика для расчёта индикатора.
Bands period (BandPeriod) Период полос — Определяет период расчёта граничных полос.
Bands deviation (BandDeviation) Отклонение полос — Задаёт множитель отклонения для граничных полос.
Turn alerts on? (alertsOn) Включить уведомления — Общий переключатель для активации или деактивации системы оповещений.
Alerts on a current bar? (alertsOnCurrent) Уведомления на текущем баре — Определяет, срабатывают ли уведомления на текущем незавершённом баре.
Alerts should show pop-up message? (alertsMessage) Всплывающие сообщения — Включает отображение всплывающих уведомлений на графике.
Alerts should play alert sound? (alertsSound) Звуковой сигнал — Включает воспроизведение звукового оповещения при срабатывании.
Alerts should send email? (alertsEmail) Отправка email — Включает отправку уведомлений на электронную почту.
Arrows visible? (arrowsVisible) Отображение стрелок — Включает или отключает отрисовку стрелок на графике.
Arrows unique ID (arrowsIdentifier) Идентификатор стрелок — Уникальный идентификатор для объектов-стрелок на графике.
Arros displacement (gap) (arrowsDisplacement) Смещение стрелок — Задаёт величину отступа стрелок от цены бара.
Arrows up color (arrowsUpColor) Цвет стрелок вверх — Цвет стрелок, указывающих на восходящее направление.
Arrows down color (arrowsDnColor) Цвет стрелок вниз — Цвет стрелок, указывающих на нисходящее направление.
Interpolate in multi time frame mode? (Interpolate) Интерполяция — Включает интерполяцию промежуточных значений при мультитаймфреймовом режиме.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1  DodgerBlue
#property indicator_color2  Gray
#property indicator_color3  Gray
#property indicator_width1  2
#property indicator_style2  STYLE_DOT
#property indicator_style3  STYLE_DOT
#property strict

extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;// Time frame to use
extern int    BandPeriod         = 20;            // Bands period
extern double BandDeviation      = 3.00;          // Bands deviation
extern bool   alertsOn           = false;         // Turn alerts on?
extern bool   alertsOnCurrent    = false;         // Alerts on a current bar?
extern bool   alertsMessage      = true;          // Alerts should show pop-up message?
extern bool   alertsSound        = false;         // Alerts should play alert sound?
extern bool   alertsEmail        = false;         // Alerts should send email?
extern bool   arrowsVisible      = true;          // Arrows visible?
extern string arrowsIdentifier   = "obv arrows1"; // Arrows unique ID
extern double arrowsDisplacement = 1.0;           // Arros displacement (gap)
extern color  arrowsUpColor      = clrLimeGreen;  // Arrows up color
extern color  arrowsDnColor      = clrRed;        // Arrows down color
extern bool   Interpolate        = true;          // Interpolate in multi time frame mode?

double obv[];
double bandUp[];
double bandDn[];
double trend[];
string indicatorFileName;
bool   returnBars;

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

int deinit()
{
   string lookFor       = arrowsIdentifier+":";
   int    lookForLength = StringLen(lookFor);
   for (int i=ObjectsTotal()-1; i>=0; i--)
   {
      string objectName = ObjectName(i);
         if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
   }
   return(0); 
}

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMin(Bars-counted_bars,Bars-1);
            if (returnBars) { obv[0] = MathMin(limit+1,Bars-1); return(0); }
            if (TimeFrame != _Period)
            {
               limit = (int)MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,indicatorFileName,-99,0,0)*TimeFrame/Period()));
               for(int i=limit; i>=0; i--)
               {
                  int y = iBarShift(NULL,TimeFrame,Time[i]);
                  obv[i]    = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,BandPeriod,BandDeviation,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,0,y);
                  bandUp[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,BandPeriod,BandDeviation,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,1,y);
                  bandDn[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,BandPeriod,BandDeviation,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,2,y);

                  if (!Interpolate || (i>0 && y==iBarShift(NULL,TimeFrame,Time[i-1]))) continue;

  

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

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

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

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

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

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

Стоимость полного кода
527,90₽ ≈ $6.45