首页 > 解决方案 > 锚定 Vwap - 如何在正确的时间绘图?

问题描述

我正在尝试从输入时间绘制锚定 VWAP,但锚定 VWAP 会提前 1 或 2 个小节开始。

在 1 小时图表中,如果我告诉它从下午 3 点开始,它将在下午 4 点开始。在日线图中,如果我告诉它从 12 日开始,它将从 13 日开始。

我的图表时区是 UTC。

如何让 Vwap 从我设置的特定时间开始绘图?

//@version=4
study("My Midas VWAP plus % offset", shorttitle="MY MIDAS", overlay=true)

startBar01 = input(timestamp('14 Apr 2021 00:00 +0000'), '#1 Start Time', type=input.time)

startmidas01 = time >= startBar01 and time[1] < startBar01

v01 = na(volume) ? 1 : volume
cumV01= cum(v01)
CumPV01= cum(hl2*v01)

startV01 = valuewhen(startmidas01,cumV01,0)
StartPV01 = valuewhen(startmidas01,CumPV01,0)

Midas01 = (CumPV01-StartPV01)/(cumV01-startV01)

标签: pine-script

解决方案


发生这种情况是因为您要从累积总数中删除第一个条形的值。你最终得到零除以零,返回 na。您只需减去起始栏即可将其包含在内。但不包括 vwap 的第一条

startV01 = valuewhen(startmidas01, cumV01[1], 0)
StartPV01 = valuewhen(startmidas01, CumPV01[1], 0)

推荐阅读