Support and resistance change as new swings form. The support resistance arrow indicator steps a resistance line up or down to each confirmed swing high, does the same for support at swing lows, and marks the bar that closes through a level by a small range buffer.
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 | 4: S/R Buy Break, S/R Sell Break, Resistance, Support |
| Alerts | popup, push notification, email, sound |
| Inputs | 13 |
What shows up when you attach it
Two stepped lines, two marks and two rays.
`Resistance` steps in tomato along swing highs.
`Support` steps in dodger blue along swing lows.
`S/R Buy Break` prints lime with arrow 233.
`S/R Sell Break` prints red with arrow 234.
`ShowHLines` rays the latest two levels.
- S/R Buy Break: arrow, lime, width 2, arrow code 233
- S/R Sell Break: arrow, red, width 2, arrow code 234
- Resistance: line, tomato
- Support: line, dodger blue

From price to plot
The swings
`FractalN` `3` bars on each side must stay below a high for it to count. The resistance line then steps to that price.
The buffer
`BreakBufferATR` `0.05` of a 14-bar range must be cleared. That stops a close one pip through the level from counting.
The break
A close above resistance plus the buffer, after a close below it, prints a buy. `CooldownBars` `5` spaces same-side marks.
How to follow along
The tomato line is the latest swing high.
The blue line is the latest swing low.
Lines step when a new swing confirms.
A lime mark is a close through resistance.
A red mark is a close through support.
The forming bar never gets a mark.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
A break of the latest level sends a single message. `EnableAlerts` covers it, and the popup is the one route working by default.
Every Support Resistance Arrow Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
FractalN |
Swing strength (bars each side). Swing strength in bars per side, `3`. | 3 |
ATRPeriod |
ATR period (arrow offset + break filter). Range window, `14`. | 14 |
BreakBufferATR |
Extra break distance beyond level (x ATR). Break margin in ranges, `0.05`. | 0.05 |
CooldownBars |
Min bars between same-side arrows. Wait before another same-side mark, `5`. | 5 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetATR |
Arrow gap from candle (x ATR). Mark gap in ranges, `0.6`. | 0.6 |
ShowLevelLines |
Draw stepped support/resistance lines. Draw the stepped lines, `true`. | on |
ShowHLines |
Draw latest S/R horizontal lines. Ray the latest levels, `true`. | on |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Switch for break messages, `true`. | on |
EnablePopup |
Popup, `true`. | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
Speaker, `false`. | off |
SoundFile |
(see inputs panel) | alert.wav |

Choosing a market
Three-bar swings give a level every few hours on hourly charts. EURUSD H1 is the reference chart. On M15 lines step constantly. On D1 each break is a structural change.
The downsides
A small buffer lets marginal breaks through.
Many breaks fall back behind the level.
Levels only reflect the latest swing.
Other routes wait behind the popup.
Copy the compiled Support Resistance Arrow 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: Support and Resistance Strategy.
Download the Support Resistance Arrow Indicator for MT4 and MT5
The zip holds the compiled Support Resistance Arrow 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 BreakBufferATR 0.05 prevent?
Breaks by a hair. The close must clear the level by five percent of the 14-bar range, so a close a fraction of a pip through it does not count.
When does the Resistance line step?
When a new swing high confirms, three bars after it forms. The line then jumps to that high and stays flat until the next one.
Why can S/R Buy Break not repeat right away?
`CooldownBars` blocks a second buy for five bars. Price chopping around the level after a break then produces one mark instead of several, which keeps the chart readable.
What do the ShowHLines rays add?
Horizontal rays at the current support and resistance, extended across the whole chart. They make the live levels easy to read at the right edge, where the stepped lines end.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Support Resistance Arrow 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 Three black crows on Wikipedia.
- For wider market background, see Liquidity at Investopedia.
