A level that shows up on three charts is stronger than one that shows up on one. The multi time frame support and resistance indicator scans swings on H1, H4 and D1, merges the ones that sit close together into zones, and keeps only zones touched more than once. It then marks candles that reject a zone.
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 | 2: MTF S/R BUY, MTF S/R SELL |
| Alerts | popup, push notification, email, sound |
| Inputs | 18 |
What gets drawn, and where
Zone lines plus two marks on price.
`InpSupportColor` `clrDodgerBlue` draws support.
`InpResistColor` `clrOrangeRed` draws resistance.
`MTF S/R BUY` prints lime with arrow 233.
`MTF S/R SELL` prints red with arrow 234.
`InpLineWidth` `2` sets the line weight.
- MTF S/R BUY: arrow, lime, width 2, arrow code 233
- MTF S/R SELL: arrow, red, width 2, arrow code 234

What the file computes
Three charts
`InpUseH1`, `InpUseH4` and `InpUseD1` each switch a timeframe on. `InpLookback` `200` bars per chart are scanned for swings.
Merging into zones
`InpFractalWidth` `2` defines a swing. Swings within `InpZoneTolATR` `0.50` of a range join one zone, and a zone needs `InpMinTouches` `2` to count.
The rejection
A candle that closes back away from a zone, with its body clear of it, earns the mark. `InpMaxZones` `8` caps the zones drawn.
What the plots are telling you
Blue lines sit under price, orange red above it.
More touches mean a more established zone.
A mark means a candle rejected a zone.
Zones from D1 carry into your H1 chart.
`InpATRPeriod` `14` sets the zone tolerance.
Busy zones can print clusters of marks.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
A rejection candle at a zone is what reports, naming it a support or resistance rejection. `InpEnableAlerts` is the master switch; the popup, the phone route and the sound playing `InpSoundFile` ship on, while email starts off.
Every Multi Time Frame Support And Resistance Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpLookback |
Lookback bars per timeframe. Bars scanned per timeframe, `200`. | 200 |
InpMinTouches |
Min touches per zone. Swings a zone needs, `2`. | 2 |
InpZoneTolATR |
Zone tolerance (ATR fraction). Merge distance as a range share, `0.50`. | 0.50 |
InpATRPeriod |
ATR period. Range window, `14`. | 14 |
InpMaxZones |
Max zones plotted. Zones drawn at most, `8`. | 8 |
InpUseH1 |
Use H1. Include hourly swings, `true`. | on |
InpUseH4 |
Use H4. Include four-hour swings, `true`. | on |
InpUseD1 |
Use D1. Include daily swings, `true`. | on |
Display settings
| Setting | What it does | Default |
|---|---|---|
InpFractalWidth |
Fractal half-width. Bars either side of a swing, `2`. | 2 |
InpSupportColor |
(see inputs panel) | dodger blue |
InpResistColor |
(see inputs panel) | orange red |
InpLineWidth |
(see inputs panel) | 2 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpEnableAlerts |
(see inputs panel) | on |
InpEnablePopup |
(see inputs panel) | on |
InpEnablePushNotify |
Phone route, ships on, `true`. | on |
InpEnableEmail |
(see inputs panel) | off |
InpEnableSound |
(see inputs panel) | on |
InpSoundFile |
(see inputs panel) | alert.wav |

Matching chart to settings
Three timeframes feed zones into whatever chart you open. EURUSD H1 is the reference chart, where D1 zones set the big levels. On M15 the zones act as a map for intraday trading. On D1 the H1 swings add fine detail.
What to watch out for
Several touches do not stop a zone breaking.
Rejection marks cluster in busy zones.
Merged zones can blur two nearby levels into one.
Phone and sound routes ship on.
Copy the compiled Multi Time Frame Support And Resistance 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.
Related on forexmt4systems.com: Multi-Timeframe Strategy.
Download the Multi Time Frame Support And Resistance Indicator for MT4 and MT5
The zip holds the compiled Multi Time Frame Support And Resistance 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
Which charts feed the MTF S/R BUY zones?
H1, H4 and D1 by default, each switched by its own input. Swings from all three are merged, so a daily level appears on your hourly chart.
What does InpZoneTolATR 0.50 merge?
Swings within half of the 14-bar average range of each other. They become one zone, which is why nearby highs from different charts collapse into a single line.
Why does InpMinTouches 2 matter?
A single swing is just a turn. Requiring two means price has reacted at the level more than once, which is what makes it worth drawing.
Can InpUseD1 run on its own without the other two?
Yes. Switch `InpUseH1` and `InpUseH4` off and only daily swings build zones. You get fewer, heavier levels, which suits swing traders who want the big picture on a lower chart.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Multi Time Frame Support And Resistance Indicator as one input. Always backtest before trading live.
Category: this is part of our Support and Resistance collection. Browse more Support and Resistance for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- Learn more about the underlying method in Quality investing on Wikipedia.
- For wider market background, see Chandelier Exit at StockCharts ChartSchool.
