Please Coding this indicator

 

Hi, Dear Sir:

Would you Please coding the following formula into MT4 indicator:

TY:=C;

HD:=FILTER(BACKSET(FILTER(REF(TY,10)=HHV(TY,2*10+1),10),10+1),10);

LD:=FILTER(BACKSET(FILTER(REF(TY,10)=LLV(TY,2*10+1),10),10+1),10);

A:=REF(C,BARSLAST(HD));

B:=REF(C,BARSLAST(LD));

T1:=BARSLAST(HD)<BARSLAST(LD) AND NOT(HD) ;

T2:=BARSLAST(HD)>BARSLAST(LD) AND NOT(LD);

WaveTop:IF(T1,A,A),COLORFF00FF,POINTDOT,LINETHICK2;

STICKLINE(T1,A,A,9,0),COLORFF00FF;

WaveBottom:IF(T2,B,B),COLOR80FF00,POINTDOT,LINETHICK2;

Var3:=LLV(high,240);

Var4:=100*(close-Var3)/Var3;

Var5:=(close-LLV(low,528))/(HHV(high,528)-LLV(low,528))*100;

Var6:=(close-LLV(close,530))/(HHV(close,530)-LLV(close,530))*100;

Var7:=0;

Var8:=MA(HHV(close-REF(close,1),0),34)/MA(ABS(close-REF(close,1)),7)*100;

Var9:=MA(HHV(close-REF(close,1),0),13)/MA(ABS(close-REF(close,1)),13)*100;

VarA:=BARSCOUNT(close);

VarB:=Var8<20 AND Var935;

VarC:=VarB AND COUNT(VarB,1)=1;

VarD:=EMA(close,21)-EMA(close,8);

VarE:=EMA(VarD,5);

VarF:=TROUGH(3,6,1)<4 AND CROSS(VarD,VarE);

Var10:=IF(TROUGH(3,16,1)=0 AND high>low+0.04,4,0);

Var11:=ZIG(3,6)>REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)<=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)<=REF(ZIG(3,6),3);

Var12:=ZIG(3,6)=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)>=REF(ZIG(3,6),3);

Var13:=ZIG(3,22)>REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)<=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)<=REF(ZIG(3,22),3);

Var14:=ZIG(3,22)=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)>=REF(ZIG(3,22),3);

Var15:=ZIG(3,51)>REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)<=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)<=REF(ZIG(3,51),3);

Var16:=ZIG(3,51)=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)>=REF(ZIG(3,51),3);

Var17:=ZIG(3,72)>REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)<=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)<=REF(ZIG(3,72),3);

Var18:=ZIG(3,72)=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)>=REF(ZIG(3,72),3);

Var19:=EMA(close,2)-EMA(close,150);

Var1A:=EMA(Var19,100);

Var1B:=2*(Var19-Var1A);

Var1C:=POW(Var1B,3)*0.1+POW(Var1B,1);

Var1D:=SQRT(SQRT(low*high*open*close));

Var1E:=EMA(Var1D*0.97,3);

Var1F:=(high+low+close)/3;

Var20:=(Var1F-MA(Var1F,14))/(0.015*AVEDEV(Var1F,14));

Var21:=CROSS(Var1E,low);

BuyPoint 1:=Var10;

BuyPoint 2:=(Var11+Var13+Var15+Var17);

SellPoint 1:=(Var12+Var14+Var16+Var18);

Var22:=BuyPoint 1 AND VarF AND VarC AND Var21 AND Var4<0 AND Var5=0 AND Var6=0 AND Var20<(-110);

VAR1:=MA(close,5);

VAR2:=MA(close,10);

VAR31:=MA(close,30);

VARB1:=SUM(close*vol*100,28)/SUM(vol*100,28);

VARC1:=INTPART(VARB1*100)/100;

VARD1:=EMA(close,5)-EMA(close,10);

VARE1:=EMA(VARD1,9);

VAR131:=REF(VARE1,1);

VAR141:=VARE1;

VAR151:=VAR141-VAR131;

VAR161:=REF(VARD1,1);

VAR171:=VARD1;

VAR181:=VAR171-VAR161;

VAR191:=open;

VAR1A1:=close;

DRAWTEXT(BuyPoint 1>0,L-0.01,'▲'),colorred;

DRAWTEXT(BuyPoint 2>0,L-0.01,'▲'),COLORFF00FF;

DRAWTEXT(SellPoint 1>0,H+0.1,'▼'), COLOR33FF33;

Reason: