Fractals find turns; this build adds a plan to each one. The pz reversals fractals indicator marks confirmed Bill Williams fractals that agree with a 50-bar exponential trend, and places a stop dot and a target dot beside each mark, measured in average ranges.
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: Buy Reversal, Sell Reversal, Stop Level, Target Level |
| Alerts | popup, push notification, email, sound |
| Inputs | 13 |
What you get on the chart
Two marks and two level dots on price.
`Buy Reversal` prints lime at width 2 with arrow 233.
`Sell Reversal` prints red at width 2 with arrow 234.
`Stop Level` dots orange with code 158.
`Target Level` dots dodger blue with code 159.
A status block lists the settings.
- Buy Reversal: arrow, lime, width 2, arrow code 233
- Sell Reversal: arrow, red, width 2, arrow code 234
- Stop Level: arrow, orange, width 1, arrow code 158
- Target Level: arrow, dodger blue, width 1, arrow code 159

How it all fits together
The fractal
`InpFractalBars` `2` bars on each side must stay beyond the turn. That is the classic Williams rule.
The trend check
With `InpUseTrendFilter` on, a buy needs the close above the `InpEmaTrendPeriod` `50` line. A sell needs it below.
Stop and target
`InpStopAtrMult` `1.5` ranges beyond the turn sets the stop dot. `InpTargetAtrMult` `3.0` ranges the other way sets the target.
Putting it to work
A lime mark sits under a confirmed low.
Orange dots show the stop distance.
Blue dots show the target distance.
The target sits twice as far as the stop.
`InpNonRepaint` `true` skips the forming bar.
Warm-up needs about fifty bars.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
A new fractal reversal is what reports. `InpEnableAlerts` is the master switch; the popup and the sound playing `InpSoundFile` ship on, while the phone and email routes stay off.
Every PZ Reversals Fractals Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpFractalBars |
Fractal half-window (Bill Williams = 2). Bars on each side of a turn, `2`. | 2 |
InpEmaTrendPeriod |
Trend filter EMA. Trend line length, `50`. | 50 |
InpUseTrendFilter |
Confirm with EMA trend. Demand the trend side, `true`. | on |
InpAtrPeriod |
ATR period. Range window, `14`. | 14 |
InpStopAtrMult |
Stop = ATR * mult. Stop distance in ranges, `1.5`. | 1.5 |
InpTargetAtrMult |
Target = ATR * mult. Target distance in ranges, `3.0`. | 3.0 |
InpNonRepaint |
Skip current bar (non-repaint). Skip the forming bar, `true`. | on |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpEnableAlerts |
Master alerts switch. Master alert switch, `true`. | on |
InpEnablePopup |
Popup alert. Popup, `true`. | on |
InpEnablePush |
Mobile push. | off |
InpEnableEmail |
Email alert. | off |
InpEnableSound |
Sound alert. Sound, ships on, `true`. | on |
InpSoundFile |
(see inputs panel) | alert.wav |

Where this one belongs
Fractals appear everywhere, so the trend check does most of the sorting. EURUSD H1 is the reference chart. On M5 the dots sit very close to price. On D1 the stop and target distances become swing-sized.
Where it falls short
A fractal is two bars old when it prints.
The stop and target are distances, not forecasts.
Trend filters lag at turning points.
The sound route ships on.
Copy the compiled PZ Reversals Fractals 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 PZ Reversals Fractals Indicator: Stop-Loss Order at Investopedia, Average True Range at StockCharts ChartSchool.
Download the PZ Reversals Fractals Indicator for MT4 and MT5
The zip holds the compiled PZ Reversals Fractals 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
How far is the Stop Level dot from the turn?
One and a half times the 14-bar average range beyond the fractal low or high. It widens in fast markets and tightens in quiet ones, so the distance always matches current conditions.
Why is InpTargetAtrMult 3.0 double the stop?
It gives each mark a two-to-one distance ratio by default. Both are plain multiples of the average range, so you can set any ratio you prefer in the inputs.
What changes with InpUseTrendFilter off?
Every confirmed fractal earns a mark, including turns against the 50-bar trend. That shows far more reversals on the chart, and many of them will be counter-trend.
When does a Buy Reversal appear?
Two bars after a fractal low, once both bars on its right have closed with higher lows, and only if the close sits above the 50-bar trend line.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the PZ Reversals Fractals 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
- For background on this concept, see ifractals (FRACTALS) at the MQL5 Documentation.
- For broader market context, see Hersh Shefrin on Wikipedia.
