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

88_filter_mod-m.mq5

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

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

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

О программе

Индикатор для MetaTrader 5, отображающий два гистограммных буфера (UP — зелёный, DN — красный) в отдельном окне. Он анализирует ценовые данные за настраиваемый период, сравнивая накопленные суммы цен закрытия, привязанные к локальным максимумам и минимумам.
Внутри каждого бара индикатор проходит цепочку промежуточных баров, отслеживая наибольший высокий и наименьший низний значения, и суммирует цены закрытия баров, в которых были зафиксированы новые экстремумы. Затем рассчитывается отношение этих сумм.
Значение UP отражает соотношение веса закрытий вблизи максимумов к весу закрытий вблизи минимумов, а DN — обратное соотношение. Параметр HistoryBars ограничивает количество баров, пересчитываемых при каждом обновлении.

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

НастройкаОписание
Len Длина периода анализа — количество баров, используемых для внешнего цикла расчёта индикатора.
HistoryBars Максимальное количество баров для пересчёта. Ограничивает число обрабатываемых баров при каждом вызове функции расчёта.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 2
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_type2 DRAW_HISTOGRAM
#property indicator_color1 clrGreen
#property indicator_color2 clrRed
#property indicator_width1 2
#property indicator_width2 2
#property indicator_label1 "UP"
#property indicator_label2 "DN"

input int        Len         = 55;
input int        HistoryBars = 300;

double UP[], DN[];
int bar_1;

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[])
  {
      // код доступен только после оплаты
   }

   ArraySetAsSeries(high, true);
   ArraySetAsSeries(low, true);
   ArraySetAsSeries(close, true);

   if(prev_calculated == rates_total)
     {
      bar_1 = 0;
     }
   else

      if(prev_calculated != rates_total && prev_calculated != 0)
        {
         bar_1 = rates_total - prev_calculated;
         if(bar_1 > HistoryBars)
           {
            bar_1 = HistoryBars;
           }
        }
      else

         if(prev_calcula

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

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

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

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

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

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

Стоимость полного кода
209,80₽ ≈ $2.56