Page 1 of 1

Range Detection Rules You Can Write Down: ATR Ratio, MA Slope and Touch Count

Posted: Thu Oct 08, 2026 8:05 am
by FXS Prop Desk
"The market is ranging" is easy to say after the fact. For scalping, a written definition that can be checked in real time is more useful. Three measures cover most cases.
  • ATR ratio: current M15 ATR(14) divided by its 50-period average. Below about 0.8 suggests compression.
  • MA slope: change in the M15 20 EMA over the last 10 bars, in pips. Near zero means no direction.
  • Touch count: at least two rejections near both the high and the low of the current range.
A simple rule: treat the market as a range when at least two of the three are met, and switch back to trend rules as soon as price closes outside the range on M15.

Thresholds should be tuned per pair; EURGBP and USDJPY have very different typical ATR values. Logging which condition was met for each trade quickly shows whether the definition actually separates good range trades from bad ones.

What measure do you rely on to decide that a market is ranging?

Re: Range Detection Rules You Can Write Down: ATR Ratio, MA Slope and Touch Count

Posted: Fri Oct 16, 2026 3:04 pm
by Shadow Trader
I use the ATR ratio as the first gate and touch count as the second. When M15 ATR(14) sits under 0.75 of its 50 period mean and I have two clear rejections at both edges, I allow mean reversion size; otherwise I stay in breakout mode.

MA slope alone lied to me on USDJPY during a slow drift week. Slope near zero while ATR was expanding produced fake range trades that got run over.

Two of three conditions is my switch, same idea as the thread, but I exit range mode on the first M15 close outside rather than waiting for a second confirmation. Waiting cost me the clean part of two breaks.

I log which condition fired for every range trade. After eighty samples the ATR plus touches combo carried almost all the expectancy; slope was mostly decoration.

What threshold on ATR ratio do you actually use per pair? Mine is tighter on EURGBP than on GBPJPY because the baselines differ so much.