比爾·威廉斯 StructureBreakoutSwing Levels 在 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

示意性 — 合成資料,非即時報價。

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
顯示公式與計算詳情

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.

訊號

Fractals 提供的可回測訊號 — 及每個訊號適合的市場狀態。

Fractal Breakout

Builder 可實現
條件
Price trades through the most recent fractal high or low
最佳市場狀態
Breakouts
典型用法
Enter at a level the market itself defined

Swing Level Hold

Builder 可實現
條件
Price returns to a fractal and turns away
最佳市場狀態
Trending markets
典型用法
Join a trend at structure rather than at a fixed distance

Stop Placement

Builder 可實現
條件
Stop set just beyond the last opposite fractal
最佳市場狀態
Any
典型用法
Anchor risk to structure instead of an arbitrary pip count

Higher Highs / Lower Lows

進階邏輯
條件
A sequence of fractals ordered in one direction
最佳市場狀態
Trend confirmation
典型用法
Read market structure across several swings

MT5 實作

MetaTrader 5 實際計算與繪製的內容——本頁每條規則的依據。

緩衝區

索引 緩衝區 MT5 中的繪製方式 存放內容
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.

平台說明

最佳適用場景 / 謹慎使用

沒有任何指標具有普適優勢。以下是 Fractals 發揮作用的場景 — 以及可能誤導的場景。

最佳適用場景

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

謹慎使用

  • 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

構建 Fractals 策略

將訊號接入進場和出場規則,然後匯出可編譯的 MT5 EA — 無需撰寫程式碼。

  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

將 Fractals 與其他指標組合

單一指標很少獨立有效。這些組合彌補了 Fractals 的盲點。

Fractals + ATR

  1. Price breaks the last fractal
  2. Fast ATR above slow ATR
  3. Buy
原因
Only take a structural breakout while volatility is genuinely expanding, so a break on a dead bar never triggers the trade
最佳市場狀態
Breakout
構建此策略 →

Fractals + Alligator

  1. Lines fanned up
  2. Price breaks the last fractal high
  3. Buy
原因
Use Bill Williams' own regime tool to decide whether a break is worth taking, which is how the two were designed to be read
最佳市場狀態
Trend start

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

開啟 Builder →

Fractals + ADX

  1. ADX > 25
  2. Price breaks the last fractal high
  3. Buy
原因
Require measurable trend strength before trading a break, since fractals print constantly inside a range and every one of them looks like a level
最佳市場狀態
Trending

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

開啟 Builder →

參數

在您自己的貨幣對和時間框架上驗證的起始值 — 非保證設置。

參數 預設值 建議測試範圍 功能說明
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.

初始預設

Standard 5 bars The only configuration — iFractals has no inputs

市場示例

Fractals 有效的場景、失效的場景,以及篩選器如何改變結果。

有效

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.

失效

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.

已篩選

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

關鍵術語