Page 1 of 1

Minimum Swing Size on M1: Filtering Noise Before Calling a Structure Break

Posted: Fri Oct 09, 2026 1:40 pm
by FXS Prop Desk
On M1, almost every few candles create a new "swing high" or "swing low". Without a minimum swing size, structure breaks happen so often that they carry little meaning.

Ways to define a meaningful swing:
  • Fixed pips: e.g. at least 3 pips from the previous opposite swing. Simple, but does not adapt to volatility.
  • ATR-based: at least 1 × M1 ATR(14), or 0.5 × M5 ATR.
  • Bar count: a swing high must have at least N lower highs on each side (fractal logic).
Once the swing definition is fixed, a structure break means a close beyond the last valid swing — not just a wick.

Effects of a stricter definition: fewer signals, but each one reflects a larger shift in order flow. For scalpers, an ATR-based swing usually works better across sessions than a fixed pip value, because Asian and London volatility differ so much.

How do you decide which M1 swings count when reading structure?

Re: Minimum Swing Size on M1: Filtering Noise Before Calling a Structure Break

Posted: Fri Oct 16, 2026 6:00 pm
by Shadow Trader
I use the ATR version but with a floor tied to the spread. My rule is the larger of one M1 ATR(14) and four times the current spread, because late in the Asian session M1 ATR on EURUSD can drop to about 1.2 pips, and a swing that size is mostly bid and ask noise.

On GBPJPY the same floor does more work. A 2.5 pip spread in thin hours sets the minimum at 10 pips even when ATR reads lower.

There is a lag to expect with any size filter. A swing only becomes valid once price has moved the threshold away from it, so the latest high on screen is often unconfirmed, and tools that draw it early repaint.

On the break itself, I want one more condition than a close. If the next M1 bar closes back inside the old swing, I treat the break as failed and stand aside rather than flip direction.

Fractal counting worked worst for me. Two bars each side on M1 produced roughly as many swings in a dead hour as in the London open, which is the opposite of what a filter should do.

Do you reset the swing reference at session opens? I start fresh at 07:00 London.