4-Day-Range Switch for Amibroker (AFL)
santho_sd almost 16 years ago Amibroker (AFL)
4-Day-Range Switch
Indicator / Formula
Copy & Paste Friendly
//4-Day-Range Switch
prev=AMA2(C,1,0);
d=IIf(C>Ref(Max(Max(H,Ref(H,-3)),Max(Ref(H,-1),Ref(H,-2))),-1),Min(Min(L,Ref(L,-3)),Min(Ref(L,-1),Ref(L,-2))),
IIf(C<Ref(Min(Min(L,Ref(L,-3)),Min(Ref(L,-1),Ref(L,-2))),-1),Max(Max(H,Ref(H,-3)),Max(Ref(H,-1),Ref(H,-2))),PREV));
a=Cross(Close,d);
b=Cross(d,Close);
state=IIf(BarsSince(a)<BarsSince(b),1,0);
s=state>Ref(state,-1);
ss=state<Ref(state,-1);
sss=state==Ref(state,-1);
col=IIf(state == 1 ,51,IIf(state ==0,4,1));
Plot(C,"",Col,128);
PlotShapes( shapeUpArrow * s ,6,0,L);
PlotShapes( shapeDownArrow *ss ,4,0,H);
Filter = s OR sss OR sss ;
AddColumn(C,"close",1.2);
AddColumn( IIf( s, 66,1 ), "buy", formatChar, 1, bkcolor =IIf (s,colorGreen, colorRed ));
AddColumn( IIf( Ss, 83,1 ), "sell", formatChar, 1, bkcolor =IIf (Ss,colorRed, colorGreen ));
AddColumn( IIf( sss, 87,1 ), "wait", formatChar, 1, bkcolor =IIf (sss,colorYellow, colorRed ));
//_SECTION_BEGIN("");
//_N(Title = "{{NAME}} - {{INTERVAL}} {{DATE}}: "+_DEFAULT_NAME()+" : {{OHLCX}} {{VALUES}}"
//+"\n"+EncodeColor(colorYellow)+
//WriteIf(s,"EXIT all Short positions\nif trading long positions, enter long Now-\nOR at the market price on tomorrow's Open with stop="+EncodeColor(4)+WriteVal(L+.75*ATR(5),1.4)+",","")+
//WriteIf(ss,"exit all long positions today with a Market On Close (MOC) order\nOR at the market price on tomorrow's Open with stop="+EncodeColor(4)+WriteVal(Ref(H+.75*ATR(5), -1),1.4)+",","")+
//WriteIf( sss ,"No trading signals today.","") );
AlertIf( s, "SOUND D:\songs\bhi.mp3", "Audio alert", 2 );
AlertIf( ss, "SOUND C:\\Windows\\Media\\Ding.wav", "Audio alert", 5 );3 comments
Leave Comment
Please login here to leave a comment.
Seems to be a effective system for day trading.
Dear,
Good system for Intraday as well as for swing/short term trade.
Thanks for sharing with us.
cnbondre
Hi,
Could someone modify the code so that a backtest be run.
I think the last section is not working (although I am no expert in coding)
//SECTION_BEGIN("");
//N(Title = "{{NAME}} – {{INTERVAL}} {{DATE}}: "+DEFAULTNAME+
//WriteIf(s,“EXIT all Short positions\nif trading long positions, enter long Now-\nOR at the market price on tomorrow’s Open with stop=”EncodeColor(4)WriteVal(L+.75*ATR(5),1.4)“,”,"")
//WriteIf(ss,“exit all long positions today with a Market On Close (MOC) order\nOR at the market price on tomorrow’s Open with stop=”EncodeColor(4)WriteVal(Ref(H+.75*ATR(5), -1),1.4)“,”,"")
//WriteIf( sss ,“No trading signals today.”,"") );