Heikin Ashi Ma T3
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «(jh) chart jurik.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает свечи Heikin Ashi на графике MetaTrader 5, рассчитывая их значения на основе сглаженных ценовых данных. В качестве базового сглаживания может использоваться метод Jurik или стандартная скользящая средняя — выбор задаётся соответствующим параметром. Результаты отрисовываются в виде четырёх гистограмм, соответствующих компонентам Heikin Ashi (открытие, закрытие, низ, высок).
Индикатор определяет направление тренда по соотношению рассчитанных буферов и поддерживает уведомления при смене тренда. Доступны текстовые оповещения, звуковые сигналы и email-рассылка. Параметр шага позволяет ограничить изменение значений между соседними барами для визуальной сглаженности.
Продукт предназначен для анализа ценовых данных и технических показателей в среде MetaTrader 5. Он предоставляет визуальное представление динамики цен через призму Heikin Ashi с настраиваемыми фильтрами сглаживания и системой алертов.
Настройки программы
| Настройка | Описание |
|---|---|
| MaPeriod | Период скользящей средней, используемой для базового сглаживания при отключённой функции Jurik. |
| MaMetod | Числовой код метода скользящей средней, применяемой при отключённой функции Jurik. Определяет тип расчёта базовой скользящей. |
| Step | Шаг сглаживания, ограничивающий изменение значений индикатора между соседними барами. При нулевом значении ограничение не применяется. |
| BetterFormula | Переключатель альтернативной формулы расчёта закрытия Heikin Ashi. При активации используется соотношение с отношением разницы цен к диапазону, при неактивации — стандартное среднее четырёх значений. |
| jurik | Переключатель сглаживания по методике Jurik. При активации для расчёта используется адаптивная волатильностью фильтрация вместо стандартной скользящей средней. |
| Length | Длина сглаживания, определяющая глубину фильтра при использовании Jurik-сглаживания. Влияет на отзывчивость и плавность рассчитанных значений. |
| Phase | Фазовый параметр сглаживания, влияющий на поведение Jurik-фильтра. Принимает числовое значение типа double. |
| alertsOn | Главный переключатель включения/отключения всех уведомлений индикатора. |
| alertsOnCurrent | Переключатель уведомления о текущем баре. При активации проверка тренда выполняется на текущем незавершённом баре, при неактивации — с задержкой в один бар. |
| alertsMessage | Переключатель отображения текстового оповещения (Alert) при смене тренда Heikin Ashi. |
| alertsSound | Переключатель воспроизведения звукового сигнала при смене тренда Heikin Ashi. |
| alertsEmail | Переключатель отправки email-уведомления при смене тренда Heikin Ashi. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 White
#property indicator_color2 White
#property indicator_color3 Silver
#property indicator_color4 DodgerBlue
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 3
#property indicator_width4 3
extern int MaPeriod = 10;
extern int MaMetod = 2;
extern int Step = 1;
extern bool BetterFormula = false;
extern bool jurik = true;
extern int Length = 34;
extern double Phase = 0;
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double trend[];
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
double maOpen, maClose, maLow, maHigh;
double haOpen, haClose, haLow, haHigh;
int counted_bars=IndicatorCounted();
int pointModifier;
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = Bars-counted_bars;
if (Digits==3 || Digits==5)
pointModifier = 10;
else pointModifier = 1;
for(int pos=limit; pos >= 0; pos--)
{
if (jurik)
{
maOpen = iSmooth(Open[pos], Length,Phase,pos,0);
maClose = iSmooth(Close[pos],Length,Phase,pos,10);
maLow = iSmooth(Low[pos], Length,Phase,pos,20);
maHigh = iSmooth(High[pos], Length,Phase,pos,30);
}
else
{
maOpen = iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_OPEN, pos);
maClose = iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_CLOSE,pos);
maLow = iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_LOW, pos);
maHigh = iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_HIGH, pos);
}
if (BetterFormula) {
if (maHigh!=maLow)
haClose = (maOpen+maClose)/2+(((maClose-maOpen)/(maHigh-maLow))*MathAbs((maClose-maOpen)/2));
else haClose = (maOpen+maClose)/2; }
else haClose = (maOpen+maHigh+maLow+maClose)/4;
haOpen = (ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2;
haHigh = MathMax(maHigh, MathMax(haOpen,haClose));
haLow = MathMin(maOpen, MathMin(haOpen,haClose));
if (haOpen<haClose) { ExtMapBuffer1[pos]=haLow; ExtMapBuffer2[pos]=haHigh; }
else { ExtMapBuffer1[pos]=haHigh; ExtMapBuffer2[pos]=haLow; }
ExtMapBuffer3[pos]=haOpen;
ExtMapBuffer4[pos]=haClose;
if (Step>0)
{
if( MathAbs(ExtMapBuffer1[pos]-ExtMapBuffer1[pos+1]) < Step*pointModifier*Point ) ExtMapBuffer1[pos]=ExtMapBuffer1[pos+1];
if( MathAbs(ExtMapBuffer2[pos]-ExtMapBuffer2[pos+1]) < Step*pointModifier*Point ) ExtMapBuffer2[pos]=ExtMapBuffer2[pos+1];
if( MathAbs(ExtMapBuffer3[pos]-ExtMapBuffer3[pos+1]) < Step*pointModifier*Point ) ExtMapBuffer3[pos]=ExtMapBuffer3[pos+1Показано первые 50% кода (символов: 5263)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.