Trend Chart
← All guides

Support and resistance: how these levels are detected

How this site finds support and resistance automatically — swing point detection, ATR-based clustering, touch counts and recency weighting — and how proximity to a level is scored.

What a level is, mechanically

A support or resistance level is a price area that has repeatedly stopped moves in the past. The reasoning is behavioural rather than mathematical: people remember prices, orders accumulate at round or previously significant numbers, and positions taken at a level create motivated buyers or sellers when price returns to it.

Everything downstream of that idea is a modelling choice, which is why two analysts drawing lines on the same chart rarely draw the same lines.

How this site detects them

The detection runs in three steps. First, swing points are identified — local highs and lows where price reversed. Second, nearby swing points are clustered together, because a level is realistically a zone rather than an exact number. Third, each cluster is scored by how many times price touched it and how recent those touches were.

The clustering tolerance is based on ATR — average true range — rather than a fixed percentage. This matters: a volatile stock needs a wider band to group what is genuinely the same level, while a placid one needs a tighter one. A fixed 2% rule would over-merge levels on quiet stocks and fragment them on volatile ones.

The strength score weights touch count by recency, so a level defended three times in the last two months ranks above one touched three times eighteen months ago.

How proximity is scored

The score does not depend on whether a level is labelled support or resistance in the abstract — it depends on where price is right now relative to the nearest levels above and below. Sitting right at the nearest resistance scores bearish; sitting at the nearest support scores bullish. Anywhere in between scores zero.

'Right at' uses the same ATR-based tolerance as the clustering, for consistency. And the limitation is worth being blunt about: levels are detected from the past two years of daily bars only. A level that mattered three years ago is invisible to this calculation.

How this site scores it

Support/resistance proximity carries 60% of the Price Structure category, the larger share, because a level being tested is a more meaningful structural event than a position reading inside a volatility band.

How all the indicators are combined →

Related guides

This guide is educational. It explains how an indicator is calculated and how this site scores it — it is not investment advice, and nothing here is a recommendation to buy, sell, or hold any security. Full disclaimer