Bill Williams StructureBreakoutSwing Levels Disponible dans Builder

Fractals

Fractals mark confirmed swing highs and lows — a bar whose extreme is more extreme than the two bars on each side. They are the only common MT5 indicator that publishes nothing most of the time, which changes how an EA has to read them.

Pattern
5 bars
Confirmation lag
2 bars
Inputs
None
OverboughtOversoldCentreline 50Divergence

Illustratif — données synthétiques, pas une cotation en direct.

What Fractals tell you

A fractal is a definition, not a forecast: the middle bar of five had the highest high, or the lowest low. Once two bars have closed on the right-hand side the pattern is fixed and cannot change. That is what makes fractals useful as structure — and what makes them permanently late by exactly two bars.

  • An upper fractal is a confirmed swing high, not a sell signal
  • The level is fixed forever once printed
  • The confirmation always arrives two bars after the extreme itself
  1. 1 Take five consecutive bars
  2. 2 Check whether the middle one holds the extreme
  3. 3 Mark the level once the right side closes
Afficher la formule et les détails de calcul

A fractal is a five-bar pattern with a strict definition and no parameters:

  1. Take five consecutive bars.
  2. An upper fractal exists when the middle bar’s high is higher than the highs of the two bars before it and the two bars after it. The value published on UPPER_LINE (buffer 0) is that high.
  3. A lower fractal exists when the middle bar’s low is lower than the lows of the two bars on each side. The value goes on LOWER_LINE (buffer 1).
  4. On every other bar both buffers hold the indicator’s empty value, and MT5 draws nothing.

The two-bar right side is what makes a fractal confirmed rather than provisional: once those bars have closed, the pattern is settled permanently and the level never moves. It is also why the information always arrives two bars after the extreme it describes — the price at the fractal is history by the time the fractal exists.

That emptiness is the practical difference from every other indicator in this catalogue. RSI has a value on every bar; a fractal does not. Any rule that reads the buffer has to search backwards for the most recent real value, and a rule written as though index 0 always holds a number will compare against nothing at all without raising an error.

In MQL5 the call is iFractals(symbol, period) — no periods, no applied price, no options — and it returns a handle to two buffers. Bill Williams introduced fractals alongside the Alligator and the Awesome Oscillator as the structural element of his system.

Signaux

Les signaux distincts et testables que génère Fractals — et le régime adapté à chacun.

Fractal Breakout

Prêt dans Builder
Condition
Price trades through the most recent fractal high or low
Meilleur régime
Breakouts
Utilisation typique
Enter at a level the market itself defined

Swing Level Hold

Prêt dans Builder
Condition
Price returns to a fractal and turns away
Meilleur régime
Trending markets
Utilisation typique
Join a trend at structure rather than at a fixed distance

Stop Placement

Prêt dans Builder
Condition
Stop set just beyond the last opposite fractal
Meilleur régime
Any
Utilisation typique
Anchor risk to structure instead of an arbitrary pip count

Higher Highs / Lower Lows

Logique avancée
Condition
A sequence of fractals ordered in one direction
Meilleur régime
Trend confirmation
Utilisation typique
Read market structure across several swings

Implémentation MT5

Ce que MetaTrader 5 calcule et trace réellement — la référence de chaque règle de cette page.

Buffers

Index Buffer Tracé dans MT5 comme Ce qu'il contient
0 UPPER_LINE Arrow above the bar The high of a confirmed swing high. Empty on every bar that is not one — which is the large majority.
1 LOWER_LINE Arrow below the bar The low of a confirmed swing low. Also empty on most bars.

Notes de plateforme

Fonctionne mieux / utiliser avec prudence

Aucun indicateur n'est un avantage universel. Voici où Fractals aide — et où il induit en erreur.

Fonctionne mieux

  • Defining breakout levels
  • Anchoring stops to structure
  • Higher timeframes
  • With a volatility or trend filter

Utiliser avec prudence

  • Treating a fractal as a reversal signal
  • Low timeframes where every wiggle prints one
  • Ignoring the two-bar confirmation lag
  • Reading structure without a rule for which fractal counts

Créer une stratégie Fractals

Connectez le signal aux règles d'entrée et de sortie, puis exportez un EA MT5 compilable — sans code.

  1. Upper fractal (last 50 bars)
  2. Lower fractal (last 50 bars)
  3. Fast ATR above slow ATR
  4. Price breaks the upper fractal → Open Buy · SL 50 / TP 100
  5. Price breaks the lower fractal → Open Sell

