pine-script - 锚定 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)
解决方案
发生这种情况是因为您要从累积总数中删除第一个条形的值。你最终得到零除以零,返回 na。您只需减去起始栏即可将其包含在内。但不包括 vwap 的第一条
startV01 = valuewhen(startmidas01, cumV01[1], 0)
StartPV01 = valuewhen(startmidas01, CumPV01[1], 0)
推荐阅读
- c++ - 将启动的类传递给函数而不定义类?
- php - php和c++中数字格式/浮点数的区别
- python - 如何远程控制树莓派 gpio
- excel - 是否可以禁用 Excel 单元格中的“自动增量”功能?
- android - 在xml文件中设置背景图片为设备宽度和设备高度
- python-3.x - 在 pandas 数据框中获取所有有和没有 NaN 的行
- assembly - 对于 asm 语句中的临时寄存器,我应该使用 clobber 还是虚拟输出?
- haskell - 如何仅用纯函数表示定界延续?
- enums - 有没有办法在没有模式匹配的情况下直接访问枚举结构中的字段值?
- c - 事件驱动模拟:将新事件插入优先级队列时,旧事件是否变得多余?