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

PineScript叠加失效:买卖信号未显示在主图问题求助

Pine Script v5 买卖信号显示在指标窗口而非主图的解决方法

问题描述

我用Pine Script v5编写了一款带绘图区域的指标,已经设置overlay=true,但买卖信号始终显示在指标窗口内,切换overlay=true参数也没有效果。

原代码

//@version=5
indicator(title = "LSMA slope", shorttitle="LSMAS", overlay=true)

length = input(title="Length", defval=24)
lsma = ta.linreg(close, length, 0)
one_back_lsma = ta.linreg(close[1], length, 0)
two_back_lsma = ta.linreg(close[2], length, 0)

signal = lsma - one_back_lsma
previous_signal = one_back_lsma - two_back_lsma

p1 = plot(signal, color=signal>=0?color.green:color.red, style=plot.style_area)

longentry = previous_signal < 0 and signal >= 0 or previous_signal <= 0 and signal > 0
shortentry = previous_signal > 0 and signal <= 0 or previous_signal >= 0 and signal < 0

plotshape(longentry, style=shape.triangleup, color=#00FF00,text='BUY', textcolor=#FFFFFF, editable=false, location=location.belowbar, size=size.small)
plotshape(shortentry, style=shape.triangledown, color=#FF0000, text='SELL', textcolor=#FFFFFF, editable=false, location=location.abovebar, size=size.small)

问题原因

你先绘制的signal是LSMA的斜率值,数值范围和主图价格完全不在一个量级。即便设置了overlay=true,TradingView会自动将这个非价格序列绘制到副图指标窗口,而后续的plotshape默认会关联最后一次plot的显示窗口,导致买卖信号也跟着跑到了指标窗口。

解决方法

给plotshape添加display=display.price_window参数,强制让信号显示在主图价格窗口;同时给plot(signal)添加display=display.data_window,明确让斜率区域图留在副图,两者互不干扰。

修改后的代码

//@version=5
indicator(title = "LSMA slope", shorttitle="LSMAS", overlay=true)

length = input(title="Length", defval=24)
lsma = ta.linreg(close, length, 0)
one_back_lsma = ta.linreg(close[1], length, 0)
two_back_lsma = ta.linreg(close[2], length, 0)

signal = lsma - one_back_lsma
previous_signal = one_back_lsma - two_back_lsma

// 指定斜率区域图显示在副图指标窗口
p1 = plot(signal, color=signal>=0?color.green:color.red, style=plot.style_area, display=display.data_window)

longentry = previous_signal < 0 and signal >= 0 or previous_signal <= 0 and signal > 0
shortentry = previous_signal > 0 and signal <= 0 or previous_signal >= 0 and signal < 0

// 强制买卖信号显示在主图价格窗口
plotshape(longentry, style=shape.triangleup, color=#00FF00, text='BUY', textcolor=#FFFFFF, 
          editable=false, location=location.belowbar, size=size.small, display=display.price_window)
plotshape(shortentry, style=shape.triangledown, color=#FF0000, text='SELL', textcolor=#FFFFFF, 
          editable=false, location=location.abovebar, size=size.small, display=display.price_window)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:55:29