The three-bar reversal is one of the simplest turns to define. A down bar, a middle bar that prints a new low, then an up bar that closes above the middle bar’s high. The three bar reversal pattern indicator tests exactly that, and it can also ask whether the move came from below a fifty-bar average.
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: Bullish 3-Bar Reversal, Bearish 3-Bar Reversal |
| Alerts | popup, push notification, email, sound |
| Inputs | 13 |
What each plot looks like
Two marks, drawn on price.
`Bullish 3-Bar Reversal` prints lime with arrow 233.
`Bearish 3-Bar Reversal` prints red with arrow 234.
Each mark sits on the third bar.
`ArrowOffsetAtr` `0.60` sets the gap by range.
A status line reports the settings.
- Bullish 3-Bar Reversal: arrow, lime, width 2, arrow code 233
- Bearish 3-Bar Reversal: arrow, red, width 2, arrow code 234

How each value gets built
The middle bar
With `RequirePivotExtreme` on, the middle bar must print a lower low than the first. That makes it the turn point of the pattern.
The colours
With `StrictCandleColor` on, the first bar must close down and the third must close up for a bullish pattern.
The trigger
The third bar must close above the middle bar’s high. `RequireTrendContext` ships `false`; switched on, the first bar must also sit under the `EmaPeriod` `50` line.
Making it useful
A lime mark means the low bar was fully reclaimed.
The bearish pattern mirrors it at a high.
Marks confirm on the third bar’s close.
Turning on the trend check thins the marks.
`AtrPeriod` `14` scales the mark gap.
Warm-up needs about fifty-four bars.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
A completed pattern is what reports, once per closed bar. `EnableAlerts` is the master switch and a terminal popup shows it; push, email and the speaker route behind `SoundFile` start off.
Every Three Bar Reversal Pattern Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
AtrPeriod |
ATR period (arrow offset + sizing). Range window for the gap, `14`. | 14 |
EmaPeriod |
EMA period (trend context filter). Trend line for the optional check, `50`. | 50 |
MinBodyRatio |
confirm-bar min body/range ratio. Body share for the confirming bar, `0.40`. | 0.40 |
RequirePivotExtreme |
middle bar must print a new swing extreme. Middle bar must make a new extreme, `true`. | on |
RequireTrendContext |
demand prior bar on the correct EMA side. Demand the right side of the trend line, `false`. | off |
Display settings
| Setting | What it does | Default |
|---|---|---|
StrictCandleColor |
confirm/first bars must have matching colour. First and third bars must oppose, `true`. | on |
ArrowOffsetAtr |
arrow offset in ATR units. Mark gap as a range share, `0.60`. | 0.60 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master switch for pattern news, `true`. | on |
EnablePopup |
Terminal popup, `true`. | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
(see inputs panel) | off |
SoundFile |
Clip for the speaker route, `”alert.wav”`. | alert.wav |

Where this one belongs
Three-bar reversals appear often on active charts. EURUSD H1 is the reference chart, with a handful a day. On M5 they come constantly and mean little. On D1 the pattern is a classic swing-trading setup.
Where it lets you down
The pattern is common, so many marks fail.
Reclaiming one bar’s high is a small move.
The trend check ships off.
Nothing checks where on the chart the pattern forms.
Copy the compiled Three Bar Reversal Pattern 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 Three Bar Reversal Pattern Indicator: Price Action at Investopedia, Candlestick pattern on Wikipedia.
Download the Three Bar Reversal Pattern Indicator for MT4 and MT5
The zip holds the compiled Three Bar Reversal Pattern 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 must happen for a Bullish 3-Bar Reversal?
A down first bar, a middle bar with a lower low, and a third bar that closes up and above the middle bar’s high. All three on consecutive closed bars.
What does RequireTrendContext add when on?
It asks the first bar to sit below the 50-bar exponential line for a bullish pattern, so the turn comes after weakness rather than in the middle of strength.
What happens with StrictCandleColor off?
The colour test is dropped, so the first and third bars can be any colour as long as the new low and the close above the middle high still happen.
Why is RequirePivotExtreme on by default?
Without it the middle bar need not make a new low, and the pattern loses its turning point. Keeping it on makes the middle bar the actual low of the move.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Three Bar Reversal Pattern Indicator as one input. Always backtest before trading live.
Category: this is part of our Candle Sticks collection. Browse more Candle Sticks for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- The core method is documented in Three black crows on Wikipedia.
- Additional market context is at Raff Regression Channel at StockCharts ChartSchool.
