如何设置VWAP周期为2天/3天并分别锚定前一日/前日零点?
实现锚定昨日/前日零点的多周期VWAP
核心实现逻辑
锚定VWAP的关键是指定计算的起始时间节点,通过锁定昨日/前日的零点时间作为锚点,从该点开始累计计算成交量加权平均价。下面以TradingView的Pine Script为例给出具体实现:
//@version=5 indicator("锚定多周期VWAP", overlay=true) // 生成昨日零点的时间戳 yesterday_start = timestamp(year, month, dayofmonth - 1, 0, 0) // 生成前日零点的时间戳 day_before_yesterday_start = timestamp(year, month, dayofmonth - 2, 0, 0) // 绘制锚定昨日零点的2天周期VWAP(洋红色) vwap_2d = ta.vwap(close, volume, yesterday_start) plot(vwap_2d, color=color.magenta, linewidth=2, title="2天锚定昨日零点VWAP") // 绘制锚定前日零点的3天周期VWAP(紫色) vwap_3d = ta.vwap(close, volume, day_before_yesterday_start) plot(vwap_3d, color=color.purple, linewidth=2, title="3天锚定前日零点VWAP")
代码说明
timestamp()函数精准生成目标日期的零点时间戳,作为VWAP计算的起始锚点ta.vwap()内置函数接收起始时间参数后,会自动从该锚点开始累计计算VWAP,直到当前K线- 两条曲线分别对应需求的2天/3天周期,且无额外VWAP Bands
非TradingView平台适配思路
如果使用其他交易软件,核心逻辑一致:
- 找到平台支持指定起始时间的VWAP工具,或自行编写VWAP公式:
VWAP = 累计(成交量×收盘价) / 累计成交量 - 设置计算区间为从昨日/前日零点到当前时刻,仅保留核心VWAP曲线即可
内容的提问来源于stack exchange,提问作者Vendrel
相关产品推荐
相关产品推荐

