The absolute strength histogram indicator keeps the two sides of a move apart until the last step. Over `StrengthPeriod` bars it sums every up close into one figure. Every down close feeds another. Both get smoothed. Only then does the code subtract.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Separate window (levels 0) |
| Plots | 2: Net strength up, Net strength down |
| Alerts | popup, push notification, email, sound |
| Inputs | 15 |
What the Absolute Strength Histogram Indicator draws on the chart
Net strength up is the histogram above zero, in `UpColor`.
Net strength down is the histogram below it, in `DownColor`.
A reference line marks zero between them.
An OBJ_LABEL note repeats the current settings when `ShowNote` is on.
- Net strength up: histogram, width 3
- Net strength down: histogram, width 3

How the Absolute Strength Histogram Indicator calculates its values
Two running sums
Over `StrengthPeriod` `10` bars the code adds every positive close-to-close change into rawBull. Every negative change contributes its absolute size to rawBear. Neither figure knows about the other at this stage.
Smoothing before subtracting
Both raw series then run through a smoothing at `Smooth` `5`. A plain mean seeds each one at the warmup boundary. Smoothing the two sides apart gives a cleaner result than smoothing the difference would.
Making it readable
net takes the smoothed bull figure minus the smoothed bear one. `DisplayScale` `1000.0` then multiplies it. Raw close-to-close sums on a five-digit pair are tiny, so the scale is what makes the pane legible.
How to read the signals
Above zero the up moves in the window outweighed the down moves.
Bar height reports the size of that imbalance, not its direction of change.
A crossing of zero means the balance tipped over ten bars.
`DisplayScale` is cosmetic, so a tall bar is not automatically a large move.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
`EnableAlerts` arrives switched on and `EnablePopup` does the talking. `EnablePushNotify`, `EnableEmail` and `EnableSound` all begin false. `SoundFile` picks the clip. The zero cross test reads closed bars, one message per bar.
Every Absolute Strength Histogram Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
StrengthPeriod |
Rolling window for the up/down sums. Bars in the two running sums, default `10`. | 10 |
Smooth |
EMA smoothing period (SMA seeded). Smoothing length applied to each side, default `5`. | 5 |
Display settings
| Setting | What it does | Default |
|---|---|---|
DisplayScale |
Readability scale for the subwindow. Readability multiplier for the pane, default `1000.0`. | 1000.0 |
UpColor |
Net positive histogram colour. Positive histogram colour, default medium sea green. | medium sea green |
DownColor |
Net negative histogram colour. Negative histogram colour, default tomato. | tomato |
Alert settings
| Setting | What it does | Default |
|---|---|---|
MaxBars |
History bars to scan (0 = all). History bars scanned, default `2000`. | 2000 |
ShowNote |
Show the settings note. Draws the settings note, default `true`. | on |
NoteX |
Note X (px). | 12 |
NoteY |
Note Y (px). | 16 |
EnableAlerts |
Master alert switch. Master switch for the zero cross alerts, default `true`. | on |
EnablePopup |
Popup alert. Terminal dialog on a zero cross, default `true`. | on |
EnablePushNotify |
Push notification to phone. Phone push on a zero cross, default `false`. | off |
EnableEmail |
Email alert. Mail delivery on a zero cross, default `false`. | off |
EnableSound |
Sound alert. Sound playback on a zero cross, default `false`. | off |
SoundFile |
Sound file. Wav clip for the strength alert, default `alert.wav`. | alert.wav |

Settings that fit your chart
A ten-bar imbalance reads as a short-term measure. EURUSD H1 is the reference chart, where the window covers under half a day. On M5 the pane crosses zero several times a session. On H4 one colour block often covers a real multi-day leg.
When the Absolute Strength Histogram Indicator fails
Ten bars is a short window, so the reading swings hard.
`DisplayScale` `1000.0` makes small imbalances look dramatic on the pane.
Summing close-to-close changes ignores where each bar traded during its life.
Copy the compiled Absolute Strength Histogram Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Download the Absolute Strength Histogram Indicator for MT4 and MT5
The zip holds the compiled Absolute Strength Histogram Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
Why smooth before subtracting?
Because smoothing each side apart keeps more information. Subtracting first would collapse the two figures into one noisy series. Smoothing that afterwards blurs a lot of it. `Smooth` `5` runs on both raw sums.
What does DisplayScale at 1000.0 do?
Nothing to the calculation, everything to the view. Close-to-close sums on a five-digit pair sit in the fourth decimal place, so an unscaled pane would look flat. Lower it on gold or an index, where prices already run large.
How much history does StrengthPeriod sum?
Ten bars for each of the two sums. On EURUSD H1 that is under half a day. Lengthen it for a steadier reading that turns less often. The cost is a slower reaction to any change in balance.
When does the Net strength up plot hand over?
The moment net drops below zero. Both buffers receive the same figure, and only the sign decides which one draws. The inactive buffer holds EMPTY_VALUE, so exactly one bar appears per index.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Absolute Strength Histogram Indicator as one input. Always backtest before trading live.
Authoritative references
- Learn more about technical indicators.
