Индикаторы: Average Directional Movement Index, ADX

 

Average Directional Movement Index, ADX:

Индикатор Индекс Среднего Направления Движения (Average Directional Movement Index, ADX) помогает определить наличие ценовой тенденции.

Author: MetaQuotes Software Corp.

 

.

 

Сколько не разбирал этот индикатор, все равно, даже с учетом понимания принципов его работы, в торговле его применять даже на Н1 и выше сложновато.

 
А можно сделать так что бы бары раскрашивались в таком алгоритме: если текущее значение ADX больше предыдущего и +(плюсовая линия) выше минусовой то бар красится в зеленный, но если текущее значение ADX меньше предыдущего значения то бар окрашивается в серый(тут уже не важно где находится плюсовая линия), ну и наконец если текущее значение ADX больше предыдущего ADX и - (минусовая линия) выше плюсовой то бар красится в красный. А то просто раскрашивание в синий и красный ни как не облегчает ситуацию. спасибо.
 
Можно написать компактнее:
double pM=High[i]-High[i+1];
double mM=Low[i+1]-Low[i];
double pDM=0; if((pM>mM)&&(pM>0)) pDM=pM;
double mDM=0; if((mM>pM)&&(mM>0)) mDM=mM;
//---- вычисляем истинный интервал
double TR=MathMax(MathMax(High[i]-Low[i],MathAbs(High[i]-Close[i+1])),MathAbs(Low[i]-Close[i+1]));
//---- подсчёт +DI/-DI
if(TR<0.00001) { PlusSdiBuffer[i]=0; MinusSdiBuffer[i]=0; }
else      { PlusSdiBuffer[i]=pDM/TR; MinusSdiBuffer[i]=mDM/TR; }
 

Я использую этот индикатор в своей торговле. Я хотел в программе сразу добавить уровень, равный 20. Чтобы каждый раз не устанавливать его в свойствах. Но, к сожалению, в тексте программы ADX.mq4 я не нашёл, как это сделать.

 
Victor Ziborov:

Я использую этот индикатор в своей торговле. Я хотел в программе сразу добавить уровень, равный 20. Чтобы каждый раз не устанавливать его в свойствах. Но, к сожалению, в тексте программы ADX.mq4 я не нашёл, как это сделать.


После строки  #property strict  вставьте  #property indicator_level1 35  и  #property indicator_level1 20

#property indicator_level1 35
#property indicator_level2 20
 
хороший индикатор.

с уважением.
 
Alexander Voronkov:

После строки  #property strict  вставьте  #property indicator_level1 35  и  #property indicator_level1 20

Спасибо, Александр, за подсказку. Я тоже нашёл, как это сделать. Я использовал в функции OnInit() операторы:

   IndicatorSetInteger(INDICATOR_LEVELS,1);
   IndicatorSetInteger(INDICATOR_LEVELSTYLE,STYLE_SOLID);
   IndicatorSetInteger(INDICATOR_LEVELCOLOR,clrYellow);
   IndicatorSetDouble (INDICATOR_LEVELVALUE,0,40);

Благодарю за участие !

Причина обращения: