How to highlight specific bars on the chart?
For example, count from the current bar, always highlight the 60th bar and the 120th bar automatically, how could I do it? Many thanks in advance!
to change a candle color, use assignpricecolor( )
only 1 study should be loaded that has assignpricecolor( ).
if 2 or more studies have assignpricecolor() code lines, or 1 study has more than 1 assignpricecolor() code line, it won't color the candles correctly.
to find a specific candle, look ahead for the last candle and the missing candle after it, by using offsets.
this finds a candle, x candles before the last candle.
def x1 = ( !isnan(close[-bars_back1]) and isnan(close[-(1+bars_back1)]));
this reads a future candle and is true on candles with price data.
!isnan(close[-bars_back1])
this reads data from the candle after the other candle. when it gets to the candle after the last, there is no price data so close will have an error. isnan() will be true.
isnan(close[-(1+bars_back1)])
( i know confusing. after last candle, think of the spots after last candle as placeholders. they still have a barnumber, but don't have any price data yet)
Code:
# xbar_back
def na = double.nan;
def bn = barnumber();
input bars_back1 = 11;
def x1 = ( !isnan(close[-bars_back1]) and isnan(close[-(1+bars_back1)]));
#addverticalline(x1, "-");
plot z1 = if x1 then low*0.999 else na;
z1.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
z1.SetDefaultColor(Color.cyan);
z1.setlineweight(3);
z1.hidebubble();
input bars_back2 = 22;
def x2 = ( !isnan(close[-bars_back2]) and isnan(close[-(1+bars_back2)]));
#addverticalline(x2, "-");
plot z2 = if x2 then low*0.999 else na;
z2.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
z2.SetDefaultColor(Color.cyan);
z2.setlineweight(3);
z2.hidebubble();
#
assignpricecolor(if x1 or x2 then color.cyan else color.current);
#