← К каталогу
Исходный код · ID 1446

ATR 3LWMA

atr_3lwma.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор ATR_3LWMA рассчитывает средний истинный диапазон (ATR) методом линейно-взвешенного скользящего среднего (LWMA) для трёх периодов — сигнального, быстрого и медленного. Результаты отображаются в отдельном окне в виде шести линий: три значения сырого ATR и три их скользящие средние с соответствующими периодами. Каждая пара линий позволяет оценить текущую волатильность и её усреднённое поведение на разных горизонтах.
При инициализации индикатор проверяет корректность параметров: медленный период должен быть больше быстрого, а сигнальный — не превышать быстрый. При нарушении условий выводится предупреждение и загрузка индикатора прерывается. Расчёт начинается после накопления достаточного количества баров для корректного вычисления всех периодов.
Индикатор использует шесть буферов для хранения промежуточных и финальных значений. Внутри цикла расчёта реализована выборочная пропускная механика, влияющая на частоту пересчёта отдельных баров. Все линии рисуются начиная с минимально необходимого количества исторических данных.

Настройки программы

НастройкаОписание
InpSigPeriod Сигнальный период для расчёта ATR. Определяет горизонт усреднения волатильности для сигнальной линии. По умолчанию 14.
InpFastPeriod Быстрый период для расчёта ATR. Определяет горизонт усреднения волатильности для быстрой линии. По умолчанию 25.
InpSlowPeriod Медленный период для расчёта ATR. Определяет горизонт усреднения волатильности для медленной линии. По умолчанию 50.
Получить полный код

Поиск по коду файла

#property version   "1.01"
#property strict
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_type1 DRAW_LINE
#property indicator_type2 DRAW_LINE
#property indicator_type3 DRAW_LINE
#property indicator_color1 Red
#property indicator_color2 DarkTurquoise
#property indicator_color3 DodgerBlue
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1

input int      InpSigPeriod=14;  // Signal Period
input int      InpFastPeriod=25; // Fast Period
input int      InpSlowPeriod=50; // Slow Period
int SigMaPeriod=(int)MathCeil(InpSigPeriod/5);
int FastMaPeriod = (int)MathCeil(InpFastPeriod/5);
int SlowMaPeriod = (int)MathCeil(InpSlowPeriod/5);
int   CalcPeriod=InpSlowPeriod*2;

int min_rates_total;

double FastAtrMaBuffer[];
double SlowAtrMaBuffer[];
double SigAtrMaBuffer[];

double FastAtrBuffer[];
double SlowAtrBuffer[];
double SigAtrBuffer[];

int OnInit()
  {
      // код доступен только после оплаты
   }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
      // код доступен только после оплаты
   }

   

Показано первые 50% кода (символов: 4037)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
403,70₽ ≈ $4.93