Pine Script使用特定颜色函数导致样式设置颜色选项消失问题咨询
Pine Script中fill()导致「设置>样式」颜色选项消失的原因
这是正常行为,并非Bug。
核心逻辑
当你在代码里给fill()显式指定颜色时——不管是用chart.bg_color、通过input.color()获取的用户输入色,还是用color.rgb()派生的新颜色——Pine Script会判定这个填充颜色的控制权已交给代码逻辑,因此自动隐藏「设置>样式」里对应的颜色配置项。只有当你不给fill()指定颜色、使用默认设置时,样式面板的颜色选项才会保留。
示例代码验证
你提到的4种填充方案,其中Fill1-3会触发问题,Fill4可正常显示颜色选项,代码示例如下:
//@version=5 indicator("Fill Color Test", overlay=true) // 自定义输入颜色 inputColor = input.color(color.new(color.blue, 0), "Base Color") derivedColor = color.rgb(color.red(inputColor), color.green(inputColor), color.blue(inputColor), 50) // Fill1: 使用chart.bg_color → 样式颜色选项消失 plot1 = plot(ta.sma(close, 50), color=color.red) plot2 = plot(ta.sma(close, 200), color=color.green) fill(plot1, plot2, color=chart.bg_color) // Fill2: 使用派生颜色 → 样式颜色选项消失 // plot1 = plot(ta.sma(close, 50), color=color.red) // plot2 = plot(ta.sma(close, 200), color=color.green) // fill(plot1, plot2, color=derivedColor) // Fill3: 使用input.color() → 样式颜色选项消失 // plot1 = plot(ta.sma(close, 50), color=color.red) // plot2 = plot(ta.sma(close, 200), color=color.green) // fill(plot1, plot2, color=inputColor) // Fill4: 不指定颜色 → 样式颜色选项正常显示 // plot1 = plot(ta.sma(close, 50), color=color.red) // plot2 = plot(ta.sma(close, 200), color=color.green) // fill(plot1, plot2)
补充说明
Pine Script的样式面板仅提供未被代码显式控制的属性配置。如果代码中已经明确指定了某个属性的取值,面板就不会再显示对应的选项,避免代码逻辑与面板设置出现冲突。
内容的提问来源于stack exchange,提问作者Phil5590
相关产品推荐
相关产品推荐

