The adr bar indicator answers a question worth asking before a trade. How much of a normal day has this instrument already travelled? It averages twenty daily ranges. Today then gets measured against that figure.
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 | Main price chart |
| Plots | 1: ADR Bar (object based) |
| Alerts | popup, push notification, email, sound |
| Inputs | 28 |
What the ADR Bar Indicator draws on the chart
Levels and a panel, no plot lines.
Segments mark the average range from the day open and from both extremes.
A dim gray line marks today’s open.
The `ADR Bar (object based)` buffer draws nothing.
- ADR Bar (object based): hidden buffer

How the ADR Bar Indicator calculates its values
Twenty days
That is the whole input. `AdrDays` `20` daily bars each give their high minus low. Averaging those produces the figure everything gets measured against.
Three placements
Each answers a different question. `ShowEnvelope` hangs half the average either side of the day open. `ShowFromExtremes` measures a full average up from today’s low and down from its high.
Consumption
This is the headline number. Today’s range divided by the average gives a percentage. `HighConsumedPct` `80.0` is where the panel marks it.
How to read the signals
A low figure early in the day says room remains.
A high one says the easy part has gone.
The from-extremes pair suits a trending day.
`LevelForwardBars` `10` sets how far right each segment goes.
The day open line tells you which half of the range you sit in.
Levels rebuild at the start of each new session.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
`EnableAlerts` is the master switch and starts true with `EnablePopup`. Set `EnablePushNotify` for a phone, `EnableEmail` for mail, or `EnableSound` to sound `SoundFile`. Those three sit off.
Every ADR Bar Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
AdrDays |
Completed daily bars averaged into the ADR. Daily bars in the average, `20`. | 20 |
LevelForwardBars |
Level segment end (bars right of price). Bars each segment runs, `10`. | 10 |
HighConsumedPct |
Consumption above this is highlighted. Where the panel marks it, `80.0`. | 80.0 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ShowEnvelope |
Draw dayOpen +/- ADR/2. Half the average each side of the open, `true`. | on |
ShowFromExtremes |
Draw dayLow + ADR and dayHigh – ADR. A full average from low and high, `true`. | on |
ShowDayOpen |
Draw today’s daily open. Draw the day open, `true`. | on |
LevelWidth |
Level line width. | 2 |
ShowLevelText |
Label each level on the chart. Label each level, `true`. | on |
AdrHighColor |
ADR High color. | orange red |
AdrLowColor |
ADR Low color. | dodger blue |
AdrFromLowColor |
“ADR from day low” color. | gold |
AdrFromHighColor |
“ADR from day high” color. | medium orchid |
DayOpenColor |
Daily open color. | dim gray |
ShowPanel |
Show the ADR panel. Show the readout, `true`. | on |
PanelX |
Panel X (px). | 12 |
PanelY |
Panel Y (px). | 20 |
PanelFontSize |
Panel font size. | 9 |
PanelTitleColor |
Panel title color. | gold |
PanelTextColor |
Panel text color. | gainsboro |
PanelWarnColor |
Panel highlight color. | orange red |
ShowPanelBack |
Draw a panel background. | on |
PanelBackColor |
Panel background color. | RGB 18,22,30 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master alert switch. Master switch, `true`. | on |
EnablePopup |
Popup alert. Message in the terminal, `true`. | on |
EnablePushNotify |
Push notification to phone. | off |
EnableEmail |
Email alert. | off |
EnableSound |
Sound alert. | off |
SoundFile |
Sound file. | alert.wav |

Settings that fit your chart
A daily range figure is most useful intraday. EURUSD H1 is the reference chart. The levels sit within reach through the session there. On M5 they look distant. On daily bars the idea collapses.
When the ADR Bar Indicator fails
A twenty-day average says nothing about today.
News days can use the whole average before lunch.
A reading past a hundred percent is common.
A holiday session can leave every level untouched.
Copy the compiled ADR Bar 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 ADR Bar Indicator for MT4 and MT5
The zip holds the compiled ADR Bar 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
What does AdrDays 20 average?
The high minus low of the last twenty completed daily bars. Twenty sessions is about a trading month. That is recent enough to track conditions and long enough to absorb one odd day.
How does ShowFromExtremes differ from ShowEnvelope?
The envelope hangs half the average each side of the open, which assumes a balanced day. From-extremes measures a full average up from the low and down from the high, which suits a day already trending.
What does HighConsumedPct 80.0 highlight?
The point where today has used four fifths of a normal day of travel. Past that the panel marks the figure, because more travel needs more than a normal day.
Can HighConsumedPct go above 100 percent?
Yes, and it happens often. The average is a typical day, not a limit. A reading of a hundred and fifty simply says today has gone half again as far as normal.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the ADR Bar Indicator as one input. Always backtest before trading live.
Authoritative references
- Learn more about technical indicators.
