N:=28;M:=22;
TR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
DMP:= SUM(IF(HD>0 AND HD>LD,HD,0),N);
DMM:= SUM(IF(LD>0 AND LD>HD,LD,0),N);
+DI: DMP*100/TR;
-DI: DMM*100/TR;
ADX: MA(ABS(-DI-+DI)/(-DI++DI)*100,M);
ADXR:(ADX+REF(ADX,M))/2;
STICKLINE(+DI>-DI,+DI,-DI,1,1),colormagenta;
STICKLINE(+DI<-DI,+DI,-DI,1,1),colorgreen;
PARTLINE(ADX,(+DI>-DI) AND (REF(ADX,1)<ADX),colorred,(+DI<-DI) AND (REF(ADX,1)<ADX),coloryellow,1,colorcyan),Linethick3;