如何通过单份Pine Script在TradingView实现多指标分窗格绘制
单脚本多震荡指标分独立窗格实现方案
Pine Script v5原生支持单脚本内将不同指标输出到多个独立副图窗格,不需要拆分多个独立脚本,核心依赖绘制函数的pane参数实现。
核心规则
pane为整数类型参数,所有带绘制能力的内置函数(plot/hline/plotshape/fill等)都支持该参数- 参数取值
0代表绑定主图,1对应第一个独立副图,2对应第二个独立副图,后续窗格按整数顺序顺延即可 - 每个窗格支持独立设置缩放规则、参考线、配色,和其他窗格完全互不干扰
可直接运行的示例代码
以下代码实现了RSI、CCI、KDJ三个常用震荡指标分别绘制在3个独立副图,所有指标参数支持在设置面板自定义:
//@version=5 indicator("多震荡指标分窗格演示", shorttitle="多震荡指标", overlay=false, precision=2) // 指标参数自定义 rsi_len = input.int(14, title="RSI计算周期", minval=1) cci_len = input.int(20, title="CCI计算周期", minval=1) kdj_len = input.int(9, title="KDJ随机指标周期", minval=1) kdj_smooth = input.int(3, title="KDJ平滑周期", minval=1) // 指标值计算 rsi_val = ta.rsi(close, rsi_len) cci_val = ta.cci(high, low, close, cci_len) stoch_k = ta.stoch(close, high, low, kdj_len) kdj_k = ta.sma(stoch_k, kdj_smooth) kdj_d = ta.sma(kdj_k, kdj_smooth) // 第一个独立副图(pane=1):RSI plot(rsi_val, title="RSI曲线", color=color.blue, linewidth=2, pane=1) hline(70, title="RSI超买线", color=color.red, linestyle=hline.style_dashed, pane=1) hline(30, title="RSI超卖线", color=color.green, linestyle=hline.style_dashed, pane=1) // 第二个独立副图(pane=2):CCI plot(cci_val, title="CCI曲线", color=color.purple, linewidth=2, pane=2) hline(100, title="CCI超买线", color=color.red, linestyle=hline.style_dashed, pane=2) hline(-100, title="CCI超卖线", color=color.green, linestyle=hline.style_dashed, pane=2) // 第三个独立副图(pane=3):KDJ plot(kdj_k, title="KDJ K值", color=color.orange, linewidth=2, pane=3) plot(kdj_d, title="KDJ D值", color=color.teal, linewidth=2, pane=3) hline(80, title="KDJ超买线", color=color.red, linestyle=hline.style_dashed, pane=3) hline(20, title="KDJ超卖线", color=color.green, linestyle=hline.style_dashed, pane=3)
使用注意事项
所有需要显示在对应副图的元素,都必须显式指定匹配的
pane参数,未指定时元素会默认绘制在pane=0也就是主图区域。如果需要新增更多震荡指标,只需要计算对应指标值后,将pane参数设置为未使用的整数值即可自动生成新的独立窗格。
内容的提问来源于stack exchange,提问作者Krishnendu Bhattacharyya
相关产品推荐
相关产品推荐

