保持敬畏之心
交易是一场持久战

Pine Script(88):熟悉 input.color,打造高颜值的可视化策略

#Pine Script入门教学

我们写指标,不仅要算得准,还得看得清。

input.color() 函数就是Pine Script提供的、用来在输入面板上创建颜色选择器的工具

你可能会问:我直接在脚本设置的样式标签页改颜色不就行了?

样式标签页只能修改 plot() 这类基础绘图的颜色。

但如果你想让用户自定义条件背景色 (bgcolor)、动态标签 (label.new) 的颜色,或者任何通过代码逻辑动态生成的颜色,样式标签页是无能为力的。

这时input.color() 就是你唯一的、也是最专业的解决方案 。它能让你做到:

  • 让用户自由设置所有绘图、背景、标签的颜色
  • 在代码中对用户选择的颜色进行再加工,比如增加透明度
  • 通过 if 语句或条件操作符,根据不同的市场状态,调用不同的颜色输入变量

input.color() 的参数和其他输入函数类似,我帮你按实战重要性分了组:

1. 核心参数 (必用)
  • defval(必填) 默认颜色 这里非常灵活。你不仅能用标准颜色(如 color.yellow),还能用十六进制(#AAF0D1),RGB 值(color.rgb(210, 94, 35)),甚至是带透明度的颜色(color.new(color.orange, 20)
  • title(强烈建议) 输入项的名称,即显示在设置面板上的标签,如 "均线颜色"
2. 布局与提示 (提升专业度)
  • tooltip:鼠标悬停在“i”图标上时,显示的详细帮助文本
  • group:分组标题,用于组织多个相关的输入项
  • inline:内联ID,用于将多个输入项显示在同一行

重要提醒: 所有这些参数(如 defval, title 等)的值,都必须是常量(写死的值),不能是动态的变量

实战代码示例

基础示例:配置 plot 颜色

我们先来看一个最基础的用法:让用户自定义一条均线的颜色。

plotColour = input.color(color.teal, title="绘图颜色")

plot(ta.wma(close, 20), color=plotColour, title="WMA")

现在用户就可以在设置面板里,通过绘图颜色这个选项,把这条WMA均线改成他们想要的任何颜色。

title= 这样的关键字,我建议你始终明确写上。这不仅能让代码更清晰,也能避免在参数顺序上出错。

进阶示例:创建动态背景色(视觉交易系统)

这才是 input.color() 真正大放异彩的地方。我们将创建三个颜色输入,分别代表“看涨”、“看跌”和“中性”,然后根据均线和价格的关系,动态地切换图表背景。

//@version=6
indicator(title="颜色输入示例", overlay=true)

// --- 1. 创建颜色输入 ---
bullColor = input.color(color.new(color.green, 85), title="看涨背景")
sideColor = input.color(color.new(color.blue, 90), title="中性背景")
bearColor = input.color(color.new(color.red, 85), title="看跌背景")

// --- 2. 计算 ---
fastAverage = ta.sma(close, 9)
slowAverage = ta.sma(close, 21)
plot(fastAverage, color=color.orange, title="快线均线")
plot(slowAverage, color=color.blue, title="慢线均线")

// --- 3. 根据条件,选择颜色 ---
backgroundColour = if close > slowAverage and fastAverage > slowAverage
    bullColor 
else if close < slowAverage and fastAverage < slowAverage
    bearColor 
else
    sideColor 

// --- 4. 应用颜色 ---
bgcolor(backgroundColour, title="趋势背景")

在这个脚本中,bgcolor() 函数的颜色是由 backgroundColour 变量决定的,而这个变量的值又来自我们的三个 input.color() 输入。

这就是 input.color() 的专业用法,你为用户提供了可配置的视觉元素,而不是把颜色写死在代码里。这不仅让你的脚本更灵活,也让它看起来更“高级”。

总结

input.color() 函数是为你脚本的输入面板添加颜色选择器的工具,它不仅是方便,更是必需。因为它是唯一能让用户自定义动态颜色(如 bgcolorlabel.new)的途径 它的 defval(默认值)非常灵活,支持标准色、十六进制、RGB 乃至透明色 color.new() 。善用 grouptooltip,能让你的颜色设置更清晰、更易用。

赞(0)
未经允许不得转载:图道交易 » Pine Script(88):熟悉 input.color,打造高颜值的可视化策略
分享到

评论 抢沙发

登录

找回密码

注册