Indicator: Volume Price Confirmation Indicator (VPCI)

Developed by Buff Dormeier, VPCI won 2007 Charles H Dow award by the MTA . VPCI plots the relationship between price trend and the volume , as either being in a state of confirmation or contradiction.

Excerpt from article below:

"Fundamentally, the VPCI reveals the proportional imbalances between price trends and volume-adjusted price
trends. An uptrend with increasing volume is a market characterized by greed supported by the fuel needed to
grow. An uptrend without volume is complacent and reveals greed deprived of the fuel needed to sustain itself.
Investors without the influx of other investors ( volume ) will eventually lose interest and the uptrend should
eventually breakdown.

A falling price trend reveals a market driven by fear. A falling price trend without volume reveals apathy, fear
without increasing energy. Unlike greed, fear is self-sustaining, and may endure for long time periods without
increasing fuel or energy. Adding energy to fear can be likened to adding fuel to a fire and is generally bearish
until the VPCI reverses. In such cases, weak-minded investor's, overcome by fear, are becoming irrationally
fearful until the selling climax reaches a state of maximum homogeneity. At this point, ownership held by weak
investor’s has been purged, producing a type of heat death capitulation. These occurrences may be visualized by
the VPCI falling below the lower standard deviation of a Bollinger Band of the VPCI, and then rising above the
lower band, and forming a 'V' bottom. "

Full article:

Nearly all parameters are configurable and exposed via "Options" page (enable/disable BB, enable/disable breach-markings, enable/disable MA, ...).Also check the source for enabling "histogram" (difference between VPCI and MA of VPCI).

Do note that the shortTerm/longTerm lengths need tuning for your instrument. The default 5/20 is not optimal, in my quick check.

List of my free indicators:
List of my indicators at Appstore:
Skript med en öppen källkod

I sann TradingView-anda har författaren publicerat detta skript med öppen källkod så att andra handlare kan förstå och verifiera det. Hatten av för författaren! Du kan använda det gratis men återanvändning av den här koden i en publikation regleras av våra ordningsregler. You can favorite it to use it on a chart.

Frånsägelse av ansvar

Informationen och publikationerna är inte avsedda att vara, och utgör inte heller finansiella, investerings-, handels- eller andra typer av råd eller rekommendationer som tillhandahålls eller stöds av TradingView. Läs mer i Användarvillkoren.

Vill du använda det här skriptet i ett diagram?
// @author LazyBear
// If you use this code in its orignal/modified form, do drop me a note. 
study("Volume Price Confirmation Indicator [LazyBear]", shorttitle="VPCI_LB")

vpc = vwma(src, longTerm) - sma(src, longTerm)
vpr = vwma(src, shortTerm)/sma(src, shortTerm)
vm  = sma(volume, shortTerm)/sma(volume, longTerm)

vpci = vpc*vpr*vm
plot(vpci, color=orange, linewidth=2)

DrawMA = input(true, type=bool, title="Draw MA on VPCI?")
lengthMA=input(8, "VPCI MA Length")
s=sma(vpci, lengthMA)
plot(DrawMA?s:na, color=teal)

// Uncomment this line to enable histogram
// plot(DrawMA?(vpci-s):na, color=blue, style=histogram)

DrawBands = input(false, type=bool)
HighlightBreaches = input(true, type=bool)
length=input(20, title="BB Length")
bb_s = vpci
basis = sma(bb_s, length)
dev = (mult * stdev(bb_s, length))
upper = (basis + dev)
lower = (basis - dev)

plot(DrawBands?basis:na, color=gray, style=line)
p1 = plot(DrawBands?upper:na, color=gray)
p2 = plot(DrawBands?lower:na , color=gray)
fill(p1, p2, blue)

b_color = (bb_s > upper) ? red : (bb_s < lower) ? green : na
offs_v = 0.3
breach_pos = (bb_s >= upper) ? (bb_s+offs_v) : (bb_s <= lower ? (bb_s - offs_v) : 0)
Breached=(bb_s >= upper) or (bb_s <= lower)
plot(HighlightBreaches and Breached ? breach_pos : na, style=cross, color=b_color,linewidth=3)