Code:
#orb_colors_03
#csricksdds 2/20
#I like your ORB indicator with the labels that show when above/below...so that the labels don't show only when above/below can you add one showing Yellow "Trading within ORB" when it's trading within?
def na = Double.NaN;
# pick an agg time
input orb_time = AggregationPeriod.fifteen_min;
def orb_min = orb_time/60000;
def per = orb_min;
input show_ORB_label = yes;
input show_arrows = yes;
# open/close times (ET)
input start = 0930;
input end = 1600;
def daytime = if secondsfromTime(start) >= 0 and secondstillTime(end) > 0 then 1 else 0;
def getgg = getaggregationPeriod();
def getaggmin = round(getgg/60,0);
addlabel(0,getaggmin);
# test if agg time is > than chart time
def aggok = if getaggmin <= orb_min then 1 else 0;
def durationsec = per * 60;
def secondspassed = secondsfromTime(start);
# simulated firstbar , based on orb time
def firstbar = if secondspassed >= 0 and secondspassed < durationsec then 1 else 0;
#addchartbubble(yes,low,per + "__" + firstbar + "__" + agg);
def afterfirst = if ( daytime and !firstbar ) then 1 else 0;
# is this the first bar after open ?
def openbar = if secondspassed >= 0 and secondspassed <= getgg then 1 else 0;
def ehi = high(period = orb_time);
def elo = low(period = orb_time);
# looks at firstbar , which is orbtime , NOT bar[1]
def perhigh = if !daytime then na else if firstbar then ehi else perhigh[1];
def perlow = if !daytime then na else if firstbar then elo else perlow[1];
# .....................................................
addlabel(1, " ", color.black);
addlabel(show_ORB_label, per + " min ORB" , color.light_gray);
addlabel(1, " ", color.black);
addlabel((close > perhigh),"price above upper line", color.green);
addlabel((close < perlow),"price below lower line", color.red);
addlabel((close <= perhigh and close >= perlow),"price within ORB limits", color.yellow);
addlabel(1, " ", color.black);
# .....................................................
# plot dots for first bar timeframe
plot hidots = if firstbar then perhigh else na;
plot lodots = if firstbar then perlow else na;
hidots.setpaintingStrategy(paintingStrategy.points);
lodots.setpaintingStrategy(paintingStrategy.pointS);
hidots.setDefaultColor(color.yellow);
lodots.setDefaultColor(color.yellow);
# plot line after first bar
plot hiline = if !firstbar then perhigh else na;
plot loline = if !firstbar then perlow else na;
hiline.setpaintingStrategy(paintingStrategy.line);
loline.setpaintingStrategy(paintingStrategy.line);
hiline.setDefaultColor(color.yellow);
loline.setDefaultColor(color.yellow);
#DefineGlobalColor("orb",color.magenta);
#DefineGlobalColor("orb_after",color.gray);
DefineGlobalColor("orb",color.red);
DefineGlobalColor("orb_after",color.green);
input show_orb_cloud = yes;
def dottop = if show_orb_cloud then hidots else na;
def linetop = if show_orb_cloud then hiline else na;
addcloud(dottop, lodots, GlobalColor("orb"));
addcloud(linetop, loline, GlobalColor("orb_after"));
# input show_arrows = yes;
def afterabove = if (show_arrows and (close crosses above hiline)) then 1 else 0;
def afterbelow = if (show_arrows and (close crosses below loline)) then 1 else 0;
# plot arrows on crossover points
def vfac5 = .0014;
plot upline = if afterabove then (hiline * (1 - vfac5)) else na;
plot dwnline = if afterbelow then (loline * (1 + vfac5)) else na;
upline.setPaintingStrategy(paintingStrategy.ARROW_UP);
dwnline.setPaintingStrategy(paintingStrategy.ARROW_down);
upline.setDefaultColor(color.cyan);
dwnline.setDefaultColor(color.cyan);
upline.setlineWeight(4);
dwnline.setlineWeight(4);
upline.hideBubble();
dwnline.hideBubble();
#
With much thanks I have made the following changes to suit myself for day trading purposes (I use 5min Heinkin Ashi candles and don't like to cover them up).
These are the changes I made:
#orb_colors_03
#csricksdds 2/20
#I like your ORB indicator with the labels that show when above/below...so that the labels don't show only when above/below can you add one showing Yellow "Trading within ORB" when it's trading within?
#Thanks to halcyonguy I have made a few changes to suit myself.
def na = Double.NaN;
# pick an agg time
input orb_time = AggregationPeriod.fifteen_min;
def orb_min = orb_time/60000;
def per = orb_min;
input show_ORB_label = yes;
input show_arrows = yes;
# open/close times (ET)
input start = 0930;
input end = 1600;
def daytime = if secondsfromTime(start) >= 0 and secondstillTime(end) > 0 then 1 else 0;
def getgg = getaggregationPeriod();
def getaggmin = round(getgg/60,0);
addlabel(0,getaggmin);
# test if agg time is > than chart time
def aggok = if getaggmin <= orb_min then 1 else 0;
def durationsec = per * 60;
def secondspassed = secondsfromTime(start);
# simulated firstbar , based on orb time
def firstbar = if secondspassed >= 0 and secondspassed < durationsec then 1 else 0;
#addchartbubble(yes,low,per + "
" + firstbar + "" + agg);
def afterfirst = if ( daytime and !firstbar ) then 1 else 0;
# is this the first bar after open ?
def openbar = if secondspassed >= 0 and secondspassed <= getgg then 1 else 0;
def ehi = high(period = orb_time);
def elo = low(period = orb_time);
# looks at firstbar , which is orbtime , NOT bar[1]
def perhigh = if !daytime then na else if firstbar then ehi else perhigh[1];
def perlow = if !daytime then na else if firstbar then elo else perlow[1];
# .....................................................
addlabel(1, " ", color.Yellow);
addlabel((close > perhigh),"Price Above ORB", color.green);
addlabel((close < perlow),"Price Below ORB", color.red);
addlabel((close <= perhigh and close >= perlow),"Price Inside ORB", color.yellow);
addlabel(1, " ", color.Yellow);
# .....................................................
# plot dots for first bar timeframe
plot hidots = if firstbar then perhigh else na;
plot lodots = if firstbar then perlow else na;
hidots.setpaintingStrategy(paintingStrategy.Dashes);
lodots.setpaintingStrategy(paintingStrategy.Dashes);
hidots.setDefaultColor(color.yellow);
lodots.setDefaultColor(color.yellow);
# plot line after first bar
plot hiline = if !firstbar then perhigh else na;
plot loline = if !firstbar then perlow else na;
hiline.setpaintingStrategy(paintingStrategy.LINE);
loline.setpaintingStrategy(paintingStrategy.LINE);
hiline.setDefaultColor(color.yellow);
loline.setDefaultColor(color.yellow);
#DefineGlobalColor("orb",color.magenta);
#DefineGlobalColor("orb_after",color.gray);
DefineGlobalColor("orb",color.red);
DefineGlobalColor("orb_after",color.green);
#End