#hint:<b>Plots the high, low and close of inputted days ago</b>
The plots persist across the entire chart.
Bubbles identify the plots.
Works for all aggregations thru 'Day'.
declare upper;
input LastBubble = No;#hint LastBubble: No omits the last bubble. May affect reading of data.
Input DaysAgo = 1;#hint DaysAgo: Excludes today
def AdjDaysAgo = DaysAgo + 1;#Adjusted to match a true LastDate which includes today
def day = GetDay();
def lastDay = GetLastDay();
def year = GetYear();
def lastYear = GetLastYear();
def yyyymmdd = GetYYYYMMDD();
def lastDate = HighestAll( if day == lastDay and year == lastYear
then yyyymmdd else Double.NaN );
def currentDate = if yyyymmdd < lastDate then yyyymmdd else lastDate;
def previousDay = if CountTradingDays( currentDate, lastDate ) == AdjDaysAgo then
yes else no;
plot PreviousHigh = HighestAll( if previousDay then high( period = "DAY" )
else Double.NaN );
plot PreviousLow = HighestAll( if previousDay then low( period = "DAY" )
else Double.NaN );
Plot PreviousClose = HighestAll( if previousDay then close( period = "DAY" ) else double.NaN);
#================ Look & Feel ==============
PreviousHigh.SetDefaultColor( Color.green );
PreviousHigh.SetLineWeight( 2 );
PreviousHigh.HideBubble();
PreviousLow.SetDefaultColor( Color.red);
PreviousLow.SetLineWeight( 2 );
PreviousLow.HideBubble();
PreviousClose.SetDefaultColor( Color.Yellow );
PreviousClose.SetLineWeight( 2 );
PreviousClose.HideBubble();
#=========== Front ID Bubbles ===================
Def barnum = barnumber();
def FirstBar = if barNum == 1 then 1 else 0;
addchartbubble(FirstBar, PreviousHigh, ("High of " + DaysAgo + " day(s) ago"), color.white);
addchartbubble(FirstBar, PreviousLow, ("Low of " + DaysAgo + " day(s) ago"), color.white);
addchartbubble(FirstBar, PreviousClose, ("Close of " + DaysAgo + " day(s) ago"), color.white);
#========= Last ID bubbles ==========
Input Offset = -10;
def LastBar = !IsNaN(open) and IsNaN(open [-1] ) ;
Def BubbleLocation = LastBar[Offset];
addchartbubble(BubbleLocation && LastBubble, PreviousHigh, ("High of " + DaysAgo + " day(s) ago"), color.white);
addchartbubble(BubbleLocation && LastBubble,PreviousLow, ("Low of " + DaysAgo + " day(s) ago"), color.white);
addchartbubble(BubbleLocation && LastBubble, PreviousClose, ("Close of " + DaysAgo + " day(s) ago"), color.white);
EOC