input showOnlyToday = no;
input Market_Open_Time = 0930;
input Market_Close_Time = 1600;
def day = GetDay();
def lastDay = GetLastDay();
def isToday = If(day == lastDay, 5, 0);
def shouldPlot = If(showOnlyToday and isToday, 56, If(!showOnlyToday, 5, 0));
def pastOpen = If((SecondsTillTime(Market_Open_Time) > 0), 0, 1);
def pastClose = If((SecondsTillTime(Market_Close_Time) > 0), 0, 1);
def marketOpen = If(pastOpen and !pastClose, 1, 0);
def firstBar = If (day[1] != day, day - 1, 0);
rec regHoursHigh = If(high > regHoursHigh[1] and marketOpen, high, If(marketOpen and !firstBar, regHoursHigh[1], high));
plot Regular_Hours_High = if shouldPlot then regHoursHigh else Double.NaN;
Regular_Hours_High.SetDefaultColor(Color.YELLOW);
rec regHoursLow = If(low < regHoursLow[1] and marketOpen, low, If(marketOpen and !firstBar, regHoursLow[1], low));
plot Regular_Hours_Low = if shouldPlot then regHoursLow else Double.NaN;
Regular_Hours_Low.SetDefaultColor(Color.YELLOW);
def regHoursMid = (regHoursHigh + regHoursLow) / 2;
plot Regular_Hours_Mid = if shouldPlot then regHoursMid else Double.NaN;
Regular_Hours_Mid.SetDefaultColor(Color.YELLOW)
input Market_Open_Time = 0930;
input Market_Close_Time = 1600;
def day = GetDay();
def lastDay = GetLastDay();
def isToday = If(day == lastDay, 5, 0);
def shouldPlot = If(showOnlyToday and isToday, 56, If(!showOnlyToday, 5, 0));
def pastOpen = If((SecondsTillTime(Market_Open_Time) > 0), 0, 1);
def pastClose = If((SecondsTillTime(Market_Close_Time) > 0), 0, 1);
def marketOpen = If(pastOpen and !pastClose, 1, 0);
def firstBar = If (day[1] != day, day - 1, 0);
rec regHoursHigh = If(high > regHoursHigh[1] and marketOpen, high, If(marketOpen and !firstBar, regHoursHigh[1], high));
plot Regular_Hours_High = if shouldPlot then regHoursHigh else Double.NaN;
Regular_Hours_High.SetDefaultColor(Color.YELLOW);
rec regHoursLow = If(low < regHoursLow[1] and marketOpen, low, If(marketOpen and !firstBar, regHoursLow[1], low));
plot Regular_Hours_Low = if shouldPlot then regHoursLow else Double.NaN;
Regular_Hours_Low.SetDefaultColor(Color.YELLOW);
def regHoursMid = (regHoursHigh + regHoursLow) / 2;
plot Regular_Hours_Mid = if shouldPlot then regHoursMid else Double.NaN;
Regular_Hours_Mid.SetDefaultColor(Color.YELLOW)
Last edited by a moderator: