OPEN-SOURCE SCRIPT

Buying & Selling Pressure

Updated
Buying and selling pressure is a volatility indicator which denotes the balance between buyers and sellers inside candlestick.
You set the length to average it just like ATR. But This offers further break down of participants of the market.
Pretty much at any condition of the market the indicator can filter out interesting details to make trading decisions faster or confirm them.

So keep it simple we have two lines
🟢 Green → buying pressure
🔴 Red → selling pressure

If green is rising → Price most likely will grow
If green is rising and red is falling → Price will grow at higher probability
If red is rising → Price most likely will fall
If red is rising and green is falling → Price will fall at higher probability

When they both grow or fall → wait till one of them goes opposite way.

╳ Crossings can indicate turning points for bigger price swings.
Technically by very act of intersecting means that Buying and Selling Pressure are equal.

Can be used for Demand/Supply analysis and evaluate the support/resistance levels.
Release Notes
Fixed
Release Notes
Added background colors depending on relationship between average BP and SP
Release Notes
UPDATE:
Now when Buying Pressure falls, it turns 🔵 blue.
Selling Pressure turns 🟠 orange once it falls accordingly.
It is important to document these crucial changes of bullish and bearish incentive of the market.
Release Notes
Now BSP is based on candle's actual body without excluding wick measurement out of formula.
It was very sensitive to market noises, giving us confusing signals. Eliminating wicks metrics contributed to more accurate capture of bullish and bearish market and their timing.
For example capture of covid19 lockdown 📉 bearish wave.
snapshot
Release Notes
Thanks to bipinkaswala for noticing bug.

Release Notes
Summarized formula of BP and SP. Also enabled consideration of wicks. Was a bad idea taking them down out of formula. Added tracking by def.
Release Notes
Added switch for considering wicks in the formula. Some people thought it was a good idea using the indicator without wicks to eliminate noises in certain conditions of the market.
Release Notes
Added:
  • Ability to change the type of MA
  • Removed maxval limits
  • Separate fills coloring different stages of the market
Release Notes
Added:
  • ATR for a better visualization of candle proportions
  • Ability to change ATR Length


For example, default settings of BSP together with ATR changed to 200 would look like:
snapshot
Release Notes
Minor bug fix
Release Notes
Added averaging of Upper Wick and Lower Wick (UW & LW)
With SAME arguments for all:
  • Value of ATR will always be more than BP OR SP because buying and selling pressure are parts of a bar
  • Upper and Lower Wicks (LW and UW) will always be smaller their correspondent BP and SP


Meaning that if ATR (twice the default argument of BSP averaging) can represent mathematical max of given Volatility.
Meanwhile darkened Lower & Upper Wicks zone
suppose to represent Volatility floor.
Made them all black because their crossings aren't as significant as their levels. However, we would still consider that in this instance the measurement of Lower Wick is above Higher Wick
Therefore, we can observe how Buying & Selling Pressure emerge from Upper & Lower Wicks to ATR levels
BSP & ULW are averaged equally. Ability to change ATR is also present.

Also added another averaging type called "SWMA"
Release Notes
Update:
Added other components of Candle Metrics to complete Volatility picture.

1. Average Wick Range (grey step line):
2. Total Wicks Range (black step line)
3. Average Body Range (black line)
4. Dots indicate metrics of Higher Wick
5. Crosses (+) indicate metrics of Lower Wick
Release Notes
UPD:
Added switches in User Inputs section for:
  • ATR
  • Average Body Range ABR (Black line tends to have direct correlation with ATR)
  • Average Higher and Lower Wicks HW LW
  • Average Total Wicks Range TWR (Grey Step line to differ from ABR)

Average Wick Range is not displayed by default due to discovering alternative way of outputting Elements of Candle Metrics.
Set length of 14 periods for all components to align with default arguments for majority Volatility indicators.

The closer Average Body Range approaches ATR levels of the same period, the more confident candlestick of any direction tends to become. (As greater Body Range portion occupies the True Range)
snapshot

Similarly, Buying or Selling Pressure trending together with Average Body Range indicates candle takeover by either one of them.
snapshot

Hence, the Total Wicks Range (TWR) would most likely show inverse correlation to Average Body Range (ABR) dynamics. (ATR = Total Wick Range + Average Body Range + gaps if any. If one of the components becomes bigger the other gets relatively smaller accordingly)
snapshot

Alternatively, specific mode allows to view BSP together with Higher & Lower Wicks and look for correlation between them. (Usually at some phase during uptrend BP>SP and BP>BP[1], HW gets bigger than LW indicating probability of going opposite direction, resulting in SP>BP. Same with downtrend - during rise of sizes of red candles (SP), the LW gets relatively bigger and at some point has potential of causing BP > SP).
snapshot
Release Notes
  • Now all Volatility components are averaged by a single input argument
  • Added BSP background colors (Not activate in default settings)
  • Average Wick Range can be added separately from Higher & Lower WR
  • Organized the Inputs into 3 sections of Candle Metrics: BSP, ATR & ABR, Wicks Ranges
Release Notes
Added a feature to adjust Buying and Selling Pressure to their relativity.
BP and SP multiplied by averaged ratio of their direct relationship. For example, BP = BP x MA(BP/SP). The lower the MA, the more sensitive it gets. Adjusting output to their interdependence increases the responsiveness to ongoing formation of the candles. Also it is a measure to reduce lagging and false signals. Not recommended to view other components of Candle Metrics with enabled Relativity Mode because the difference will be vast. I added ATR alongside with BSP to show the reason visually.
Original:
snapshot
Relativity Mode:
snapshot
Release Notes
  • Darkened area on exhaustion of bulls and bears. snapshot
  • Updated BP:SP relativity formula and default settings snapshot
    In this mode turn off other candle ranges due to vast differences in scale.
  • Added zone of ATR and Average Wick Range (AWR) snapshot
Release Notes
  • Replaced BG highlights with Bar Color
  • Changed the color of bullish exhaustion to violet (Better delivers a sense of transformation than previous color in use)
  • Eliminated unnecessary lines
Release Notes
Fixed small bug
Release Notes
  • Added "Linear Regression" and 4-polar "Gaussian" to the available averaging type options
  • Added dynamics of 1% of the closing price to maximize awareness of the Candle Metrics figures.
Release Notes
Shifting 4 to the 10th-order Polar Gaussian Filter

Enhanced smoothing technique that removes noise without sacrificing the filter’s ability to detect significant price changes. This balance of averaging and responsiveness is specifically designed to capture the unique oscillations within candle fragments.

snapshot
Release Notes
  • BSP now operates exclusively in "Raw" mode. Removed the ability to use conditional classification before averaging by period. Since bullish and bearish candles each have parts of both, it was essential to average them specifically on periodic basis, so transition in volatility and incentive shifts are captured smoothly. For non-periodic separate averaging of bullish and bearish bars by past occurrence count - use "Average Bullish & Bearish Percentage Change" indicator.
  • Added ability to customize shaded BSP highs.
ATRBODYbuyingpressureCandlestick AnalysisincentivemetricsmultitimeframeOscillatorsrangesellingpressurevolatiltywicks

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 publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer