Индикатор плотности экстремумов с фильтром по ATR

MQL5 Indicatori

Lavoro terminato

Tempo di esecuzione 5 giorni

Specifiche


Плотность - среднее расстояние  между экстремумами на определенной глубине истории.
Рассчитывается, как глубина исследуемой истории в барах делённая на количество экстремумов в ней. 
Экстремумы - вершины стандартного ZZ. 

Фильтр по ATR убирает из расчетов как экстремумы, так и бары истории
не попавшие в его диапазон.
Диапазон ATR  т.е.  ARTmin<ATR<ATRmax. 
Таймфрейм для ATR свой, независимый от ТФ индикатора

Пользовательские настройки индикатора:

Bars  -глубина анализа
ATRmax -верх порог
ATRmin -ниж порог
ATR_tf -АТР_тф


Пример нахождения плотности

int OnInit()

    handle2_AZ=iCustom(A,Z_Tf_Den,"Examples\\ZigZag",12,5,3);  


void OnTick()

      if(!CopyBufferAsSeries(handle2_AZ,0,0,NBars,true,ZZ_ASum)) return;
      ArrayResize(ZZ_ASum,NBars);  

   int nExt[];int j=0,N_ext=0;
   int x=0;
   ArrayResize(nExt,NBars);ArrayInitialize(nExt,0);//создаем массив счетчика экстремумов 

   for (int i=NBars-1;i>=0;i--)   //проверяем значения зигзага на NBars барах и ищем наш экстремум 
             {
      if ( NBars!=0)    { x++; }                                                   
      if (ZZ_ASum[i]!=0) { nExt[j]=nExt[j]+1;}
             } 
    N_ext=ArrayResize(nExt,j+1);
     double Sum=0;
     for (int p=0;p<N_ext;p++){Sum=Sum+nExt[p];}  //считаем сумму
     if (Sum!=0)Sum=x/Sum;                      // результат в Sum

     Dens=Sum;                               //Выводим результат

 

 

Con risposta

1
Sviluppatore 1
Valutazioni
(851)
Progetti
1461
72%
Arbitraggio
122
29% / 48%
In ritardo
356
24%
In elaborazione
Pubblicati: 3 articoli

Informazioni sul progetto

Budget
25 USD
Scadenze
da 1 a 3 giorno(i)