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
Minh họa — dữ liệu tổng hợp, không phải giá thực.
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 Take five consecutive bars
- 2 Check whether the middle one holds the extreme
- 3 Mark the level once the right side closes
Hiển thị công thức & chi tiết tính toán
A fractal is a five-bar pattern with a strict definition and no parameters:
- Take five consecutive bars.
- 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. - 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). - 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.
Tín hiệu
Các tín hiệu có thể backtest của Fractals — và điều kiện thị trường phù hợp với từng tín hiệu.
Swing Level Hold
Sẵn sàng trong BuilderStop Placement
Sẵn sàng trong BuilderHigher Highs / Lower Lows
Logic nâng caoTriển khai trong MT5
Những gì MetaTrader 5 thực sự tính và vẽ — cơ sở tham chiếu cho mọi quy tắc trên trang này.
Bộ đệm
| Chỉ số | Bộ đệm | MT5 vẽ dưới dạng | Chứa gì |
|---|---|---|---|
| 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. |
Ghi chú nền tảng
Hoạt động tốt nhất / sử dụng cẩn thận
Không có chỉ báo nào có lợi thế toàn diện. Đây là nơi Fractals hỗ trợ — và nơi nó gây hiểu lầm.
Hoạt động tốt nhất
- Defining breakout levels
- Anchoring stops to structure
- Higher timeframes
- With a volatility or trend filter
Sử dụng cẩn thận
- 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
Xây dựng chiến lược Fractals
Kết nối tín hiệu vào quy tắc vào lệnh và thoát lệnh, sau đó xuất EA MT5 có thể biên dịch — không cần code.
- Upper fractal (last 50 bars)
- Lower fractal (last 50 bars)
- Fast ATR above slow ATR
- Price breaks the upper fractal → Open Buy · SL 50 / TP 100
- Price breaks the lower fractal → Open Sell
Kết hợp Fractals với các chỉ báo khác
Một chỉ báo hiếm khi đứng một mình. Các cặp kết hợp này bù đắp điểm mù của Fractals.
Fractals + ATR
- Price breaks the last fractal
- Fast ATR above slow ATR
- Buy
Fractals + Alligator
- Lines fanned up
- Price breaks the last fractal high
- Buy
No single-flow template pairs Fractals with the Alligator. Start from Fractal Breakout and add Alligator nodes with a Cross.
Mở Builder →Fractals + ADX
- ADX > 25
- Price breaks the last fractal high
- Buy
No single-flow template pairs Fractals with ADX. Start from Fractal Breakout and add an ADX node with a Compare at 25.
Mở Builder →Tham số
Giá trị ban đầu để xác nhận trên cặp tiền và khung thời gian của bạn — không phải cài đặt được đảm bảo.
| Tham số | Mặc định | Khoảng thử nghiệm đề xuất | Chức năng |
|---|---|---|---|
| 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. |
Cài đặt sẵn ban đầu
Ví dụ thị trường
Nơi Fractals hoạt động, nơi nó thất bại, và bộ lọc thay đổi kết quả như thế nào.
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.
Các chỉ báo liên quan
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.
Bài viết liên quan
Glossary