Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Three Period Time & Price Ranges for Amibroker (AFL)
Plots 3 week, 3 month and 3 quarter time and price ranges as described in Frank Dilernia’s Book ‘The Trader Trading’
The formula let’s you look forward to the next periods levels by setting the number of days left in the current period.
Probably could be done a lot more elegantly, but the best I could do with my coding capabilities.
Colored for black background.
Screenshots
Similar Indicators / Formulas
Indicator / Formula
Plot(C,"close",colorBrightGreen,styleBar|styleThick);
_SECTION_BEGIN("range 3 Qtr");
Hi1 = IIf(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Ref(HighestSince(Month()!=Ref(Month(),-1),H,9),-1),0);
Hi = ValueWhen(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Hi1,1);
Lo1 = IIf(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Ref(LowestSince(Month()!=Ref(Month(),-1),L,9),-1),0);
Lo = ValueWhen(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Lo1,1);
Cl1 = IIf(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Ref(C,-1),0);
Cl = ValueWhen(Month()!=Ref(Month() ,-1)AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Cl1,1);
rg = (Hi - Lo);
bp = (Hi + Lo + Cl)/3;
rh = bp + (rg*0.5);
rl = bp - (rg*0.5);
rh1 = bp + (rg*0.61);
rl1 = bp - (rg*0.61);
rh2 = bp + rg;
rl2 = bp - rg;;
Plot(bp,"",colorBlue,styleStaircase|styleNoLabel|styleNoRescale);
Plot(rh,"",colorBlue,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(rl,"",colorBlue,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
//Plot(rh1,"",colorblue,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rl1,"",colorblue,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rh2,"",colorblue,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rl2,"",colorblue,stylestylestaircase|stylenolabel|styleNoRescale);
x =Param("forward",20,0,20,1);
Plot(LastValue(bp),"",colorBlack,styleStaircase|styleNoLabel|styleNoRescale);
Plot(LastValue(rh),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(LastValue(rl),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(LastValue(bp),"",colorBlue,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rh),"",colorBlue,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rl),"",colorBlue,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Hi1 = HighestSince(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),H,3);
Hi = ValueWhen(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Hi1,1);
Lo1 = LowestSince(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),L,3);
Lo = ValueWhen(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Lo1,1);
Cl1 = IIf(Month()!=Ref(Month(),-1) AND (Month()==4 OR Month()==7 OR Month()==10 OR Month()==1),Ref(C,-1),0);
Cl = C;
rg = (Hi1 - Lo1);
bp = (Hi1 + Lo1 + Cl)/3;
rh = bp + (rg*0.5);
rl = bp - (rg*0.5);
rh1 = bp + (rg*0.61);
rl1 = bp - (rg*0.61);
rh2 = bp + rg;
rl2 = bp - rg;;
Plot(LastValue(bp),"",colorBlack,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rh),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rl),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(bp),"",colorBlue,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, 20);
Plot(LastValue(rh),"",colorBlue,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, 20);
Plot(LastValue(rl),"",colorBlue,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, 20);
_SECTION_END();
_SECTION_BEGIN("ranges 3 month fwd");
Hi1 = IIf(Month()!=Ref(Month(),-1),Ref(HighestSince(Month()!=Ref(Month(),-1),H,3),-1),0);
Hi = ValueWhen(Month()!=Ref(Month(),-1),Hi1,1);
Lo1 = IIf(Month()!=Ref(Month(),-1),Ref(LowestSince(Month()!=Ref(Month(),-1),L,3),-1),0);
Lo = ValueWhen(Month()!=Ref(Month(),-1),Lo1,1);
Cl1 = IIf(Month()!=Ref(Month(),-1),Ref(C,-1),0);
Cl = ValueWhen(Month()!=Ref(Month(),-1),Cl1,1);rg = (Hi - Lo);
rg = (Hi - Lo);
bp = (Hi + Lo + Cl)/3;
rh = bp + (rg*0.5);
rl = bp - (rg*0.5);
rh1 = bp + (rg*0.61);
rl1 = bp - (rg*0.61);
rh2 = bp + rg;
rl2 = bp - rg;;
Plot(bp,"",colorCustom12,styleStaircase|styleNoLabel|styleNoRescale);
Plot(rh,"",colorCustom12,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(rl,"",colorCustom12,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
//Plot(rh1,"",colorcustom12,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rl1,"",colorcustom12,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rh2,"",colorCustom12,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rl2,"",colorCustom12,stylestylestaircase|stylenolabel|styleNoRescale);
x =Param("forward",20,0,20,1);
Plot(LastValue(bp),"",colorBlack,styleStaircase|styleNoLabel|styleNoRescale);
Plot(LastValue(rh),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(LastValue(rl),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(LastValue(bp),"",colorCustom12,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rh),"",colorCustom12,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rl),"",colorCustom12,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Hi1 = HighestSince(Month()!=Ref(Month(),-1),H,3);
Hi = ValueWhen(Month()!=Ref(Month(),-1),Hi1,1);
Lo1 = LowestSince(Month()!=Ref(Month(),-1),L,3);
Lo = ValueWhen(Month()!=Ref(Month(),-1),Lo1,1);
Cl1 = IIf(Month()!=Ref(Month(),-1),Ref(C,-1),0);
Cl = C;
rg = (Hi1 - Lo1);
bp = (Hi1 + Lo1 + Cl)/3;
rh = bp + (rg*0.5);
rl = bp - (rg*0.5);
rh1 = bp + (rg*0.61);
rl1 = bp - (rg*0.61);
rh2 = bp + rg;
rl2 = bp - rg;;
Plot(LastValue(bp),"",colorBlack,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rh),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rl),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(bp),"",colorCustom12,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, 20);
Plot(LastValue(rh),"",colorCustom12,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, 20);
Plot(LastValue(rl),"",colorCustom12,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, 20);
_SECTION_END();
_SECTION_BEGIN("ranges 3 week");
Hi1 = IIf(DayOfWeek()<Ref(DayOfWeek(),-1),Ref(HighestSince(DayOfWeek()<Ref(DayOfWeek(),-1),H,3),-1),0);
Hi = ValueWhen(DayOfWeek()<Ref(DayOfWeek(),-1),Hi1,1);
Lo1 = IIf(DayOfWeek()<Ref(DayOfWeek(),-1),Ref(LowestSince(DayOfWeek()<Ref(DayOfWeek(),-1),L,3),-1),0);
Lo = ValueWhen(DayOfWeek()<Ref(DayOfWeek(),-1),Lo1,1);
Cl1 = IIf(DayOfWeek()<Ref(DayOfWeek(),-1),Ref(C,-1),0);
Cl = ValueWhen(DayOfWeek()<Ref(DayOfWeek(),-1),Cl1,1);
rg = (Hi - Lo);
bp = (Hi + Lo + Cl)/3;
rh = bp + (rg*0.5);
rl = bp - (rg*0.5);
rh1 = bp + (rg*0.61);
rl1 = bp - (rg*0.61);
rh2 = bp + rg;
rl2 = bp - rg;;
Plot(bp,"",colorWhite,styleStaircase|styleNoLabel|styleNoRescale);
Plot(rh,"",colorWhite,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(rl,"",colorWhite,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
//Plot(rh1,"",colorWhite,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rl1,"",colorWhite,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rh2,"",colorCustom12,stylestylestaircase|stylenolabel|styleNoRescale);
//Plot(rl2,"",colorCustom12,stylestylestaircase|stylenolabel|styleNoRescale);
x =Param("forward",5,0,5,1);
Plot(LastValue(bp),"",colorBlack,styleStaircase|styleNoLabel|styleNoRescale);
Plot(LastValue(rh),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(LastValue(rl),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale);
Plot(LastValue(bp),"",colorWhite,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rh),"",colorWhite,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rl),"",colorWhite,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Hi1 = HighestSince(DayOfWeek()<Ref(DayOfWeek(),-1),H,3);
Hi = ValueWhen(DayOfWeek()<Ref(DayOfWeek(),-1),Hi1,1);
Lo1 = LowestSince(DayOfWeek()<Ref(DayOfWeek(),-1),L,3);
Lo = ValueWhen(DayOfWeek()<Ref(DayOfWeek(),-1),Lo1,1);
Cl1 = IIf(DayOfWeek()<Ref(DayOfWeek(),-1),Ref(C,-1),0);
Cl = C;
rg = (Hi1 - Lo1);
bp = (Hi1 + Lo1 + Cl)/3;
rh = bp + (rg*0.5);
rl = bp - (rg*0.5);
rh1 = bp + (rg*0.61);
rl1 = bp - (rg*0.61);
rh2 = bp + rg;
rl2 = bp - rg;;
Plot(LastValue(bp),"",colorBlack,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rh),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(rl),"",colorBlack,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, x);
Plot(LastValue(bp),"",colorWhite,styleStaircase|styleNoLabel|styleNoRescale, Null, Null, 5);
Plot(LastValue(rh),"",colorWhite,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, 5);
Plot(LastValue(rl),"",colorWhite,styleStaircase|styleDashed|styleNoLabel|styleNoRescale, Null, Null, 5);
_SECTION_END();1 comments
Leave Comment
Please login here to leave a comment.
Back
That what is visible is exactly the same as was posted by somebody else but much more simpler. Simple (H+L+C)/3
in different TimeFrame set and TimeFrameExpand will result with the same thing as was posted by somebody else here before. Can you do 2-Day SD Channel? I can’t post it as per copyright of Frank Dilernia. There is also 5-Day pattern in the book for Day Trading.