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

(s) ob volume.mq5

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

(t_s_r)-signal line.mq5MQL5 / MetaTrader 5 · 1 общих тегов(s) vq trend.mq5MQL5 / MetaTrader 5 · 1 общих теговquantum.pineTradingView · 1 общих тегов(jh) heiken jurik.mq5MQL5 / MetaTrader 5 · 1 общих тегов(jh) chart jurik.mq5MQL5 / MetaTrader 5 · 1 общих теговlinear breakthrough strategy.pineTradingView · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор рассчитывает значение On-Balance Volume (OBV) и строит сигнальную линию на основе скользящей средней. На графике отображаются два гистограммных серии: одна показывает бычий сигнал при пересечении OBV сверху вниз средней линии, другая — медвежий сигнал при пересечении снизу вверх. Поддерживается выбор различных временных интервалов и настройка уведомлений. Индикатор работает в отдельном окне и рассчитывает значения на каждом тике.

Расчёт OBV выполняется с учётом направления свечи: при росте свечи значение увеличивается пропорционально объёму и отношению изменения цены к диапазону, при падении — уменьшается. Если свеча закрывается на уровне открытия или диапазон равен нулю, значение OBV сохраняется без изменений. Скользящая средая рассчитывается через функцию iMAOnArray.

Система уведомлений позволяет настраивать визуальные, звуковые и email-оповещения при смене тренда. Можно выбрать срабатывание на текущей или закрытой свече. Индикатор совместим с платформой MetaTrader 5 и использует стандартные обработчики событий MQL5.

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

НастройкаОписание
TimeFrame Временной интервал для расчёта индикатора
SignalPeriod Период скользящей средней для сигнальной линии OBV
SignalMaMode Метод скользящей средней для сигнальной линии (например, MODE_SMMA)
alertsOn Включение или выключение всех уведомлений
alertsOnCurrent Уведомление по текущей свече (true) или по закрытой (false)
alertsMessage Отображение текстового уведомления (Alert) при смене тренда
alertsSound Воспроизведение звукового сигнала при срабатывании уведомления
alertsEmail Отправка email-уведомления при смене тренда
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers    2
#property indicator_color1     C'45,170,242';
#property indicator_color2     C'245,95,125';
#property indicator_width1     8
#property indicator_width2     8
#property indicator_maximum    1
#property indicator_minimum    0.1

extern string TimeFrame       = "Current time frame";
extern int    SignalPeriod    = 5;
extern int    SignalMaMode    = MODE_SMMA;

extern bool   alertsOn        = false;
extern bool   alertsOnCurrent = false;
extern bool   alertsMessage   = false;
extern bool   alertsSound     = false;
extern bool   alertsEmail     = false;

double gadblOBV[];
double ma[];
double hu[];
double hd[];
double trend[];

string indicatorFileName;
bool   returnBars;
bool   calculateValue;
int    timeFrame;

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

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) { hu[0] = MathMin(limit+1,Bars-1); return(0); }

   if (calculateValue || timeFrame == Period())
   {
      for( int inx = limit; inx >=0; inx-- )
      {
         if ( inx == ( Bars - 1 ) )
         {
            gadblOBV[inx] = Volume[inx];
         }
         else 
         {
            if ( ( High[inx] == Low[inx] ) || ( Open[inx] == Close[inx] ) || ( Close[inx] == Close[inx+1] ) )
            {
               gadblOBV[inx] = gadblOBV[inx+1];
            }
            else
            {            
               if ( Close[inx] > Open[inx] )   gadblOBV[inx] = gadblOBV[inx+1] + ( Volume[inx] * ( Close[inx] - Open[inx] ) / ( High[inx] - Low[inx] ) );
               else                            gadblOBV[inx] = gadblOBV[inx+1] - ( Volume[inx] * ( Open[inx] - Close[inx] ) / ( High[inx] - Low[inx] ) );
            }
         }     
      }
      for(inx=limit; i

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

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

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

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

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

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

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