Pine Script已弃用transp参数 求lines?0:100写法改写方案
Pine Script transp参数弃用后
transp = lines? 0 : 100的正确改写方法 错误原因
- Pine Script v5已经完全移除了所有绘图函数的单独
transp参数,透明度必须直接整合到颜色值中 - 改写后出现黑白的核心原因是没有将原来的颜色输入变量与动态透明度逻辑绑定,大概率是硬编码了颜色值,或者没有把自定义颜色参数传入
color.new()方法
正确改写示例
完整可运行的改写代码如下:
//@version=5 indicator("自定义线条指标", overlay=true) // 输入参数定义(保留原有的颜色调节、开关、透明度滑块功能) line_color_input = input.color(color.new(color.green, 0), title="线条颜色") enable_lines = input.bool(true, title="显示彩色线条") transp_value = input.int(0, minval=0, maxval=100, title="线条透明度") // 替换原有的 `transp = lines? 0 : 100` 逻辑 final_line_color = enable_lines? color.new(line_color_input, transp_value) : color.new(line_color_input, 100) // 绘图时直接使用整合了透明度的颜色变量,无需额外加transp参数 plot(ta.sma(close, 20), color=final_line_color, linewidth=2)
效果对比
你提到的新旧效果对比如下:
- 旧效果1:

- 旧效果2:

- 错误改写后的黑白效果:

内容的提问来源于stack exchange,提问作者dr_crypto
相关产品推荐
相关产品推荐

