You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pine Script的Stochastic RSI指标中设置高低区间两种不同背景色

实现方案

你只需要调整原有代码中的背景填充逻辑即可,具体修改思路和完整代码如下:

核心改动点

  • 新增0和100两条隐藏的水平参考线,作为填充的上下边界(Stochastic RSI的取值范围固定为0-100)
  • 删除原本覆盖20-80全区间的填充配置
  • 分别为80线以上区间、20线以下区间设置独立的背景色,中间20-80区间可按需设置为原有浅蓝填充或完全透明

完整修改后代码

study(title="Stochastic RSI 50", shorttitle="Stoch RSI 50", format=format.price, precision=2, resolution="")
smoothK = input(3, "K", minval=1)
smoothD = input(3, "D", minval=1)
lengthRSI = input(14, "RSI Length", minval=1)
lengthStoch = input(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot(k, "K", color=#2962FF)
plot(d, "D", color=#FF6D00)
h0 = hline(80, "Upper Band", color=#787B86)
h1 = hline(20, "Lower Band", color=#787B86)
hm = hline(50, "50 band", color=#787B86)

// 新增上下边界参考线,设置为透明不显示
h_top = hline(100, "100边界", color=color.new(color.gray, 100))
h_bottom = hline(0, "0边界", color=color.new(color.gray, 100))

// 80线以上填充红色系背景(超买区),透明度可按需调整最后一位参数
fill(h0, h_top, color=color.rgb(255, 82, 82, 90), title="超买区背景")
// 20线以下填充绿色系背景(超卖区)
fill(h1, h_bottom, color=color.rgb(67, 160, 71, 90), title="超卖区背景")
// 中间20-80区间保留原有浅蓝背景,不需要的话可以注释掉这行
fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="中性区背景")

自定义调整说明

如果需要修改背景色,直接调整color.rgb()里的数值即可,最后一位是透明度参数,取值范围0-100,数值越大越透明。
如果你需要的是只有当K/D值高于80/低于20时才填充对应背景,可以在fill函数中加入title参数后的condition条件判断即可。

内容的提问来源于stack exchange,提问作者Wags

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:54:02