+ Balance of Power

The oscillator pivots around a center line, and as with most indicators like this, above 0 is generally considered bullish in a bullish trend, and vice versa in a downtrend.
It can be good for spotting divergences (moreso with smaller lookback periods than I like).
To wit, you might be wondering why I have the default lookback period set at such a large number. My only answer I can give is that I prefer it that way.
The indicator is quite choppy, even when smoothed. The long period helps me to make beter sense of the data (smooth it with a Hull or Jurik MA and you get a different story, though).
In my version of this indicator I provide a pretty broad selection of moving averages with which one may choose to smooth out the BOP, as well as an EMA provided to use as a sort of signal line for trade entries and/or exits, taking partial profits, scaling into a position, etc.
I've also added the option for a second BOP, which is on by default. I think you might find the results interesting by pairing differently smoothed BOPs together.
Of course, you don't have to use both. In the case of the default settings you might look at the EMA-BOP crossing the JMA-BOP as an opportunity to look into exiting or entering trades.
Candle coloring is, as usual, included. I'd say I kind of overdid it here, but that seems to be my style. I just couldn't deal with the fact that with the indicator set to cumulative modes there is no zero line, therefor the color of the indicator plot and the candle coloring would not match the color swatches for bullish/bearish colors. So, there are selections for cumulative indicator/candle colors, and standard indicator/candle colors. Donchian Channels obviously doesn't matter because the colors of things are based on the channel only.
I've added Donchian channel bands (which I've begun adding to many of my indicators), and all necessary alerts as well.
The Donchian Channels can be a really effective tool for entering and exiting trades. I haven't mentioned it in my other indicators that have it, so I will here:
The outermost edge of the band is that which references the indicator for where it is plotted, and the inner channel is sort of dragged along, creating the band
It's a simple mathematical calculation that TradingView actually provided themselves in their manual for pinescript.
When the BOP (or any other indicator using this) enters the band and then exits that could be an indication that price may be reversing, this the bands themselves act, or rather, show a current area of support/resistance for the BOP plot.
One thing that I did with it that they did not, is give the user the ability to change the width of the band. It can only go so narrow, obviously, but anywhere from three (quite wide) to eight is probably sufficient.
I've also provided the option of plotting the BOP as a cumulative line (like OBV), making it no longer an indicator which oscillates around a central pivot.
Because the balance of power is plotted as an accumulation, you may actually want to set the lookback to 1 (it works because it's not an oscillator then).
If you wish to smooth the noise, I suspect a low number would be acceptable here, but it's not necessary.
Oh, and lastly (almost forgot, as this was a late addition), I've added options for the BOPs calculated with volume as well. Gives a different bit of a perspective on the market, versus the traditional version which does not include volume. Screenshots below.
The above image is the balance of power calculated with volume. You can see the obvious difference versus the traditional indicator, where price is in a downtrend and you'd want to sell the orange.
Cumulative version. Looks a lot like OBV.
Cumulative version with volume.
added alerts for divergences
- changed some wording
- added T3, RMA, and VWMA moving averages
- added some tooltips (info at certain indicator inputs)
User Non-Visible Updates (basically backend stuff that makes:
- changes in code legibility and consistency across all indicators (basically standardizing the coding across as many indicators as possible)
- implementation of libraries into my indicators; which helps significantly in doing what I typed above; which in turn will make creating any new indicators, if they are of the type to use these libraries, much simpler
- updated descriptions for all indicators, which should (it's possible I've forgotten things) reflect changes I've made recently and any I may have made in the past after first publication (this is very minor, but as I was changing so much I thought I may as well--I don't intend to update these much, if at all, in the future)
User Visible Updates:
- as I mentioned everything now uses my moving averages library and volatility bands library--this cuts down the total amount of code significantly, and has made it easier for me to add moving averages, or volatility bands to these indicators because I only had to/have to add it one time (to the library) rather than multiple times across all indicators*
- since creating these libraries I've added several new moving averages (Kaufman Adaptive, Laguerre Filter, McGinley Dynamic (doesn't work for all), and Zero-lag) to them while retaining all the previous with the exception of the UMA, which wasn't implemented consistently across all indicators anyway
- eliminated having two Bollinger Bands with different standard deviations and a fill between them in exchange for one with the band fill implementation that I use on my Donchian Channels Bands
- part of my code consistency across all indicators resulted in a much needed organization of the 'style' tab
*(affects all but the Wavetrend Oscillator, Wavetrend Oscillator Overlay, Jurik KDJ, Average Candle Bodies Range, Bollinger Bands Width, ALMA Trend Detector, Ultimate Moving Average, Donchian Channels, and Dynamic Donchian Channels)
- updated to pine v6
- converted moving average functions to switch operations to consolidate code
- naming conventions are more inline with TradingView's recommendations
- eliminated one balance of power. All previous iterations of the indicator had two BoPs with optional EMA signal lines on them. The two BoP setup was interesting when used in accumulative mode because the slower one could be used as a signal line. This, however, made the code somewhat cumbersome, along with the various versions of indicator coloring that could be made using different combinations of indicators and EMA signal lines. Being as part of this whole exercise in updating these indicators is making more efficient use of code, and improving the overall UX and UI, cutting the second BoP out made a lot of sense. In place of that elimination the user now has, like some of my other indicators, two signal lines, of which many moving averages can be chosen from. This also cuts back on the too many color variations that one could select from: it is now four down from six or seven.
- condensed BoP selection down from four to two. You now select if you want to integrate volume or not. To use the indicator as an accumulative line and not an oscillator there is simply a box to check or uncheck. This just seemed a more elegant solution, and I think will make more sense to a new user.
- added a multi-timeframe color option. This means that you can set the indicator color to a higher timeframe and the indicator will be colored depending on where it is versus that higher timeframe's components. You're on the 1m timeframe and you set the color to 5m. If on the 5m the indicator is below the centerline, signal line, or whatever you choose for the color reference, but is above whatever your selection is on the 1m timeframe, it will be colored based on the fact that it is still 'bearish' on that higher timeframe. This calculates on the chart timeframe, so you don't have to wait for a 5m bar to close to see this relationship.
- updated to TradingView's most up-to-date version of divergences
I think that is everything! As allways
Enjoy!
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Untuk akses pantas pada carta, tambah skrip ini kepada kegemaran anda — ketahui lebih lanjut di sini.
Penafian
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Untuk akses pantas pada carta, tambah skrip ini kepada kegemaran anda — ketahui lebih lanjut di sini.