请求修改带布林带的RSI指标代码:实现RSI线分色显示
解决方案
直接替换原代码中RSI的绘图语句,通过条件判断即可实现RSI线按区间变色的需求。以下是修改后的完整代码:
//@version=5 indicator ("Bollinger bands on RSI", overlay = false) // INPUT CONTROLS LENGTHSMA = input.int(title = "SMA", defval = 20, minval = 1, maxval = 30, step= 1) MULTI = input.int(title = "MULTI", defval = 2, minval = 1, maxval = 3, step = 1) LENGTHRSI = input.int(title= "LRSI", defval = 14, minval = 1, maxval = 30, step = 1) // TRADING INDICATORS // Bollinger band on RSI indicator RSI = ta.rsi(close, LENGTHRSI) STD = ta.stdev(RSI, LENGTHSMA) SMA= ta.sma (RSI, LENGTHSMA) upperband = SMA + (STD * MULTI) lowerband = SMA - (STD * MULTI) plot (upperband) plot (lowerband) plot (SMA) // 修改后的RSI绘图逻辑,实现区间变色 plot(RSI, color = RSI > 60 ? color.new(color.green, 0) : RSI < 40 ? color.new(color.red, 0) : color.new(color.yellow, 0), linewidth = 1) hline (80) hline (60) hline (40) hline (20)
关键修改说明
- 利用Pine Script的三元运算符(
? :)实现多条件判断:- 当
RSI > 60时,线条显示绿色 - 当
RSI < 40时,线条显示红色 - 处于40-60区间时,线条显示黄色
- 当
- 原代码的布林带、RSI计算等功能完全保留,仅调整了RSI线的颜色规则
内容的提问来源于stack exchange,提问作者idkmyname
相关产品推荐
相关产品推荐

