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

PineScript主副图指标绘制区别及单指标双窗格实现咨询

Pine Script 常见绘图问题解答

1. 主图类与副图类指标的绘图逻辑区别

二者核心差异仅在指标声明时的全局配置,绘图函数的使用逻辑完全一致:

  • 主图指标(如你提供的MA示例):study 函数中配置了 overlay=true,指标会默认叠加在主图K线层,数值刻度和主图价格刻度自动对齐,适合绘制和价格维度一致的指标。
  • 副图指标(如你提供的RSI示例):overlay 参数默认值为 false,指标会单独开辟窗格展示,使用独立的数值刻度,适合绘制数值范围和价格差异较大的指标。
    这也是你对比两份示例代码没有发现明显差异的原因。

2. 同一Pine Script指标同时在主副图绘制内容的实现

可以实现,Pine Script v4及以上版本支持单脚本跨窗格绘图,通过 plot 函数的 display 参数即可覆盖全局的 overlay 配置:

  • 若全局声明 overlay=true(默认所有绘图输出到主图),给需要放到副图的绘图语句添加 display = display.separate_window 参数,即可让该内容单独在副图窗格展示。
  • 若全局声明 overlay=false(默认所有绘图输出到副图),给需要放到主图的绘图语句添加 display = display.data_window 参数,即可让该内容输出到主图。
  • 配套的 hline、fill 等辅助绘图语句如果需要展示在非默认窗格,也需要同步添加对应的 display 参数。

以下是将MA和RSI合并到同一脚本的示例代码:

//@version=4
study(title="MA+RSI组合指标", shorttitle="MA_RSI", overlay=true)
// 主图MA部分计算与绘图
len_ma = input(9, minval=1, title="MA Length")
src_ma = input(close, title="MA Source")
offset_ma = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500)
ma_out = sma(src_ma, len_ma)
plot(ma_out, color=color.blue, title="MA", offset=offset_ma)

// 副图RSI部分计算与绘图
len_rsi = input(14, minval=1, title="RSI Length")
src_rsi = input(close, "RSI Source")
up = rma(max(change(src_rsi), 0), len_rsi)
down = rma(-min(change(src_rsi), 0), len_rsi)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#7E57C2, display=display.separate_window)
band1 = hline(70, "Upper Band", color=#787B86, display=display.separate_window)
bandm = hline(50, "Middle Band", color=color.new(#787B86, 50), display=display.separate_window)
band0 = hline(30, "Lower Band", color=#787B86, display=display.separate_window)
fill(band1, band0, color=color.rgb(126, 87, 194, 90), title="RSI Background", display=display.separate_window)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:09:03