n:=12;
m:=6;
TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),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);
PDI:= DMP*100/TR;
MDI:= DMM*100/TR;
ADX:= MA(ABS(MDI-PDI)/(MDI+PDI)*100,M);
ADXR:=(ADX+REF(ADX,M))/2;
VAR1:=PDI;
VAR2:=MDI;
VAR3:=VAR1>65 AND VAR1>REF(VAR1,1);
VAR4:=LLV(VAR1,0);
VAR5:=BARSLAST(VAR4=VAR1);
VAR6:=(0-REF(VAR2,4))/(VAR4-REF(VAR2,VAR5))>2;
VAR7:=VAR1>REF(VAR1,1);
VAR8:=VOL>2*MA(VOL,30);
VAR9:=ADX;
VARA:=ADXR;
CLOSEVARC:=MA(CLOSE,30)>REF(MA(CLOSE,30),1);
VARB:=CLOSE>MA(CLOSE,30) AND CLOSEVARC;
VARD:=BARSLAST(CROSS(MA(CLOSE,5),MA(CLOSE,10)));
diff:=EMA(C,7)-EMA(C,21);
VARE:=0-DIFF;
VARF:=TROUGHBARS(3,15,1)<4;
VAR10:=EMA(CLOSE,30)>REF(EMA(CLOSE,30),2);
VAR11:=IF(VARF=1,50,0);
VAR12:=CROSS(VAR2,VAR1) AND CROSS(VARA,VAR9);
VAR13:=CROSS(VAR2,VAR1) AND CROSS(VAR9,VARA);
VAR14:=VARB AND VARD AND VAR10 AND VAR6 AND VAR7 AND VAR8*50;//VARC
VAR15:=BARSLAST(CROSS(VAR2,VAR1)=1);
VAR16:=BARSLAST(CROSS(VAR1,VAR2)=1);
VAR17:=HHV(VAR1,VAR16);
VAR18:=BARSLAST(VAR1=VAR17);
STICKLINE(FILTER(VARF=1,5),10,0,3,0),color00ff00;
VAR19:=VAR3 OR VAR12 OR VAR13*100;
VAR1A:=VAR13*100;
DRAWICON(FILTER(VARF=1,3),10,'buy');