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