heiken ashi double smoothed ma+t3.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «heiken ashi double smoothed ma+t3.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает свечи Хейкин Аши на графике, рассчитанные на основе сглаженных скользящих средних. Поддерживается несколько методов сглаживания, включая T3 Tillson, а также дополнительная двойная фильтрация результатов. Индикатор работает в окне графика MetaTrader 4 и использует буферы для отрисовки уровней HA-свечей и стрелок направления тренда.
Включена система уведомлений, которая может отправлять сообщения, звуковые оповещения, электронные письма и push-уведомления на мобильное устройство при изменении направления тренда. Параметры позволяют настраивать период скользящей средней, метод расчёта, степень сглаживания и визуальное отображение элементов индикатора.
Настройки программы
| Настройка | Описание |
|---|---|
| 50; (MaPeriod) | Период скользящей средней — Определяет период скользящей средней, используемой для расчёта значений индикатора. |
| ma_sma; (MaMetod) | Метод расчёта скользящей средней — Выбирает метод сглаживания: простая, экспоненциальная, сглаженная, линейно-взвешенная или T3 Tillson. |
| Step | Шаг сглаживания — Задаёт минимальное изменение значений буферов между барами для подавления мелких колебаний. |
| BetterFormula | Улучшенная формула — Переключает вариант формулы расчёта цены закрытия Хейкин Аши. |
| T3Hot | Коэффициент T3 — Влияет на чувствительность расчёта T3 Tillson. |
| T3Original | Оригинальный T3 — Переключает вариант расчёта коэффициента сглаживания T3 Tillson. |
| SortedValues | Сортировка значений — Определяет способ упорядочивания промежуточных значений скользящих средних для расчёта уровней HA-свечей. |
| ShowWicks | Показать тени — Отображает тени HA-свечей в виде гистограммы на графике. |
| ShowArrows | Показать стрелки — Отображает стрелки при изменении направления тренда на графике. |
| alertsOn | Уведомления включены — Включает или отключает систему уведомлений индикатора. |
| alertsOnCurrent | Уведомления на текущем баре — Определяет, проверять ли сигнал на текущем баре или на предыдущем. |
| alertsMessage | Сообщения — Включает всплывающие сообщения в терминале при изменении тренда. |
| alertsSound | Звуковые оповещения — Включает звуковое оповещение при изменении тренда. |
| alertsEmail | Электронная почта — Включает отправку электронного письма при изменении тренда. |
| alertsMobile | Мобильные уведомления — Включает отправку push-уведомлений на мобильное устройство при изменении тренда. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 clrSandyBrown
#property indicator_color2 clrDodgerBlue
#property indicator_color3 clrSandyBrown
#property indicator_color4 clrDodgerBlue
#property indicator_color5 clrSandyBrown
#property indicator_color6 clrDodgerBlue
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 1
#property indicator_width6 1
enum maType
{
ma_sma, // Simple moving average
ma_ema, // Exponential moving average
ma_smma, // Smoothed moving average
ma_lwma, // Linear weighted moving average
ma_t3 // T3 Tillson
};
extern int MaPeriod = 21; //50;
extern maType MaMetod = ma_lwma; //ma_sma;
extern int Step = 1;
extern bool BetterFormula = true;
extern double T3Hot = 1.00;
extern bool T3Original = false;
extern bool SortedValues = true;
extern bool ShowWicks = false;
extern bool ShowArrows = true;
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = true;
extern bool alertsEmail = false;
extern bool alertsMobile = false;
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double UpArrow[];
double DnArrow[];
double trend[];
double OPEN[], CLOSE[], LOW[], HIGH[];
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);
int pointModifier = 1;if (Digits==3 || Digits==5) pointModifier = 10;
for (int i=0; i<11; i++) {
SetIndexEmptyValue(i,EMPTY_VALUE);
SetIndexDrawBegin(i,MaPeriod*3); }
for (i=limit; i>=0; i--)
{
OPEN[i]=EMPTY_VALUE; OPEN[i] = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_OPEN,i);
CLOSE[i]=EMPTY_VALUE; CLOSE[i] = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_CLOSE,i);
LOW[i]=EMPTY_VALUE; LOW[i] = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_LOW,i);
HIGH[i]=EMPTY_VALUE; HIGH[i] = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_HIGH,i);
}
for(i=limit; i >= 0; i--)
{
if (MaMetod==ma_t3)
{
double maOpen = iT3(Open[i] ,MaPeriod,T3Hot,T3Original,i,0);
double maClose = iT3(Close[i],MaPeriod,T3Hot,T3Original,i,1);
double maLow = iT3(Low[i] ,MaPeriod,T3Hot,T3Original,i,2);
double maHigh = iT3(High[i] ,MaPeriod,T3Hot,T3Original,i,3);
}
else
{
maOpen = iMAOnArray(OPEN,Bars,MaPeriod,0,(int)MaMetod,i); //iCustom(NULL,0,"absolutelynolaglwma",MaPeriod,PRICE_OPEN,0,i+1); //iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_OPEN ,i);
maClose = iMAOnArray(CLOSE,Bars,MaPeriod,0,(int)MaMetod,i); //iCustom(NULL,0,"absolutelynolaglwma",MaPeriod,PRICE_CLOSE,0,i+1); //iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_CLOSE,i);
maLow = iMAOnArray(LOW,Bars,MaPeriod,0,(int)MaMetod,i); //iCustom(NULL,0,"absolutelynolaglwma",MaPeriod,PRICE_LOW,0,i+1); //iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_LOW ,i);
maHigh = iMAOnArray(HIGH,Bars,MaPeriod,0,(int)MaMetod,i); //iCustom(NULL,0,"absolutelynolaglwma",MaPeriod,PRICE_HIGH,0,i+1); //iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_HIGH ,i);
}
if (SortedValues)
{
double sort[4];
sort[0] = maOpen;
sort[1] = maClose;
sort[2] = maLow;
sort[3] = maHigh;
ArraySort(sort);
maLow = sort[0];
maHigh = sort[3];
if (Open[i+1]>Open[i])
{ maOpen = sort[2]; maClose = sort[1]; }
else { maOpen = sort[1]; maClose = sort[2]; }
}
if (BetterFormula) {
if (maHigh!=maLow)
double haClose = (maOpen+maClose)/2+(((maClose-maOpen)/(maHigh-maLow))*MathAbs((maClose-maOpen)/2));
else haClПоказано первые 50% кода (символов: 7447)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.