Pine:如何根据条件设置背景颜色
Pine: How to set background color based on a condition
如果最后收盘价高于收盘价 50 根柱线,我试图将整个背景着色(例如绿色),如果低于收盘价,则为红色。
我尝试了不同的方法,我可以更改颜色,但最终不会为整个背景着色,而只会为某些区域着色。
我的脚本:
bgcolor(close[50] >= open[1] ? color.red : color.green, transp=70)
split colors in background
在这种情况下,整个背景应该是红色的,因为最后的收盘价低于收盘价 50 根柱线(用黄色标签表示)。
关于我需要更改的内容有什么想法吗?
这将根据您的情况为背景着色。它使用一条非常宽的线来完成,并且由于指标占据了所有背景,所以一些图表功能(如测量工具)不能与 Shift-Click 一起使用,但如果你 select 它会起作用显式工具。
如果你不想让背景覆盖整个图表,你可以调整背景的位置和宽度。
背景很亮。如果你想改变它的亮度,你需要在两个 color.new()
调用中使用透明度,因为它不能通过输入来控制:
//@version=4
study("", "", true)
offsetCalc = input(50, "Close lookback", minval = 2)
offstBg = input(100, "Background: Horizontal Offset to its Center", minval = 0, step = 5)
lineWidth = input(10000, "Background: Width", minval = 0, step = 100)
condUp = barstate.islast and close[1] > close[offsetCalc]
condDn = barstate.islast and close[1] < close[offsetCalc]
c_lineColor = condUp ? color.new(color.green, 97) : condDn ? color.new(color.maroon, 97) : na
if barstate.islast
var line bg = na
line.delete(bg)
bg := line.new(bar_index[offstBg], low - tr, bar_index[offstBg], high + tr, color = c_lineColor, extend = extend.both, width = lineWidth)
如果最后收盘价高于收盘价 50 根柱线,我试图将整个背景着色(例如绿色),如果低于收盘价,则为红色。
我尝试了不同的方法,我可以更改颜色,但最终不会为整个背景着色,而只会为某些区域着色。
我的脚本:
bgcolor(close[50] >= open[1] ? color.red : color.green, transp=70)
split colors in background
在这种情况下,整个背景应该是红色的,因为最后的收盘价低于收盘价 50 根柱线(用黄色标签表示)。
关于我需要更改的内容有什么想法吗?
这将根据您的情况为背景着色。它使用一条非常宽的线来完成,并且由于指标占据了所有背景,所以一些图表功能(如测量工具)不能与 Shift-Click 一起使用,但如果你 select 它会起作用显式工具。
如果你不想让背景覆盖整个图表,你可以调整背景的位置和宽度。
背景很亮。如果你想改变它的亮度,你需要在两个 color.new()
调用中使用透明度,因为它不能通过输入来控制:
//@version=4
study("", "", true)
offsetCalc = input(50, "Close lookback", minval = 2)
offstBg = input(100, "Background: Horizontal Offset to its Center", minval = 0, step = 5)
lineWidth = input(10000, "Background: Width", minval = 0, step = 100)
condUp = barstate.islast and close[1] > close[offsetCalc]
condDn = barstate.islast and close[1] < close[offsetCalc]
c_lineColor = condUp ? color.new(color.green, 97) : condDn ? color.new(color.maroon, 97) : na
if barstate.islast
var line bg = na
line.delete(bg)
bg := line.new(bar_index[offstBg], low - tr, bar_index[offstBg], high + tr, color = c_lineColor, extend = extend.both, width = lineWidth)