HiLow 2 Jurik DS RV
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «hilow 2 jurik double smooth rv mtf sw nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор HiLow 2 Jurik DS RV для MetaTrader 4 отображает направление ценового потока на основе двойного сглаживания Жюрика. Рассчитывает канальные значения верхней и нижней границы и определяет, находится ли текущая цена выше или ниже этого канала. Поддерживает многофреймовый анализ с интерполяцией данных между барами выбранного таймфрейма.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора; позволяет анализировать данные более высоких временных интервалов. |
| Interpolate | Интерполяция — Включает или отключает интерполяцию значений между барами при использовании таймфрейма, отличного от текущего. |
| SmoothPeriod | Период сглаживания — Основной период, определяющий степень сглаживания канальных линий. |
| SmoothPhase | Фаза сглаживания — Параметр фазы, влияющий на характер сглаживания кривых. |
| Reverse | Инверсия — Переключает направление отображения канальных значений при определении верхней и нижней границы. |
| PricePeriod | Период цены — Период скользящей средней отображаемой цены, показываемой на графике. |
| MODE_EMA; (Method) | Метод усреднения — Метод расчёта скользящей средней для отображаемой цены (например, SMA, EMA). |
| WEIGHTED; // (Price) | Тип цены — Тип ценового значения, используемого для расчёта скользящей средней (например, Close, Weighted). |
| ShowPrice | Показать цену — Отображать или скрывать линию скользящей средней цены на графике индикатора. |
| alertsOn | Уведомления включены — Общий переключатель для включения или отключения всех типов уведомлений. |
| alertsOnCurrent | Уведомления на текущем баре — Определяет, генерировать ли уведомление на текущем баре или на следующем. |
| alertsMessage | Сообщения — Включает или отключает вывод текстовых уведомлений в журнал терминала. |
| alertsSound | Звуковые сигналы — Включает или отключает воспроизведение звукового файла при срабатывании уведомления. |
| alertsEmail | Электронная почта — Включает или отключает отправку email-уведомлений при изменении направления. |
Поиск по коду файла
#property indicator_separate_window //chart_window
#property indicator_buffers 4
#property indicator_color1 clrOrange
#property indicator_color2 clrLimeGreen
#property indicator_color3 clrLimeGreen
#property indicator_color4 clrMagenta //DodgerBlue
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 1
extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;
extern bool Interpolate = false;
extern int SmoothPeriod = 16;
extern int SmoothPhase = 0;
extern bool Reverse = true;
extern int PricePeriod = 4;
extern ENUM_MA_METHOD Method = MODE_SMA; //MODE_EMA;
extern ENUM_APPLIED_PRICE Price = PRICE_CLOSE; //WEIGHTED; //
extern bool ShowPrice = true;
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
double sslda[];
double sslua[];
double sslub[];
double PRICE[];
double Hlv[];
bool returnBars;
string IndikName;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
double calcSmoothPeriod = MathSqrt(SmoothPeriod);
int CountedBars=IndicatorCounted();
int i,limit;
if(CountedBars<0) return(-1);
if(CountedBars>0) CountedBars--;
limit=MathMin(Bars-CountedBars,Bars-1);
if (returnBars) { sslda[0] = limit; return(0); }
if (TimeFrame > _Period) limit = MathMax(limit,MathMin(Bars,iCustom(NULL,TimeFrame,IndikName,-99,0,0)*TimeFrame/_Period));
if (Hlv[limit]==1) CleanPoint(limit,sslua,sslub);
if (TimeFrame != _Period)
{
for(i=limit;i>=0;i--)
{
int bar = iBarShift(NULL,TimeFrame,Time[i]);
datetime time = iTime (NULL,TimeFrame,bar);
sslda[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,Interpolate,SmoothPeriod,SmoothPhase,Reverse,PricePeriod,Method,Price,ShowPrice,0,bar);
sslua[i] = EMPTY_VALUE;
sslub[i] = EMPTY_VALUE;
PRICE[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,Interpolate,SmoothPeriod,SmoothPhase,Reverse,PricePeriod,Method,Price,ShowPrice,3,bar);
Hlv[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,Interpolate,SmoothPeriod,SmoothPhase,Reverse,PricePeriod,Method,Price,ShowPrice,4,bar);
if (TimeFrame <= _Period || bar==iBarShift(NULL,TimeFrame,Time[i-1])) continue;
if (!Interpolate) continue;
for(int n = 1; i+n < Bars && Time[i+n] >= time; n++) continue;
double factor = 1.0 / n;
for(int k = 1; k < n; k++) {
sslda[i+k] = k*factor*sslda[i+n] + (1.0-k*factor)*sslda[i];
PRICE[i+k] = k*factor*PRICE[i+n] + (1.0-k*factor)*PRICE[i]; }
}
for(i=limit;i>=0;i--) if (Hlv[i] ==1) PlotPoint(i,sslua,sslub,sslda);
}
else
{
for(i=limit;i>=0;i--)
{
double hiPrice = iDSmooth(High[i+1],calcSmoothPeriod,SmoothPhase,i+1, 0);
double loPrice = iDSmooth(Low[i+1] ,calcSmoothPeriod,SmoothPhase,i+1,20);
double clPrice = iDSmooth(Close[i] ,calcSmoothPeriod,SmoothPhase,i ,40);
PRICE[i] = iMA(NULL,0,PricePeriod,0,Method,Price,i);
Hlv[i] = Hlv[i+1];
if(clPrice>hiPrice) Hlv[i] = 1;
if(clPrice<loPrice) Hlv[i] = -1;
if(Hlv[i] == 1)
{
sslda[i] = (Reverse) ? loPrice : hiPrice;
}
if(Hlv[i] == -1)
{
sslda[i] = (Reverse) ? hiPrice : loPrice;
}
sslua[i] = EMPTY_VALUE;
sslub[i] = EMPTY_VALUE;
if (Hlv[i] ==1) PlotPoint(i,sslua,sslub,sslda);
}
}
if (alertsOn)
{
if (alertsOnCurrent)
int whiПоказано первые 50% кода (символов: 7089)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.