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

如何在Pine Script中获取指标在K线开盘时的值并绘制?

获取K线开盘时的指标数值并绘制

不用纠结time函数,核心是要精准捕捉新K线开盘的瞬间,用barstate.isnew就能搞定。下面直接给你可运行的示例代码(以Pine Script为例,这是多数K线绘图工具的常用脚本语言):

//@version=5
indicator("开盘时刻SMA数值", overlay=true)

// 1. 计算目标指标(这里以20周期简单移动平均线为例)
sma_value = ta.sma(close, 20)

// 2. 声明变量存储开盘时的SMA值,var关键字确保变量值不会在每根K线重置
var float open_sma = na

// 3. 当新K线开盘时(barstate.isnew为true),更新变量为当前SMA值
if barstate.isnew
    open_sma := sma_value

// 4. 绘制开盘时的SMA数值(用水平线贯穿整个K线周期)
plot(open_sma, color=color.new(color.blue, 0), linewidth=2, title="开盘SMA")

关键逻辑说明:

  • barstate.isnew:Pine Script内置的状态变量,仅在新K线开始的第一根数据点返回true,完美对应你要的“开盘时刻”。
  • var:用来定义持久化变量,不会在每根K线重新初始化,这样开盘时记录的数值能保持到K线结束。
  • 如果你用的是其他平台的脚本语言,核心思路一致:找到“新K线启动”的判断条件,在此时刻读取指标值并存储,之后绘制这个固定值。

之前用time函数没成功,是因为time只能获取时间戳,但无法直接关联“开盘瞬间”的指标状态,而barstate.isnew才是专门针对K线周期切换的判断条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:39:54