'Need help to convert Pinescript V2 to V4
Need help on converting below V2 pinescript indicator to V4. I tried many options but somehow couldn't succeed. I tried creating/initializing the variables first but keep getting errors. Probably making some silly errors & hence need your help. Will be much appreciated.
//@version = 2
study("VWAP Standard Deviation Bands", overlay=true)
devNum = input(2, title="Number of stdev")
newSession = iff(change(dayofweek), 1, 0)
vwapsum = iff(newSession, hl2*volume, vwapsum[1]+hl2*volume)
volumesum = iff(newSession, volume, volumesum[1]+volume)
v2sum = iff(newSession, volume*hl2*hl2, v2sum[1]+volume*hl2*hl2)
myvwap = vwapsum/volumesum
dev = sqrt(max(v2sum/volumesum - myvwap*myvwap, 0))
plot(myvwap, title="VWAP")
plot(myvwap + devNum * dev, title="VWAP Upper")
plot(myvwap - devNum * dev, title="VWAP Lower")
Solution 1:[1]
Self-referenced variables are removed starting from v3, so you should declare a variable first. Migration guides
//@version = 4
study("VWAP Standard Deviation Bands", overlay=true)
devNum = input(2, title="Number of stdev")
newSession = iff(change(dayofweek), 1, 0)
vwapsum = 0.0
vwapsum := iff(newSession, hl2*volume, vwapsum[1]+hl2*volume)
volumesum = 0.0
volumesum := iff(newSession, volume, volumesum[1]+volume)
v2sum = 0.0
v2sum := iff(newSession, volume*hl2*hl2, v2sum[1]+volume*hl2*hl2)
myvwap = vwapsum/volumesum
dev = sqrt(max(v2sum/volumesum - myvwap*myvwap, 0))
plot(myvwap, title="VWAP")
plot(myvwap + devNum * dev, title="VWAP Upper")
plot(myvwap - devNum * dev, title="VWAP Lower")
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | vitruvius |
