In this indicator, the Z-Score distance is the current standard deviation from the intraday VWAP of the price.
If it exceed a certain deviation (for example 2 standard deviations), the indicator highlights an oversold or overbought area from which the price could tend to return to its mean, the VWAP.
The VWAP is the Volume Weighted Average Price, in this indicator it is computed only for intraday trading and it resets at the defined startTime time value.
So the indicator has four inputs:
- “startTime“: the time at which the VWAP is reset and the Z-Score starts to be drawn
 - “endTime“: the time at which the Z-Score iterrupts its drawing
 - “smoothZscore“: whether to smooth the Z-Score curve or not
 - “stdDev“: the Z-Score oversold/overbought level
 
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70  | 
						// VWAP@Time intraday Z-Score // 17.11.2020 // Daniele Maddaluno // // startTime = 80000 // endTime = 153000 // smoothZscore = f // stdev = 2 once posLev1=+stdev/2 once negLev1=-stdev/2 once posLev2=+stdev once negLev2=-stdev if opentime < startTime or opentime > endTime then 	n = 0 	zscoreT = 0 	priced  = 0 	shared  = 0 	summ = 0 	vwap = close 	vwapstd = 0 else 	n = n + 1 	// This if has been added just for plot reasons 	if n <= 1 then 		zscoreT = 0 	else 		zscoreT = 190 	endif 	priced = priced + (totalprice*volume) 	shared = shared + volume 	if shared>0 then 		vwap = priced/shared 		summ = summ + square(totalprice - vwap) 		vwapstd = sqrt(summ / n) 	endif endif if smoothZscore then 	zscore = average[3]((close-vwap)/vwapstd) 	else 	zscore = (close-vwap)/vwapstd endif if zscore>=posLev2 then 	drawcandle(posLev2, posLev2*1.25, posLev2, posLev2*1.25) coloured(255, 0, 0, 100) bordercolor(0, 0, 0, 0) endif if zscore<=negLev2 then 	drawcandle(negLev2, negLev2*1.25, negLev2, negLev2*1.25) coloured(0, 255, 0, 100) bordercolor(0, 0, 0, 0) endif // Manage the coloring of vwap mid line if zscore > zscore[1] then 	dwapR = 0 	dwapG = 128 	dwapB = 192 else 	dwapR = 255 	dwapG = 0 	dwapB = 0 endif return zscore coloured(dwapR, dwapG, dwapB, zscoreT) style(line, 2) as "Z-score", posLev1 coloured(168, 168, 168) style(line, 2) as "Level +stdev/2", posLev2 coloured(210, 210, 210) style(line, 2) as "Level +stdev", negLev1 coloured(168, 168, 168) style(line, 2) as "Level -stdev/2", negLev2 coloured(210, 210, 210) style(line, 2) as "Level -stdev", 0 coloured(168, 168, 168) style(dottedline) as "Level 0"  | 
					
Share this
No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.
ProRealTime ITF files and other attachments :PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials
								
							
								
								
								
										
								
										
								
										
								
								
								
										
								
										
										
										
								
										
								
								
								
		
		
		
If you need to use it in PRT v11 take a look at this topic:
https://www.prorealcode.com/topic/prt-11-indicator-disappears-from-screen-when-visually-scrolling-at-barindex1/
Hi Daniele
Thank you for the indicator, it looks very good.
However, I have a problem sometimes that it produces a very very large score for WAP – up to 200,000G!!!
I am using your standard settings, any idea?
thanks
Thanks very much for sharing, look forward to testing this idea out.
Thank you Daniele for making this script, I know its been some time since the release but would it be possible to tweak the mid vwap line into candles instead, would love to see it with f.ex heikin ashi.
Tried doing it myself without success..
BR,
Mathias