(s) ob volume.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «(s) ob volume.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает значение 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.