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

TradingView Pine Script:仅在当前K线绘制收盘价上方的线(解决重复画线)

解决TradingView Pine Script中仅显示当前K线收盘价上方线条的问题

你的核心问题是每次新K线生成时都会创建新线条,旧线条未被清理导致堆积。要实现仅保留当前K线收盘价上方的线条,需要通过持久化变量存储线条对象,并在每次绘制新线条前删除旧线条。

修改后的完整代码

//@version=5
indicator("Close+Constant", overlay=true)
spread = 0.005 // 根据你的经纪商调整差值

// 声明持久化线条变量,避免每次bar重置
var line myLine = na

if barstate.islast
    // 删除已存在的旧线条
    if not na(myLine)
        line.delete(myLine)
    // 创建新线条并赋值给变量
    myLine := line.new(bar_index[10], close + spread, bar_index, close + spread, width = 2, color = color.blue, extend = extend.both)

关键逻辑说明

  • var line myLine = na:使用var关键字声明线条变量,确保它在脚本运行期间保持持久化,不会随每根K线重新初始化。
  • if not na(myLine) line.delete(myLine):在创建新线条前,检查是否存在旧线条,若存在则删除,避免线条堆积。
  • myLine := line.new(...):将新创建的线条对象赋值给持久化变量,方便后续更新时引用删除。

这样修改后,图表上只会显示针对当前最后一根K线绘制的线条,不会再出现旧线条堆积的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:35:03