能否在Pine Editor中分组指标绘图并添加显示控制复选框?
解决思路与修正代码
你的思路完全可行,但原代码有个关键错误:ta.sma() 和 ta.ema() 每次只能计算单条均线,没法一次性传入多个长度参数。下面是修正后的完整代码,帮你实现分组显示的功能:
//@version=5 indicator("分组显示均线", overlay=true) // 1. 定义所有均线的长度参数(可根据需求修改默认值) len1 = input.int(5, title="Ribbon SMA 1长度") len2 = input.int(10, title="Ribbon SMA 2长度") len3 = input.int(15, title="Ribbon SMA 3长度") len4 = input.int(20, title="Ribbon SMA 4长度") len5 = input.int(25, title="Ribbon SMA 5长度") len6 = input.int(30, title="Ribbon SMA 6长度") len7 = input.int(35, title="Ribbon SMA 7长度") len8 = input.int(40, title="Ribbon SMA 8长度") len9 = input.int(50, title="EMA 1长度") len10 = input.int(100, title="EMA 2长度") len11 = input.int(150, title="EMA 3长度") len12 = input.int(200, title="EMA 4长度") // 2. 定义分组显示的复选框开关 showRibbon = input.bool(true, title="显示SMA Ribbon组") showEmas = input.bool(true, title="显示EMA组") // 3. 分别计算每条SMA和EMA sma1 = ta.sma(ohlc4, len1) sma2 = ta.sma(ohlc4, len2) sma3 = ta.sma(ohlc4, len3) sma4 = ta.sma(ohlc4, len4) sma5 = ta.sma(ohlc4, len5) sma6 = ta.sma(ohlc4, len6) sma7 = ta.sma(ohlc4, len7) sma8 = ta.sma(ohlc4, len8) ema1 = ta.ema(ohlc4, len9) ema2 = ta.ema(ohlc4, len10) ema3 = ta.ema(ohlc4, len11) ema4 = ta.ema(ohlc4, len12) // 4. 根据开关控制显示 if showRibbon plot(sma1, color=color.new(color.blue, 0), title="SMA1") plot(sma2, color=color.new(color.blue, 10), title="SMA2") plot(sma3, color=color.new(color.blue, 20), title="SMA3") plot(sma4, color=color.new(color.blue, 30), title="SMA4") plot(sma5, color=color.new(color.blue, 40), title="SMA5") plot(sma6, color=color.new(color.blue, 50), title="SMA6") plot(sma7, color=color.new(color.blue, 60), title="SMA7") plot(sma8, color=color.new(color.blue, 70), title="SMA8") if showEmas plot(ema1, color=color.new(color.red, 0), title="EMA1") plot(ema2, color=color.new(color.red, 25), title="EMA2") plot(ema3, color=color.new(color.red, 50), title="EMA3") plot(ema4, color=color.new(color.red, 75), title="EMA4")
关键说明:
- 补全了所有均线长度的输入参数,你可以直接在指标设置里修改数值
- 每条均线单独计算,避免了函数传参错误
- 用
if判断配合复选框开关,一键控制对应组均线的显示/隐藏 - 给两组均线设置了不同透明度的同色系颜色,既区分组别又保持视觉统一
内容的提问来源于stack exchange,提问作者CrypticSins
相关产品推荐
相关产品推荐

