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

OsMA_5_bar_rolling

osma_5_bar_rolling_0.4.mq4
Вы автор или правообладатель?

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

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

О программе

OsMA_5_bar_rolling — это пользовательский индикатор для платформы MetaTrader 4, отображающий осциллятор на основе разницы между двумя экспоненциальными скользящими средними (MACD) и её сигнальной линией. Индикатор работает в отдельном подокне графика и представляет результат в виде гистограммы серебристого цвета.

При расчёте используются цены закрытия, сгруппированные с шагом в 5 баров: для каждой группы вычисляются быстрая и медленная EMA заданных периодов, затем определяется разница между ними и её сглаженная сигнальная линия. Значение индикатора — это разница между основной линией MACD и сигнальной линией.

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

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

НастройкаОписание
FastEMA Период быстрой экспоненциальной скользящей средней (EMA), используемой в расчёте MACD.
SlowEMA Период медленной экспоненциальной скользящей средней (EMA), используемой в расчёте MACD.
SignalSMA Период простой скользящей средней (SMA), используемой для расчёта сигнальной линии MACD.
Получить полный код

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

#property  indicator_separate_window
#property  indicator_buffers 1
#property  indicator_color1  Silver

extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;

double     ind_buffer1[];
double     ind_buffer2[];
double     ind_buffer3[];

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

int start()
  {
      // код доступен только после оплаты
   }
   int limit;
   int counted_bars=IndicatorCounted();

   if(counted_bars<0) return(-1);

   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

   for(int i=0; i<limit; i++)
      {

      double ClosePricesArray[];
      ArrayResize(ClosePricesArray,Bars-i);

      ClosePricesArray[0] = Close[i];
      int cnt=1;
      for(int CurrBar=i+5; CurrBar<=Bars-i-1; CurrBar=CurrBar+5)
         {
         ClosePricesArray[cnt]=Close[CurrBar];
         cnt++

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

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

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

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

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

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

Стоимость полного кода
181,90₽ ≈ $2.22