This is a derivation of the On Balance Volume Indicator.

The idea behind it is that volume consists of two parts. The driving theory is the basic law of supply and demand.

Part 1: Volume consists of shares traded at an equilibrium price. An equal number of buyers and sellers are present during this volume. This area is displayed as the upper and lower shadows on a single candlestick. For this indicator, volume traded in equilibrium is not included in the display.

Part 2: Volume consists of shares that are not traded at an equilibrium price, driving price up or down for the time period. In this volume, buyers or sellers are not present in equal numbers. This area is displayed as the body of the candlestick. This indicator focuses on this part of volume.

VPT_OBV plots only the volume that occurs at the difference in price between the open and the close. To achieve this, volume is divided by the difference between the high and the low (in pennies). Next, the difference between the open and close is calculated (in pennies). Volume is then divided by the difference in the high and low, to get the amount of volume needed to move the asset up or down by $0.01 during the time period. This number is then multiplied by the difference between the open and close.

VPT_OBV plots the outcome as a cumulative total. A simple moving average of the VPT_OBV is thrown in to provide smoothing.
Script open-source

Dans le véritable esprit de TradingView, l'auteur de ce script l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par le règlement. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.

Vous voulez utiliser ce script sur un graphique ?
study("VPT_OBV")

length = input(20, minval=1, title="SMA Length")

hilow = ((high - low)*100)
openclose = ((close - open)*100)
vol = (volume / hilow)
spreadvol = (openclose * vol)


VPT = spreadvol + cum(spreadvol)
SMA = sma(VPT,length)


plot(VPT, color=green, style=line, linewidth=1 )
plot(SMA, color=blue, style=line, linewidth=2)