Bull Bear Power: Formula, TradingView Setup and Signal Tests
Bull Bear Power (BBP) compares the high and low of a bar with a moving average. TradingView's built-in version adds the two distances into one value. A positive reading describes that calculation; it does not identify institutional buying or establish that a profitable trade is available.

Separate the components from the combined indicator
For an EMA of closing prices over length N:
- Bull Power = High minus EMA(close, N).
- Bear Power = Low minus EMA(close, N).
- Combined BBP = Bull Power plus Bear Power.
TradingView documents the combined calculation and default length of 13. MetaTrader's separate Bulls Power and Bears Power references describe the individual Elder components. Check which output your chart actually displays before defining a zero-cross rule.
As a hypothetical arithmetic example, if the high is 105, the low is 99 and the EMA is 102, Bull Power is 3 and Bear Power is -3. Their sum is zero even though the bar spans six price units. Thus zero combined BBP does not mean the market had no range, nor does it forecast an imminent breakout.
A positive Bull Power value says only that the high exceeds the EMA. A negative Bear Power value says the low is below it. Both can occur on the same bar. These distances are in price units, so raw values across differently priced instruments are not directly comparable measures of conviction.
Add the intended version in TradingView
Open Indicators, search for Bull Bear Power, and select the built-in indicator if you want the combined TradingView formula. Record its length, the chart symbol, data source, timeframe and session settings.
For a custom Pine Script, inspect whether it uses an EMA or SMA, which price feeds the average, and whether it plots two components or their sum. Two indicators with the same title can have different zero crossings. Compare several closed-bar values in the Data Window before relying on visual similarity.
Check the Pineify library variant
Pineify's indicator configuration contains two related entries:
| Library label | Calculation in the reviewed implementation | Outputs |
|---|---|---|
| BBP | High and low minus EMA of close, then summed | One BBP series |
| Bears/Bulls | High and low minus SMA of the selected source | Separate Bulls and Bears series |
The SMA version is a distinct calculation. Choosing it is not equivalent to choosing the EMA-based formula above. In Pineify, select the required output and inspect the generated calculation before combining it with another condition.
Generate the script, open TradingView's Pine Editor from the right toolbar, and check compilation and plotted values. An indicator plot alone does not create Strategy Tester results or place an order. Access to particular library features depends on the account's current entitlements.
Define a divergence before looking for an outcome
A bearish divergence hypothesis compares two explicitly selected price highs with the corresponding Bull Power or combined BBP values. A bullish version compares lows with Bear Power or combined BBP. State which series you use; swapping them after viewing the result changes the test.
If a pivot requires bars to its right, the pivot is only known after those bars arrive. Record the confirmation time, even if the label is drawn on an earlier bar. TradingView's repainting documentation explains why historical placement can misrepresent when information was available.
A useful log contains the two pivot times, their confirmation times, the prices, the oscillator values and the subsequent outcome over a fixed horizon. A divergence can persist while price continues in its original direction. No reversal frequency is established by the formula alone.
Test zero crossings and settings separately
One candidate rule is to enter after the combined BBP crosses above zero on a closed bar and exit after it crosses below zero. This is a test specification, not a recommended strategy. Define order timing, position size, stop behavior and costs before running it.
Compare the default length with a small prespecified set of alternatives. A longer EMA changes its responsiveness, but that does not guarantee fewer false trades or smaller losses. Use the same data interval and costs for all candidates, then evaluate the selected rule on an untouched interval.
For each run, retain the complete trade list, sample dates, symbol, session, chart type, number of trades, fees and slippage assumptions. TradingView's strategy documentation explains the broker emulator and order timing. A win rate without those details cannot establish the usefulness of the rule.
The previous version's NVDA trade, SPY backtest and BTC false-signal reduction had no accompanying test records. They are not used as evidence here.
What another indicator adds
An ADX trend filter changes the eligible trades; it does not independently verify that BBP predicts returns. RSI, moving averages and BBP can all depend on the same prices. Compare the base rule with and without each filter instead of assuming more confirmations necessarily help.
Do not increase position size merely because the oscillator's absolute value is large. That value can increase with price scale or volatility. Position sizing needs a defined loss budget, stop distance and contract value, independent of a subjective description of bullish strength.
Frequently asked questions
Is Bull Bear Power one line or two?
The individual Bull and Bear Power components are two values. TradingView's built-in BBP sums them into one. Custom scripts may plot either form or use another moving average.
What is the best length?
TradingView defaults to 13. That is a starting configuration, not evidence of optimal performance for a ticker or timeframe. Compare candidate settings with fixed rules and a separate evaluation period.
Does a divergence predict a reversal?
It describes a difference between selected price and oscillator swings. Whether a later reversal follows depends on the definition and sample; pivot-confirmation delay must be included in testing.
Is a positive reading a buy signal?
It is a calculation result. It becomes a strategy condition only after you define the relevant series, timing, position size and exit, then evaluate that complete rule.


