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

OBV 2.1 Bands Arrows TT

obv 2.1 bands arrows tt.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

OBV 2.1 Bands Arrows TT — это пользовательский индикатор для MetaTrader 5, отображаемый в отдельном окне. Он рассчитывает модифицированный индикатор OBV (On Balance Volume) и накладывает на него полосы Боллинджера, построенные по значениям OBV. Индикатор может работать как на текущем таймфрейме, так и на выбранном старшем таймфрейме, с возможностью интерполяции значений при пересчёте на младший таймфрейм.

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

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

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

НастройкаОписание
Time frame to use (TimeFrame) Таймфрейм — Таймфрейм, на котором рассчитывается индикатор. Если выбран текущий, расчёт ведётся на графике.
Bands period (BandPeriod) Период полос — Количество баров, используемых для расчёта полос Боллинджера по значениям OBV.
Bands deviation (BandDeviation) Отклонение полос — Коэффициент отклонения для расчёта полос Боллинджера по значениям OBV.
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 — Отправлять уведомление о смене направления тренда по электронной почте.
Alerts should send message to phone? (alertsMobile) Мобильное уведомление — Отправлять push-уведомление на мобильное устройство при смене направления тренда.
Arrows visible? (arrowsVisible) Показывать стрелки — Показывать или скрывать стрелки на графике при смене направления тренда.
Arrows unique ID (arrowsIdentifier) Идентификатор стрелок — Уникальный идентификатор для имён графических объектов стрелок.
Arros displacement (gap) (arrowsDisplacement) Смещение стрелок — Смещение стрелок от экстремумов бара, выраженное в единицах ATR.
Arrows up color (arrowsUpColor) Цвет стрелок вверх — Цвет стрелок, указывающих на смену тренда вверх.
Arrows down color (arrowsDnColor) Цвет стрелок вниз — Цвет стрелок, указывающих на смену тренда вниз.
Interpolate in multi time frame mode? (Interpolate) Интерполяция — Включает интерполяцию значений индикатора при работе на старшем таймфрейме для отображения на текущем графике.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1  DodgerBlue
#property indicator_color2  Gray
#property indicator_color3  Gray
#property indicator_color4  clrRed
#property indicator_color5  clrLime
#property indicator_width1  2
#property indicator_width4  3
#property indicator_width5  3
#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      = 1.618;          // Bands deviation
extern bool   alertsOn           = true;         // 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        = true;         // Alerts should play alert sound?
extern bool   alertsEmail        = false;         // Alerts should send email?
extern bool   alertsMobile       = true;          // Alerts should send message to phone?
extern bool   arrowsVisible      = true;          // Arrows visible?
extern string arrowsIdentifier   = "obv 2'1 arrows"; // 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        = false;          // Interpolate in multi time frame mode?

double obv[];
double bandUp[];
double bandDn[];   double SEL[], BUY[];
double trend[];
string IndikName;
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 CountedBars=IndicatorCounted();
      if(CountedBars<0) return(-1);
      if(CountedBars>0) CountedBars--;
         int limit = MathMin(Bars-CountedBars,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,IndikName,-99,0,0)*TimeFrame/_Period));
               for(int i=limit; i>=0; i--)
               {
                  int y = iBarShift(NULL,TimeFrame,Time[i]);
                  int x = y;   if (i<Bars-1) x = iBarShift(NULL,TimeFrame,Time[i+1]);
                  if(x!=y) {
                     SEL[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,BandPeriod,BandDeviation,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsMobile,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,3,y); 
                     BUY[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,BandPeriod,BandDeviation,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsMobile,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,4,y); }

                  obv[i]    = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,BandPeriod,BandDeviation,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsMobile,arrowsVisible,arrowsIdentifier,arrowsDisplacement,arrowsUpColor,arrowsDnColor,0,y);
                  bandUp[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,BandPeriod,BandDeviation,alertsOn,alertsOnCurrent,a

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

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

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

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

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

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

Стоимость полного кода
633,40₽ ≈ $7.74