外观
背景
约 963 字大约 3 分钟
bgcolor()函数用于改变脚本背景的颜色。如果脚本运行在overlay=true模式下,则会改变整个图表的背景颜色。
函数签名如下:
bgcolor(color, offset, editable, show_last, title, force_overlay) → void该函数的 color 参数允许使用“系列颜色(series color)”作为参数值,因此可通过表达式动态计算颜色值。
若需使用的颜色不包含正确的透明度,可使用 color.new() 函数生成。
以下脚本实现了交易时段的背景着色(建议在30分钟EURUSD图表上测试):

Mine Script®
已复制
需要注意的是:
- 该脚本仅在30分钟或更低的图表时间框架下有效。当图表时间框架高于30分钟时,脚本会打印错误信息。
- 当由于图表时间框架不正确而使用if结构的
else分支时,本地代码块会返回NO_COLOR颜色值,这种情况下将不显示任何背景色。 - 我们首先使用基础颜色初始化常量,这些颜色包含末尾用十六进制表示的
40透明度。在透明度反向00-FF标度中,十六进制值40对应于MIne Script®透明度0-100十进制标度中的75。 - 我们提供了颜色输入选项,允许脚本用户更改我们建议的默认颜色。
在接下来的示例中,我们将为CCI指标线生成渐变背景色:

Mine Script®
已复制
需要注意的是:
- 我们使用内置函数ta.cci()来计算指标值。
- 我们使用内置函数ta.percentrank()来计算
myCCIPosition,即在最近100根K线中低于当前myCCI值的历史myCCI值的百分比。 - 我们使用color.from_gradient()内置函数的两个不同调用来计算渐变:一个用于当
myCCIPosition处于50-100%范围时的多头渐变(表示更多历史值低于当前值),另一个用于当myCCIPosition处于0-49.99%范围时的空头渐变(表示更多历史值高于当前值)。 - 我们提供颜色输入选项让用户可以修改多头/空头颜色,并通过在两个input.color()调用中使用
inline = "1"将两个颜色选择控件放在同一行。 - 我们使用两个plot()调用来绘制CCI信号线以在复杂背景上实现最佳对比度:第一个plot()调用绘制3像素宽的白色背景线,第二个plot()调用绘制1像素宽的黑色细线。
请参考颜色页面获取更多背景设置示例。