ElderRayBullPower
ElderRayBullPower in ProBuilder returns Elder Ray Bull Power, the distance between each bar's high and a moving average, measuring bullish buying pressure.
Syntax
ElderRayBullPower[period, MAtype](price)Parameters
| Name | Type | Default | Description |
|---|---|---|---|
period | integer | 13 | Lookback period of the moving average used as the value reference. |
MAtype | integer | 1 | Moving average type: 0 = simple, 1 = exponential, 2 = weighted, 3 = Wilder, 4 = triangular, 5 = end point, 6 = time series. |
price | price source | close | Series the moving average is computed on, for example close, open, high, or low. |
Formula
BullPower = high - MA[period, MAtype](price)With the defaults, Bull Power is the bar's high minus a 13-period exponential moving average of the close.
How it works
Bull Power is one half of the Elder-Ray Index developed by Dr. Alexander Elder. The moving average stands for the market's agreed value over the lookback window. The bar's high marks the furthest point buyers managed to lift price during the bar. The difference between the two measures the maximum force bulls applied above fair value on that bar.
On most bars the value is positive, because highs typically sit above the average. Expanding positive values show buyers gaining strength. Values shrinking toward zero show buyers losing the ability to lift price above its average, and a negative reading means even the bar's high stayed under the average, a bar completely controlled by sellers.
Bull Power is normally analyzed next to ElderRayBearPower, which performs the mirror calculation on the bar's low. Together with the slope of the reference EMA they form the complete Elder-Ray method: trade in the direction of the EMA, and time entries with the opposing side's fading power.
Examples
Example 1, Bull Power histogram (Indicator)
// Bull Power with a 13-period exponential average of the close
bullPower = ElderRayBullPower[13, 1](close)
RETURN bullPower AS "Bull Power", 0 AS "Zero line"The standard Bull Power pane, the bar's high minus a 13-period EMA, plotted around a zero line.
Example 2, Elder-style short setup (ProOrder)
// Sell short when the trend is down and buying pressure is failing
ema = ExponentialAverage[13](close)
bull = ElderRayBullPower[13, 1](close)
IF NOT ShortOnMarket THEN
// Falling EMA, positive Bull Power that is contracting
IF ema < ema[1] AND bull > 0 AND bull < bull[1] THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
ELSE
IF close > ema THEN
EXITSHORT AT MARKET
ENDIF
ENDIFThe classic Elder-Ray short condition: the EMA slopes down while Bull Power is positive but shrinking, showing buyers failing to sustain strength against the trend.
Example 3, Screening for strong bullish control (ProScreener)
bull = ElderRayBullPower[13, 1](close)
bear = ElderRayBearPower[13, 1](close)
// Both sides above the average, full bullish control
SCREENER[bull > 0 AND bear > 0](bull AS "Bull Power")Returns instruments where both Bull Power and Bear Power are positive, meaning the whole bar, high and low alike, traded above the 13-period EMA.
Interpretation
| Reading | Meaning |
|---|---|
| Strongly positive and rising | Buyers dominate and are strengthening. |
| Positive but falling | Buying pressure is fading, notable when the trend is down. |
| Near zero | Highs are capped around the average, balanced conditions. |
| Negative | Even the bar's high stayed below the average, sellers control the bar. |
The usual combined reading: rising EMA plus Bull Power making new highs confirms an uptrend, while a price high that Bull Power fails to confirm is a bearish divergence, buyers reached less far above value even though price printed higher. As with Bear Power, the level is in price units and should be judged by direction and shape rather than absolute size.
Common errors and gotchas
- Wrong bracket placement. Parameters go in square brackets, the price source in parentheses:
ElderRayBullPower[13, 1](close). A call likeElderRayBullPower(13, close)does not compile. - Invalid MAtype code. The second parameter selects the average type and must be an integer from 0 to 6. Any other value does not correspond to a defined moving average.
- Scale is instrument dependent. Bull Power is a price difference, not a normalized oscillator. Fixed numeric thresholds break when moved between instruments or timeframes.
- Ignoring the trend filter. Strong positive Bull Power inside a downtrend often marks a rally into resistance. The Elder-Ray method reads Bull Power against the EMA slope, not in isolation.
Related instructions
ElderRayBearPower, the companion measure built on the bar's low.ExponentialAverage, the default reference average.Average, simple moving average, MAtype 0.WeightedAverage, linearly weighted average, MAtype 2.WilderAverage, Wilder smoothing, MAtype 3.MACD, EMA-based trend and momentum measure.Momentum, raw price change over a period.High, the bar high used in the calculation.
