WhitmanTrading

Williams Fractals: Two Bars Late, Always

Williams fractals mark a bar whose high is above the highs of the two bars on each side, or whose low is below both neighbors' lows. The shape needs five bars to exist, so every fractal is confirmed two bars after the turn it identifies.

Covered on this page: TradingView.

How it works

An up fractal is a bar whose high is above the highs of the two bars on either side. A down fractal is the mirror image using lows. There is no calculation and no smoothing.

Five bars, middle one marked. Some platforms let you widen the window to seven or nine bars, which makes the shape rarer and the lag longer in equal measure.

The lag is not a defect, it is the shape. You cannot know a bar had two lower highs after it until those two bars exist. Every fractal appears two bars after the high it marks.

Frequency is the real problem

A local high is not a significant high. In any normal stretch of price the five-bar shape occurs repeatedly, because two lower highs in a row is a very weak condition.

Which is why they are always filtered. Bill Williams paired them with an alligator of moving averages; others use a longer window, a trend filter, or a minimum swing size. Something has to reduce the count.

A percentage swing filter gives a sense of the right order of magnitude. It keeps only turns where price moved at least the stated percentage from the last marked point, so raising the threshold leaves far fewer highs — the filter, not the market, decides the count.

The williams fractals example: a price series, volume beneath, 1 marked level.
An illustrative series with one turning point marked, the shape a fractal labels afterwards. Illustrative chart - not real market data.

And direction from one close to the next is barely better than a coin. On the S&P 500 from 1950 to 2026, 53.1% of days closed up, which is the base rate to hold in mind before treating any single marked high as meaningful.

In practice

Volume is the cheapest filter available. A fractal formed on heavy participation is a different event from one formed on nothing, and the indicator itself cannot tell them apart.

The five-bar window scales with the timeframe. On a daily chart it spans a trading week; on a five-minute chart, twenty-five minutes.

A gap can manufacture the shape without anything happening at the marked price, which is worth checking before placing a stop behind it.

Stop placement is where the lag stops mattering. A stop sits behind a level that has already formed, so learning about it two bars late costs nothing at all.

Trading unfiltered fractals is the expensive failure mode. Every one pays a full round trip in spread and commission, and most of them mark nothing.

The name promises more than the tool contains. Fractal geometry describes self-similarity across scales; this is a five-bar comparison of four numbers. The label is borrowed, and the borrowing is worth noticing because it is doing work the definition does not.

The filter question deserves a straight answer rather than a list of options. The cheapest workable one is a minimum distance: ignore any fractal that is not at least some multiple of the average bar range away from the previous one in the same direction. It requires no extra indicator, it scales with volatility automatically, and it is a single number you can write into a plan.

The alternative most people reach for — a moving average filter — does something different. It removes fractals that disagree with the trend rather than fractals that are too small, which leaves a chart full of insignificant highs that happen to point the right way. Filter for size first and direction second; the order matters more than which tools you use.

What Williams fractals are not

They are not fractal geometry. The name is borrowed, not descriptive.

They are not an entry signal. Two bars late, by construction.

They are not significant on their own. A local high is a very weak condition.

And they are not a trend tool. They mark turns and say nothing about direction.

When it fails

In a range the chart fills with them. Alternating highs and lows produce the five-bar shape constantly, and a trader taking each one pays the round trip repeatedly for nothing.

The second failure is trading the raw output. Without a filter the signal count is unusable, and every published version of the method includes one.

A third is forgetting the lag in a backtest. Marking the fractal on the bar it occurred rather than two bars later produces results that were never available.

A fourth is widening the window to reduce noise. It works, and it lengthens the lag in exact proportion.

And a fifth is treating a marked high as resistance. It is a local high; whether anything is resting there is a separate question the indicator does not ask.

The original data

On the S&P 500’s daily closes from 1950 to 2026, 53.1% of days finished up and 46.9% down, and 59% of ten-day windows ended higher. In a market with that mild upward drift, a sequence of higher highs is the expected pattern rather than a signal, which is why a single fractal says so little on its own.

The williams fractals example: price bars cut at the decision point, volume beneath, 1 marked level.
A fractal printed two bars ago. Sell it? Illustrative chart - not real market data.

That base rate is the number that decides how to use them. If each close is only slightly more likely to be up than down, a run of marked highs is not stacking the odds behind a continuation trade — and a tool that marks turns is best given the one job it can do. Use fractals to place the stop and to count the sequence, and take the entry decision from something that does not need two bars of hindsight to exist.

Swing high and low is the concept the shape approximates. Stop loss placement is where they earn their keep. And market structure is what a filtered sequence of them describes.

What I actually do

I keep fractals on one chart and use them for exactly one thing: deciding where the stop goes. The two-bar lag that makes them useless as an entry signal is irrelevant to a stop, because a stop is placed behind something that has already happened. Used that way they are one of the few indicators I never argue with.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money. Some links on this page earn a commission if you buy through them. It costs you nothing and it does not decide what appears here or in what order — how these pages are made is set out in our methodology.