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

Pinescript如何绘制前一交易日VWAP收盘值的当日全时段水平线

实现方案

Pine Script内置的vwap()函数默认会在每个交易日开盘时自动重置计算,我们可以通过检测交易日边界、存储前一日收盘时的VWAP值,再在当日固定绘制该值的水平线即可满足需求。

完整修改后代码

//@version=5
indicator(title="前一交易日收盘VWAP水平线", overlay=true)

// 计算当日实时VWAP
vwapValue = ta.vwap(close, volume)

// 定义变量存储前一交易日收盘VWAP,var关键字保证变量值在K线切换时不会被重置
var float prevDayVwapClose = na

// 检测是否为新交易日的第一根K线
isNewDay = ta.change(time("D"))

// 新交易日开盘时,将前一日最后一个VWAP值赋值给存储变量
if isNewDay
    prevDayVwapClose := vwapValue[1]

// 绘制当日全程的前一日收盘VWAP水平线
plot(series=prevDayVwapClose, color=color.new(color.orange, 0), linewidth=2, title="前一日收盘VWAP")

// 可选:保留原有的当日实时VWAP绘制
// plot(series=vwapValue, color=color.teal, linewidth=2, trackprice=true, title="当日实时VWAP")

关键逻辑说明

  • 使用var关键字声明prevDayVwapClose变量,保证该变量的值不会随每根K线刷新被重置,只会在指定的条件下更新
  • ta.change(time("D"))用来检测当前K线是否是当日的第一根K线,交易日切换时该值返回true
  • 新交易日触发时,vwapValue[1]取的是前一交易日最后一根K线对应的VWAP值,也就是前一日收盘时的VWAP,存入变量后当日全程保持该值不变,绘制出来就是贯穿当日整个交易时段的水平线

自定义调整项

  • 可以修改plot函数中的color参数调整水平线颜色
  • 如果不需要保留原有当日实时VWAP的绘制,注释掉对应代码行即可
  • 若需要在非股票品种(比如加密货币7*24小时交易)使用,可将time("D")的时间周期调整为你需要的结算周期,比如time("24h", "00:00")指定按UTC0点作为日结算边界

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:06:03