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

Adaptive Moving Average

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

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

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

О программе

AMA — это пользовательский индикатор для платформы MetaTrader 5, отображающий адаптивную скользящую среднюю на графике цены. Индикатор рассчитывает значения на основе открытой цены и отрисовывает результат в виде линии в основном оконном графике. При некорректных входных параметрах индикатор автоматически подставляет значения по умолчанию и уведомляет об этом через вывод в журнал.

Индикатор использует четыре настраиваемых параметра: период AMA, периоды быстрой и медленной экспоненциальных скользящих средних, а также горизонтальный сдвиг линии. Все параметры задаются в поле ввода и могут быть изменены пользователем перед запуском. Линия индикатора начинает отображаться после накопления достаточного количества баров, определяемого установленным периодом.

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

НастройкаОписание
InpPeriodAMA Устанавливает период расчёта адаптивной скользящей средней. Если указано значение меньше или равное нулю, по умолчанию используется значение 10.
InpFastPeriodEMA Задаёт период быстрой экспоненциальной скользящей средней, определяющей верхнюю границу скорости адаптации. При некорректном значении используется значение по умолчанию — 2.
InpSlowPeriodEMA Задаёт период медленной экспоненциальной скользящей средней, определяющей нижнюю границу скорости адаптации. При некорректном значении используется значение по умолчанию — 30.
InpShiftAMA Задаёт горизонтальный сдвиг линии индикатора относительно графика цены в барах.
Получить полный код

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

#property version     "1.00"
#property description "Adaptive Moving Average"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1

#property indicator_label1  "AMA"
#property indicator_type1   DRAW_LINE
#property indicator_color1  Red
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_applied_price PRICE_OPEN

input int      InpPeriodAMA=10;      // AMA period
input int      InpFastPeriodEMA=2;   // Fast EMA period
input int      InpSlowPeriodEMA=30;  // Slow EMA period
input int      InpShiftAMA=0;        // AMA shift

double         ExtAMABuffer[];

double         ExtFastSC;
double         ExtSlowSC;
int            ExtPeriodAMA;
int            ExtSlowPeriodEMA;
int            ExtFastPeriodEMA;

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

   if(InpPeriodAMA<=0)
     {
      ExtPeriodAMA=10;
      printf("Input parameter InpPeriodAMA has incorrect value (%d). Indicator will use value %d for calculations.",
             InpPeriodAMA,ExtPeriodAMA);
     }
   else ExtPeriodAMA=InpPeriodAMA;
   if(InpSlowPeriodEMA<=0)
     {
      ExtSlowPeriodEMA=30;
      printf("Input parameter InpSlowPeriodEMA has incorrect value (%d). Indicator will use value %d for calculations.",
             InpSlowPeriodEMA,ExtSlowPeriodEMA);
     }
   else ExtSlowPeriodEMA=InpSlowPeriodEMA;
   if(InpFastPeriodEMA<=0)
     {
      ExtFastPeriodEMA=2;
      printf("Input parameter InpFastPeriodEMA has incorrect value (%d). Indicator will use value %d for calculations.",
             InpFastPeriodEMA,ExtFastPeriodEMA);
     }
   else ExtFastPeriodEMA=InpFastPeriodEMA;

   SetIndexBuffer(0,ExtAMABuffer,INDICATOR_DATA);

   string short_name

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

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

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

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

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

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

Стоимость полного кода
267,60₽ ≈ $3.27