rlohmeyer
Active member
I am using code kindly shared by #Nube that plots Highs and Lows for 1. the previous RTH Session 2. The present RTH Session and 3. the Overnight (Globex) session. Code and image is below. The lines presently extend across the whole chart. I am wondering if it is possible to modify the code so that the High and Low lines only show in the Present Session. Thanks for any help extended.
Code:
# Globex, RTH and prior RTH High and Low
# v0.02 11.12.18 will plot prior RTH during current RTH
# Nube
# inputs
input showOnlyLastPeriod = yes;
# univerals
def na = Double.NaN;
def bn = BarNumber();
def h = high;
def l = low;
# subscript for getting prior value of a BarNumber() defined variable
script prior {
input prior = close;
def priorOf = if prior != prior[1] then prior[1] else priorOf[1];
plot priorBar = priorOf;
}
# variables
def cb = HighestAll(if !IsNaN(h) then bn else na);
def time = GetTime();
def rts = RegularTradingStart(GetYYYYMMDD());
def rte = RegularTradingEnd(GetYYYYMMDD());
def RTH = if time crosses above rts
then bn else RTH[1];
def globex = if time crosses above rte
then bn else globex[1];
def priorRTH = prior(RTH);
def priorGlobex = prior(globex);
def hRTH = HighestAll(RTH);
def hGX = HighestAll(globex);
def hPRTH = HighestAll(priorRTH);
def hPGX = HighestAll(priorGlobex);
def gXhigh = HighestAll(if bn >= hGX && bn < hRTH
then h else if hRTH < hGX && bn >= hGX then h else na);
def gXlow = LowestAll(if bn >= hGX && bn < hRTH
then l else if hRTH < hGX && bn >= hGX then l else na);
def RTHhigh = HighestAll(if bn >= hRTH && bn < hGX
then h else if hGX < hRTH && bn >= hRTH then h else na);
def RTHlow = LowestAll(if bn >= hRTH && bn < hGX
then l else if hGX < hRTH && bn >= hRTH then l else na);
def priorRTHhigh = HighestAll(if bn >= hPRTH
&& bn < if hGX < hRTH then hGX else hPGX then h else na);
def priorRTHlow = LowestAll(if bn >= hPRTH
&& bn < if hGX < hRTH then hGX else hPGX then l else na);
plot
GlobexHigh = gXhigh;
GlobexHigh.SetDefaultColor(Color.LIGHT_GREEN);
plot
GlobexLow = gXlow;
GlobexLow.SetDefaultColor(Color.LIGHT_RED);
plot
HighRTH = RTHhigh;
HighRTH.SetDefaultColor(Color.GREEN);
plot
LowRTH = RTHlow;
LowRTH.SetDefaultColor(Color.RED);
plot
PreviousHighRTH = priorRTHhigh;
PreviousHighRTH.SetDefaultColor(Color.DARK_GREEN);
plot
PreviousLowRTH = priorRTHlow;
PreviousLowRTH.SetDefaultColor(Color.DARK_RED);