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

Pine Script:如何在TradingView数据窗口显示bomax数值

解决Pine Script中BoMax数据窗口显示空值的问题

核心原因

数据窗口显示∅,本质是bomax变量在非触发突破的K线上处于na(空值)状态——虽然plot函数能自动连接有效点形成水平线,但数据窗口会读取当前K线的变量值,空值就会显示∅。

具体修复方案

1. 用var保留变量有效值

通过var声明变量,仅初始化一次,后续只有突破触发时更新值,非触发周期保持最后有效值:

indicator("Breakout Finder", overlay=true)

// 替换成你实际的突破触发逻辑(示例用枢轴高点)
breakoutCondition = ta.pivothigh(5, 5)

// 用var初始化bomax,确保非突破周期保留最后值
var float bomax = na
if breakoutCondition
    bomax := ta.highest(ta.high, 10) // 替换成你实际的bomax计算逻辑

// 绘制水平线,数据窗口会同步显示有效值
plot(bomax, "BoMax", color=color.blue, style=plot.style_linebr)

2. 用ta.valuewhen提取最后有效值

如果不想用var,可以用ta.valuewhen直接获取最近一次突破触发时的bomax值,确保所有K线都有值:

indicator("Breakout Finder", overlay=true)

breakoutCondition = ta.pivothigh(5, 5)
bomaxCalc = ta.highest(ta.high, 10) // 你的bomax计算逻辑

// 提取最后一次突破时的bomax值,无突破时保持之前的值
bomax = ta.valuewhen(breakoutCondition, bomaxCalc, 0)

plot(bomax, "BoMax", color=color.blue, style=plot.style_linebr)

3. 检查plot参数设置

确保plot函数没有设置display=display.data_window_off,默认display.data_window_on会让指标显示在数据窗口。如果只想在数据窗口显示、不显示图表线,可设置:

plot(bomax, "BoMax", display=display.data_window_only)

验证方法

修改代码后切换不同K线,查看数据窗口的BoMax字段:

  • 触发突破的K线显示计算值
  • 非突破K线显示上一次的bomax值,不再出现∅

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 08:15:00