Oracle Bands SPX PS 2 thru 11 day Range Switch

This is the place to discuss EdgeRater Chart Script

Moderator: Chris White

Post Reply
henry1224
Posts: 457
Joined: Wed Feb 24, 2016 12:04 pm

Oracle Bands SPX PS 2 thru 11 day Range Switch

Post by henry1224 »

This indicator plots the 2 thru 11 day range switch of a second asset against the current viewed chart.
You need to have the symbol of the indicator in the same symbol list as the viewed symbol

under the parameters tab

Sym Symbol $SPX 0 0

here is the code

SC:=Fml(Sym,'C');
SH:=Fml(Sym,'H');
SL:=Fml(Sym,'L');
D1:=If(SC>Ref(Max(SH,Ref(SH,1)),1),Min(SL,Ref(SL,1)), Max(SH,Ref(SH,1)));
D2:=If(SC<Ref(Min(SL,Ref(SL,1)),1),Max(SH,Ref(SH,1)), Min(SL,Ref(SL,1)));
A2:=Cross(SC,d1);
B2:=Cross(d2,SC);
Long2:=BarsSince(A2)<BarsSince(B2),ColorGreen;
Short2:=BarsSince(A2)>BarsSince(B2),ColorRed;

D3:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Ref(SH,2))),1),Min(SL,Min(Ref(SL,1),Ref(SL,2))), Max(SH,Max(Ref(SH,1),Ref(SH,2))));
D4:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Ref(SL,2))),1),Max(SH,Max(Ref(SH,1),Ref(SH,2))), Min(SL,Min(Ref(SL,1),Ref(SL,2))));
A3:=Cross(SC,d3);
B3:=Cross(d4,SC);
Long3:=BarsSince(A3)<BarsSince(B3),ColorGreen;
Short3:=BarsSince(A3)>BarsSince(B3),ColorRed;

D5:=If(SC>Ref(Max(SH,Max(Ref(SH,3),Max(Ref(SH,1),Ref(SH,2)))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Ref(SL,3)))),Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Ref(SH,3)))));
D6:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Ref(SL,3)))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Ref(SH,3)))),Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Ref(SL,3)))));
A4:=Cross(SC,d5);
B4:=Cross(d6,SC);
Long4:BarsSince(A4)<BarsSince(B4),ColorGreen;
Short4:BarsSince(A4)>BarsSince(B4),ColorRed;

D7:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Ref(SH,4))))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Ref(SL,4))))),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Ref(SH,4))))));


D8:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Ref(SL,4))))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Ref(SH,4))))),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Ref(SL,4))))));
A5:=Cross(SC,d7);
B5:=Cross(d8,SC);
Long5:=BarsSince(A5)<BarsSince(B5),ColorGreen;
Short5:=BarsSince(A5)>BarsSince(B5),ColorRed;

D9:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Ref(SH,5)))))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Ref(SL,5)))))),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Ref(SH,5)))))));

D10:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Ref(SL,5)))))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Ref(SH,5)))))),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Ref(SL,5)))))));
A6:=Cross(SC,d9);
B6:=Cross(d10,SC);
Long6:=BarsSince(A6)<BarsSince(B6),ColorGreen;
Short6:=BarsSince(A6)>BarsSince(B6),ColorRed;

D11:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),
Ref(SH,6))))))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Ref(SL,6))))))),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Ref(SH,6))))))));

D12:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Ref(SL,6))))))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Ref(SH,6))))))),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Ref(SL,6))))))));
A7:=Cross(SC,d11);
B7:=Cross(d12,SC);
Long7:BarsSince(A7)<BarsSince(B7),ColorGreen;
Short7:BarsSince(A7)>BarsSince(B7),ColorRed;

D13:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),
Max(Ref(SH,6),Ref(SH,7)))))))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),Ref(SL,7)))))))),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Ref(SH,7)))))))));

D14:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),
Min(Ref(SL,6),Ref(SL,7)))))))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Ref(SH,7)))))))),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),Ref(SL,7)))))))));
A8:=Cross(SC,d13);
B8:=Cross(d14,SC);
Long8:BarsSince(A8)<BarsSince(B8),ColorGreen;
Short8:BarsSince(A8)>BarsSince(B8),ColorRed;

D15:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),
Max(Ref(SH,6),Max(Ref(SH,7),Ref(SH,8))))))))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),
Min(Ref(SL,7),Ref(SL,8))))))))),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Max(Ref(SH,7),Ref(SH,8))))))))));

D16:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),
Min(Ref(SL,6),Min(Ref(SL,7),Ref(SL,8))))))))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Max(Ref(SH,7),Ref(SH,8))))))))),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),
Min(Ref(SL,7),Ref(SL,8))))))))));
A9:=Cross(SC,d15);
B9:=Cross(d16,SC);
Long9:BarsSince(A9)<BarsSince(B9),ColorGreen;
Short9:BarsSince(A9)>BarsSince(B9),ColorRed;

D17:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),
Max(Ref(SH,6),Max(Ref(SH,7),Max(Ref(SH,8),Ref(SH,9)))))))))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),
Min(Ref(SL,7),Min(Ref(SL,8),Ref(SL,9)))))))))),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Max(Ref(SH,7),Max(Ref(SH,8),Ref(SH,9)))))))))));

D18:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),
Min(Ref(SL,6),Min(Ref(SL,7),Min(Ref(SL,8),Ref(SL,9)))))))))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Max(Ref(SH,7),Max(Ref(SH,8),Ref(SH,9)))))))))),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),
Min(Ref(SL,7),Min(Ref(SL,8),Ref(SL,9)))))))))));
A10:=Cross(SC,d17);
B10:=Cross(d18,SC);
Long10:BarsSince(A10)<BarsSince(B10),ColorGreen;
Short10:BarsSince(A10)>BarsSince(B10),ColorRed;

