For people who are using the Buy Sell Pressure indicator but would prefer a histogram format, you're in luck!
Turns out that two weeks ago, Fract decided to create a version of this indicator called
"NET BSP".
I got the idea to search for something like this after seeing a request on this forum
that went unanswered, asking for "a buy sell pressure indicator with a zero line... Essentially if its buying pressure its above the zero line and when above the zero line it shows volatility also (and vice versa)".
Anyhow, here is what Fract has to say about the NET BSP:
"NET BSP is derived from Buying & Selling Pressure, which is a volatility indicator that monitors average metrics of green and red candles separately. We can navigate more confidently through the market with a projected market balance.
The original BSP indicator allowed us to track and analyze the ongoing performance of bullish and bearish impulsive waves and their corrections.
Due to the unintuitive way of measuring decline with Selling Pressure going up, I decided to remake it into a more intuitive version with better precision. When we encounter the fall it's better to have declining values of the tool to be able to cover it visually with ease.
One of the solutions was to create a sense of balance of Buying Pressure (BP) against Selling Pressure (SP). Since we are oriented by growth, it'd be more logical to summarize the market balance with the following mathematical equation: BP - SP
When Buying and Selling Pressure are equal, NET BSP would be at 0.
NETBSP > 0 and BP > SP = 
NETBSP > 0 and BP < SP = 
NETBSP < 0 and BP < SP = 
NETBSP < 0 and BP > SP = 
Hence, we get visualized stages of the uptrends and downtrends, which allows to evaluate the chances and estimations of upcoming counter-waves. Also, it is worth noting that output clearly shows how one wave is derived from another in terms of sizing.
Feel free to adjust the NET BSP arguments so you can adapt sensitivity to the timeframe you're working on."
Here's what the NET BSP looks like in comparison to the original BSP:
Please note that the TradingView example above is using a Heikin-Ashi (HA) chart. Since TradingView allows you to change directly between candlestick charts and HA charts instead of overlaying the latter over the former, both indicators will look different if you put the charts side-by-side.
In other words, as one commenter put it:
Using "Heikin Ashi" produces different values for the open, close and highs and lows than the plain "Candles".
Whereas with MetaTrader4, since the HA indicator merely acts as an overlay instead of changing the OHLC values of the candlesticks, both BSP indicators will look exactly the same on both HA and candlestick charts. The picture below illustrates what I'm talking about:
Fract had this to say about why one may choose to use the BSP indicator with HA charts instead of candlestick charts:
"The BSP indicator is grouped better with HA. However, it far doesn't yet mean it's useless for normal candles. I used HA Just because of extra smoothness and its trend-following properties. Because of gradual change it is easier to determine direction. Once again I say that it works well with normal candles too but would obviously noises, that’s I added length to adjust."
For anybody who is interested in coding NET BSP for MetaTrader4 or sees any value in doing so, the simple 30-line code is below:
Code: Select all
// © fract
//@version=5
indicator(title='NET BSP', overlay=false, timeframe="")
// Inputs and Formula {
ln = input.int(24, "BSP Average", 1, 200, 1)
bp = close - (math.min(low, close[1])) // Buying Pressure [including wicks]
sp = (math.max(high, close[1])) - close // Selling Pressure [including wicks]
bal = bp - sp
bsp = ta.ema(bal, ln)
//}
// Conditions {
bspRise = bsp > bsp[1]
bspFall = bsp < bsp[1]
bspG = bsp > 0
bspF = bsp < 0
//}
// Colors {
col = bspG ? (bspRise ? color.new(#00aa49, 0) : color.new(#9a9a00, 0)) : (bspFall ? color.new(#ff2929, 0) : color.new(#9a9a00, 0))
// }
// Plots {
plot(bsp, "NETBSP", col, 1, style = plot.style_columns, trackprice = true)
hline(0, "Balance", color.black, hline.style_solid, 2)
// }
//Alerts {
//alertcondition(bspRise and bspG, "Open Long")
//alertcondition(bspG and bspFall, "Close Long")
//alertcondition(bspF and bspFall, "Open Short")
//alertcondition(bspF and bspRise, "Close Short")
// }
If you truly want to go above and beyond, turning NET BSP into the behemoths that kvak and mrtools have created for the original BSP indicator, here are the features they implemented:
- Adding all averages via the eAverages pack
- Adding all price options via the Price pack
- Adding MTF/AHTF capabilities
- Separately editing the TYPE of moving average you use for "bpma" and "spma"
- Separately editing the PRICE OPTION you use for "bpma" and "spma"
- Separately editing the LENGTH you use for "bpma" and "spma"
- The slope line changes as seen in lines 16-24 of the PineScript code ("bpma" slope is green when going up and blue when going down, "spma" slope is red when going up and orange when going down)
- The option to "fill" the space in-between the bpma/spma as seen in line 25 of the PineScript code
- Arrows for buy/sell entries
- Coloring the candles to reflect when the indicator reflects buying/selling pressure
- Alerts to help us know when to look for a trade, especially on the higher timeframes
- A button so we can turn the indicator appearance on and off when we want
Like I said before, I don't know what major difference this new version makes for anybody other than a different way of visually seeing the values generated by the indicator. But perhaps that's enough of a dealbreaker for some of the traders here!