Volume Positive Negative (VPN)

The idea and calculations for the Volume Positive Negative ( VPN ) indicator were created by Markos Katsanos. Markos wrote about the indicator in the article Detecting High-Volume Breakouts, published in Technical Analysis of Stocks & Commodities April, 2021 (Vol. 39, Issue 5).

The goal of the VPN indicator is to detect breakouts using only volume . The basic idea is to compare volume on up days versus volume on down days. The indicator can oscillate between the range of -100 and 100. Values between 0 and 20 are generally considered bullish , negative are bearish .

When the plotted VPN crosses over what Markos refers to as the critical value, that may indicate a high volume breakout. The critical value can be adjusted between 0 to 20, 10 is the default,

Volume Positive Negative Calculation ( VPN )

VPN = (VP - VN) / MAV / Period * 100

VP - sum of positive volume
VN - sum of negative volume
MAV - moving average of volume

Volume is considered positive when the average price is higher than the previous day's price by more than .1 of the ATR ( average true range ).

Release Notes: version 2.0

From Markos Katsanos - "Each trading day the volume is classified as positive if the average stock price is higher than yesterday’s average price by more than 1/10 ATR (average true range) and the opposite for negative volume. If the average price difference is between +/- 0.10 ATR the volume is ignored."

■ Allow configuration of the fractional amount of ATR.
Release Notes: Publish a new chart to show Volume Positive Negative (VPN) examples.
Release Notes: version 3.0

■ Additional configuration options for the VPN moving average, including length and type (SMA or EMA).
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Want to use this script on a chart?
Technical analysis, indicators and tutorials:
Follow me on Twitter:


such a great indicator. what period would you suggest on smaller timeframes such as M5 or M15 ?
+4 Reply
PlayTheTrade Thinkologist
I generally experiment with various values based on the type of stocks that I am trading and the overall market condition.
i cannot see style part of indicator
i want to change line colors etc
+1 Reply
MasBart aktifgirisimci
@aktifgirisimci, seconded. For me as I prefer white background, the lines are too thin and hard to see.
+1 Reply
You can adjust the width of the VPN line in the Settings. Let me know if that helps.
PlayTheTrade aktifgirisimci
If you are referring to the VPN line, it is programmed to follow the same color pattern as designed by the original author of the indicator, Markos Katsanos. When the VPN is above the 'critical value' it will be green, when it is below the 'critical value', it will be red.
Looks very useful. Eager to try it out. Thank you !
+1 Reply
PlayTheTrade satchitjain
I hope you find it helpful.
Had no idea about this indicator. Keen to try this out for the next few weeks. Thank you John!
+1 Reply
You're welcome, let me know what you think.
Home Stock Screener Forex Screener Crypto Screener Economic Calendar About Chart Features Pricing Refer a friend House Rules Help Center Website & Broker Solutions Widgets Charting Solutions Lightweight Charting Library Blog & News Twitter
Profile Profile Settings Account and Billing Referred friends Coins My Support Tickets Help Center Private Messages Chat Sign Out