D19:=If(SC>Ref(Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),
Max(Ref(SH,6),Max(Ref(SH,7),Max(Ref(SH,8),Max(Ref(SH,9),Ref(SH,10))))))))))),1),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),
Min(Ref(SL,7),Min(Ref(SL,8),Min(Ref(SL,9),Ref(SL,10))))))))))),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Max(Ref(SH,7),Max(Ref(SH,8),Max(Ref(SH,9),Ref(SH,10))))))))))));

D20:=If(SC<Ref(Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),
Min(Ref(SL,6),Min(Ref(SL,7),Min(Ref(SL,8),Min(Ref(SL,9),Ref(SL,10))))))))))),1),
Max(SH,Max(Ref(SH,1),Max(Ref(SH,2),Max(Ref(SH,3),Max(Ref(SH,4),Max(Ref(SH,5),Max(Ref(SH,6),
Max(Ref(SH,7),Max(Ref(SH,8),Max(Ref(SH,9),Ref(SH,10))))))))))),
Min(SL,Min(Ref(SL,1),Min(Ref(SL,2),Min(Ref(SL,3),Min(Ref(SL,4),Min(Ref(SL,5),Min(Ref(SL,6),
Min(Ref(SL,7),Min(Ref(SL,8),Min(Ref(SL,9),Ref(SL,10))))))))))));
A11:=Cross(SC,d19);
B11:=Cross(d20,SC);
Long11:BarsSince(A11)<BarsSince(B11),ColorGreen;
Short11:BarsSince(A11)>BarsSince(B11),ColorRed;



Total: (Long2+Long3+Long4+Long5+Long6+Long7+Long8+Long9+Long10+Long11)*10,Width2,ColorBlack;
width:=11;
lowest:= 0;
highest:= 110;
BandWidth:= (highest - lowest) / width;
band1:= Highest - BandWidth,Width2,ColorBlack;
band2:= band1 - BandWidth,Width2,ColorBlack;
band3:= band2 - BandWidth,Width2,ColorBlack;
band4:= band3 - BandWidth,Width2,ColorBlack;
band5:= band4 - BandWidth,Width2,ColorBlack;
band6:= band5 - BandWidth,Width2,ColorBlack;
band7:= band6 - BandWidth,Width2,ColorBlack;
band8:= band7 - BandWidth,Width2,ColorBlack;
band9:= band8 - BandWidth,Width2,ColorBlack;
band10:= band9 - BandWidth,Width2,ColorBlack;
band11:= band10 - BandWidth,Width2,ColorBlack;


track1_Long2:= if(Long2==1, band1 ,band2);
track2_Long2:= if(Long2==1, band2 , band1);
FillRgn(Long2==1,track1_Long2,Track2_Long2),Brush#70008000;
FillRgn(Long2==0,Track1_Long2,Track2_Long2),Brush#70800000;
track1_Long3:= if( Long3==1, band2 ,band3);
track2_Long3:= if(Long3==1, band3 , band2);
FillRgn(Long3==1,track1_Long3,Track2_Long3),Brush#70008000;
FillRgn(Long3==0,Track1_Long3,Track2_Long3),Brush#70800000;
track1_Long4:= if( Long4==1, band3 ,band4);
track2_Long4:= if(Long4==1, band4 , band3);
FillRgn(Long4==1,track1_Long4,Track2_Long4),Brush#70008000;
FillRgn(Long4==0,Track1_Long4,Track2_Long4),Brush#70800000;
track1_Long5:= if( Long5==1, band4 ,band5);
track2_Long5:= if(Long5==1, band5 , band4);
FillRgn(Long5==1,track1_Long5,Track2_Long5),Brush#70008000;
FillRgn(Long5==0,Track1_Long5,Track2_Long5),Brush#70800000;
track1_Long6:= if( Long6==1, band5,band6);
track2_Long6:= if(Long6==1, band6 , band5);
FillRgn(Long6==1,track1_Long6,Track2_Long6),Brush#70008000;
FillRgn(Long6==0,Track1_Long6,Track2_Long6),Brush#70800000;
track1_Long7:= if( Long7==1, band6,band7);
track2_Long7:= if(Long7==1, band7 , band6);
FillRgn(Long7==1,track1_Long7,Track2_Long7),Brush#70008000;
FillRgn(Long7==0,Track1_Long7,Track2_Long7),Brush#70800000;
track1_Long8:= if( Long8==1, band7,band8);
track2_Long8:= if(Long8==1, band8 , band7);
FillRgn(Long8==1,track1_Long8,Track2_Long8),Brush#70008000;
FillRgn(Long8==0,Track1_Long8,Track2_Long8),Brush#70800000;
track1_Long9:= if( Long9==1, band8,band9);
track2_Long9:= if(Long9==1, band9 , band8);
FillRgn(Long9==1,track1_Long9,Track2_Long9),Brush#70008000;
FillRgn(Long9==0,Track1_Long9,Track2_Long9),Brush#70800000;
track1_Long10:= if( Long10==1, band9,band10);
track2_Long10:= if(Long10==1, band10 , band9);
FillRgn(Long10==1,track1_Long10,Track2_Long10),Brush#70008000;
FillRgn(Long10==0,Track1_Long10,Track2_Long10),Brush#70800000;
track1_Long11:= if( Long11==1, band10,band11);
track2_Long11:= if(Long11==1, band11, band10);
FillRgn(Long11==1,track1_Long11,Track2_Long11),Brush#70008000;
FillRgn(Long11==0,Track1_Long11,Track2_Long11),Brush#70800000;
Post Reply