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

Pine Script矩形右侧修改失效求助:如何实现定时更新?

Pine Script v5矩形更新失效问题解决

问题原因

原代码中box box = na会在每一根K线重新计算时将变量重置为na,只有00:00的K线会给box赋值,后续K线(包括01:00的K线)中box的值都是na,调用box.set_right自然无法生效。

修复代码

//@version=5
indicator("rectangle", overlay=false)

// 用var声明,保留变量值不随K线重置
var box box = na
var int startindex = 0

startindex := (hour == 0 and minute == 0) ? bar_index : startindex[1]

if (hour == 0 and minute == 0)    
    box := box.new(startindex,
                    2,
                    bar_index, 
                    4,
                    bgcolor=color.new(color.green, 95), 
                    border_width=2,
                    border_color = color.black,
                    border_style=line.style_solid,
                    text = "the rectangle",
                    text_color = color.white,
                    text_size = size.normal)

if (hour == 1 and minute == 0)
    // 先判断box不为na再执行修改,避免报错
    if not na(box)
        box.set_right(box, bar_index)

关键修改说明

  • 用var声明box和startindex变量:var关键字会让变量在脚本初始化时只赋值一次,后续K线计算时保留之前的值,不会被重置。
  • 增加not na(box)判断:防止在box未初始化时调用box.set_right产生错误,让代码更健壮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:09:50