Combiner Fractals avec d'autres indicateurs

Un indicateur fonctionne rarement seul. Ces associations couvrent les angles morts de Fractals.

Fractals + ATR

  1. Price breaks the last fractal
  2. Fast ATR above slow ATR
  3. Buy
Pourquoi
Only take a structural breakout while volatility is genuinely expanding, so a break on a dead bar never triggers the trade
Meilleur régime
Breakout
Créer cette stratégie →

Fractals + Alligator

  1. Lines fanned up
  2. Price breaks the last fractal high
  3. Buy
Pourquoi
Use Bill Williams' own regime tool to decide whether a break is worth taking, which is how the two were designed to be read
Meilleur régime
Trend start

No single-flow template pairs Fractals with the Alligator. Start from Fractal Breakout and add Alligator nodes with a Cross.

Ouvrir Builder →

Fractals + ADX

  1. ADX > 25
  2. Price breaks the last fractal high
  3. Buy
Pourquoi
Require measurable trend strength before trading a break, since fractals print constantly inside a range and every one of them looks like a level
Meilleur régime
Trending

No single-flow template pairs Fractals with ADX. Start from Fractal Breakout and add an ADX node with a Compare at 25.

Ouvrir Builder →

Paramètres

Valeurs de départ à valider sur votre propre paire et timeframe — pas des réglages garantis.

Paramètre Défaut Plage de test suggérée Ce que ça fait
Pattern length 5 bars Fixed in the indicator. iFractals takes no arguments at all — the five-bar definition cannot be changed without writing a custom indicator.
Line Upper / Lower Which buffer a rule reads. A buffer selector, not a numeric setting.
Search bars 50 20–200 Not an indicator input — the Builder node's own window for scanning back to the most recent non-empty fractal. Too short and the node finds nothing on quiet stretches.

Préréglages de départ

Standard 5 bars The only configuration — iFractals has no inputs

Exemples de marché

Où Fractals fonctionne, où il échoue et comment un filtre change le résultat.

Fonctionne

Break of a real level

Price consolidates, prints a clear fractal high, and then trades decisively through it with volatility expanding — the case the template trades.

Échoue

Fractals inside the chop

In a tight range a fractal prints every few bars and price crosses each one immediately. Every level looks structural and none of them is.

Filtré

Volatility filter suppresses the break

The same fractal is crossed while ATR sits at a local low, the trade is skipped, and price drifts back inside the range.

FAQ

Is a fractal a buy or sell signal?
Neither on its own. A fractal is a definition — the middle bar of five held the extreme — so it marks a level, not a direction. What you do with the level is the strategy: break through it, fade it, or put a stop behind it. Treating the arrow itself as an entry is the most common misreading.
Why is the fractal always two bars behind?
Because the pattern needs two bars on each side of the middle one, so it cannot be confirmed until the right-hand side has closed. That lag is structural and cannot be removed. It also makes fractals a common source of accidental look-ahead in backtests — a test that reads the value at the extreme's own bar is using information that did not exist yet.
Can I change the number of bars in a fractal?
Not through iFractals, which takes no arguments at all. Variants that use seven or nine bars exist as custom indicators. The upside of the fixed definition is that there is nothing here to overfit, and a fractal on your chart is the same object as a fractal on everyone else's.
Why does my fractal rule read an empty value?
Because most bars have no fractal, and both buffers are empty on those bars. Unlike every other indicator here, reading index 0 usually returns the empty value rather than a number. A rule has to scan backwards to the most recent printed value — the Builder's Fractals node does this with its search-bars window.
Can I build a Fractals EA without coding?
Yes for breakouts and structure-anchored stops. The Fractal Breakout template scans back for the most recent upper and lower fractal and compares price against them, gated on expanding volatility. Reading a sequence of fractals as market structure — higher highs, lower lows — needs to hold several past levels and requires custom MQL5.
How should I validate settings before going live?
Backtest on quality tick data first, then run the EA on a demo account before risking money. With fractals specifically, check that the test respects the two-bar confirmation lag — results that look unusually clean are often reading a level before it existed. When optimising anything around the signal, hold back data the search never saw.

Glossary

Termes clés