Seventy and thirty are conventions, not measurements. The dynamic zone rsi indicator drops them and asks a different question: across the last two hundred bars, what counts as a high reading for this market? That answer becomes the upper zone, and the lower zone mirrors it.
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 50) |
| Plots | 5: RSI, DynUpper, DynLower, BuyArrow, SellArrow |
| Alerts | popup |
| Inputs | 5 |
What appears on the chart
Three lines and two marks, in a pane.
`RSI` traces dodger blue at width 2.
`DynUpper` traces tomato above it.
`DynLower` traces lime green below.
A fixed reference stays at fifty.
`BuyArrow` and `SellArrow` land on the price chart.
- RSI: line, dodger blue, width 2
- DynUpper: line, tomato, width 1
- DynLower: line, lime green, width 1
- BuyArrow: arrow, lime, width 2, arrow code 233
- SellArrow: arrow, red, width 2, arrow code 234

The arithmetic
The reading first
iRSI supplies it. `InpRSIPeriod` `14` on the close, entirely standard. Nothing about the reading itself is changed by this build.
Zones from percentiles
Here is the difference. The last `InpZoneLookback` `200` readings get sorted, and `InpUpperPct` `95.0` picks the value only one bar in twenty exceeded. `InpLowerPct` `5.0` does the mirror.
Why the zones move
Because the sample moves. A calm market compresses both zones toward fifty; a trending one drags them apart. The bands describe this market rather than a textbook.
How to judge the output
The zones are always where the top and bottom five percent sat.
So a touch is rare by construction, not by luck.
Narrow zones say the reading has been range-bound.
Wide zones say it has been swinging hard.
Fifty stays fixed as the only conventional line.
Warm-up needs the window plus the period.
Alert channels in this build: popup, one message per closed bar.
A touch of either moving zone is what gets reported, and `InpAlertsOn` is the single switch over it. Messages reach the terminal on a closed bar. This build carries no route to a phone, to mail or to a sound file.
Every Dynamic Zone RSI Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpRSIPeriod |
RSI period. Bars the reading itself covers, `14`. | 14 |
InpZoneLookback |
Lookback bars for dynamic zones. Past readings the percentiles sample, `200`. | 200 |
InpUpperPct |
Upper percentile (0-100). Percentile the upper zone sits at, `95.0`. | 95.0 |
InpLowerPct |
Lower percentile (0-100). Percentile the lower zone sits at, `5.0`. | 5.0 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpAlertsOn |
Enable alerts. Whether a zone touch raises a message, `true`. | on |

Where the settings fit
Two hundred readings is a wide sample, so the zones move slowly. EURUSD H1 is the reference chart, covering about eight days. Drop to M5 and the window is under a day. Move to daily bars and it samples most of a year.
Limits worth knowing
A percentile of the past says nothing about the next bar.
In a strong trend the upper zone drifts up with the reading.
Warm-up needs over two hundred bars before anything draws.
Sorting two hundred values on every bar costs real work.
Copy the compiled Dynamic Zone RSI 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.
Background reading on the method behind the Dynamic Zone RSI Indicator: Relative strength index on Wikipedia, Relative Strength Index at BabyPips.
Download the Dynamic Zone RSI Indicator for MT4 and MT5
The zip holds the compiled Dynamic Zone RSI 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 InpUpperPct 95.0 actually pick?
The value that only one reading in twenty exceeded over the lookback window. It is measured rather than chosen, so on a quiet market it can sit near sixty and on a trending one well above eighty.
Why do DynUpper and DynLower replace fixed lines?
Because seventy and thirty suit some markets and not others. A reading that never reaches seventy makes a fixed line useless, while a percentile zone always marks what has genuinely been unusual for this market.
How many bars before InpZoneLookback can draw?
Over two hundred. The percentile needs a full window of readings before it can sort them, and the reading itself needs its own period first, so the left edge of a fresh chart stays blank for a while.
Does InpZoneLookback 200 slow the chart down?
It can on a slow machine. Two hundred values get collected and sorted for every bar drawn, which is far more work than comparing against a fixed number, though in practice it is rarely noticeable on H1.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Dynamic Zone RSI Indicator as one input. Always backtest before trading live.
Category: this is part of our Oscillators collection. Also, truly, browse more Oscillators for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Floating exchange rate on Wikipedia.
- For broader market context, see Dow Jones Global Indices at StockCharts ChartSchool.
