Negative Volume Disparity Indicator
Negative Volume Disparity Indicator (NVDI) was authored by Phillip C. Holt, Stocks and Commodities Magazine 06/1996. The NVDI uses Bollinger Bands®, price and previous price, volume and a previous volume to create its plot. A signal line, a moving average of the NVDI, is also plotted. The user may change the input (close), method (SMA), period lengths and number of standard deviations. This indicator’s definition is further expressed in the condensed code given in the calculation below.
How To Trade Using Negative Volume Disparity Indicator
Adjust the top and bottom guides to control the quantity and quality of the trading signals. If the nvdi is above the top guide and crosses below the ma a sell signal will be generated. Conversely, if the nvdi is below the bottom guide and crosses above the ma a buy signal will be given.
How To Access in MotiveWave
Go to the top menu, choose Study>Volume Based>Negative Volume Disparity Indicator
or go to the top menu, choose Add Study, start typing in this study name until you see it appear in the list, click on the study name, click OK.
Important Disclaimer: The information provided on this page is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security. Please see our Risk Disclosure and Performance Disclaimer Statement.
//input = price, user defined, default is closing price
//method = moving average = ma, user defined, default is SMA
//period1 = user defined, default is 33
//period2 = user defined, default is 4
//noStd = number of Standard Deviations = user defined, default is 2
//prev = previous, bb = bollinger bands
//bb = bb[top], bb = bb[bottom]
//index = current bar number
prevV = price[index-1];; vol = getVolume(index); prevVol = volume[index-1]; bb = bollingerBands(index, period1, noStd, noStd, input); bbDiff = bb - bb; perb = 0; if (bbDiff != 0) perb = (price - bb)/ (bbDiff); negVol = ifNull(100, negVol); if (vol lessThan prevVol) negVol = negVol + ((price - prevV) /(prevV) * 100); neg = bollingerBands(index, period1, noStd, noStd, negVol); negDiff = neg - neg; negPerb = 0; if (negDiff != 0) negPerb = (negVol - neg)/ (negDiff); Plot1: nvdi = (1 + perb) / (1 + negPerb); Plot2: ma = ma(method, index, period2, NVDI); //Signals highSell = nvdi for last sell signal, reset to max_negative at each buy signal; lowBuy = nvdi for last buy signal, reset to max_positive at each sell signal; sell =crossedBelow(NVDI, MA) AND (ma moreThan topGuide) AND (nvdi moreThan highSell) ; buy = crossedAbove(NVDI, MA) AND (ma lessThan bottomGuide) AND (nvdi lessThan lowBuy);