如果 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)
我想根据特定条件将 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)