如果 tradingview.com 上的第一根蜡烛违反了特定价格,我如何使用 pine script 重新着色?

How can I recolor the very first candle on tradingview.com using pine script if it breaches a particular price?

我想根据特定条件将 15 分钟图表中的第一根蜡烛着色为不同的颜色。这可能吗?

我正在使用以下代码将第一根蜡烛着色为黄色或紫色(如果它满足某些条件)但它似乎也为所有后续蜡烛着色。

study(title="OR", shorttitle="OpeningRange", overlay=true)
up15on = input(true, title="15 Minute Opening Range High")
down15on = input(true, title="15 Minute Opening Range Low")
is_newbar(res) => change(time(res)) != 0 
adopt(r, s) => security(syminfo.tickerid, r, s) 
high_range = valuewhen(is_newbar('D'),high,0)
low_range = valuewhen(is_newbar('D'),low,0)
candle_color = close>adopt('15', high_range) ? color.purple :
 close<adopt('15', low_range) ? color.yellow :
 na
barcolor( candle_color )

我假设第一根蜡烛实际上是指最后一根而不是 bar_index = 0

所在的蜡烛

在这种情况下,您可以在 barcolor 中使用 show_last,如下所示:

barcolor(candle_color,show_last=1)

这只会为图表上的最后一根蜡烛着色。如果您实际上是指第一根蜡烛,那么 bar_index=0 然后使用:

barcolor(barstate.isfirst ? candle_color : na)