F&G 65 · Greed
BTC.D 58.93% -0.11%
ETH.D 11.34% -0%
MCAP $2.90T +0.52%
Altcoins $28.80B
Stablecoins $41.97B
Derivatives $326.43B
@justscreeneren
EN RU

Price levels screener: how it finds support and resistance

A level is a price the market has already come back to: swings turned there, candle wicks piled up there, turnover went through there. The levels screener finds those places on its own, from the candles of the timeframes you pick, and sends an alert when price approaches a level, breaks it, or comes back to a broken one. You set timeframes and a minimum level weight, not prices.
In short
  • The engine builds levels on its own, from the swing points of the timeframe you pick. You never type a price — this is not a “notify me at price X” mark.
  • Search depth is bounded by a window of 250 candles: under three days on 15m and about 41 days on 4h.
  • Weight from 0 to 100 compares a level with the other levels of that same pair on that same timeframe. It describes the level's properties, not the probability of a bounce.
  • Three events: approach, break, and retest. The engine sees no trend lines and no volume profile.

How the engine builds a level from candles

The order is the same one a trader with a pencil follows, only across every pair at once:
  • Swings. Local extremes are found: a candle higher (or lower) than its three neighbours on the left and three on the right. The wick is used, not the close — the line on a chart is drawn along wicks. A useful side effect: the last three candles cannot become a swing, so a level is never repainted after the fact.
  • A zone, not a line. Nearby swings are merged into one zone whose width comes from the pair's average range rather than a fixed percentage of price. Highs and lows cluster together: broken resistance becomes support, and a trader draws one line through them, not two.
  • Touches. Separate visits into the zone are counted: five candles in a row at the line is one touch, not five. A level is published with at least two visits.
  • A break counts separately. A candle that opened on one side of the zone and closed on the other is not a touch — it lowers the weight: the level is damaged but still alive.
Search depth is bounded by the window
The last 250 candles are kept for each timeframe — that is the whole memory of the engine. A level last touched six months ago will never appear on a 15-minute chart:
TimeframeSearch windowSet refresh
15m~2.6 days~4 minutes
1h~10 days15 minutes
4h~41 days1 hour
1d~8 months6 hours
Hence a simple rule: pick the timeframe to match your trade horizon, not “more of them so more arrives”.

What the level weight means, and what it does not

Weight is relative: 100 means the strongest level on this chart on this timeframe, not a market-wide grade. That is why one threshold behaves the same on Bitcoin and on a coin with a few million in turnover.
What raises the weight
  • The number of separate visits into the zone — and the more recent they are, the more they count: a touch from a year ago still counts inside the window but decides little.
  • The quality of the rebound: how far price travelled away from the zone within the same candle.
  • A match with the previous day's, week's or month's high or low. Such a level is published at the exact value of that extreme, so it lines up with the line on your chart.
  • The turnover that went through the zone, and the level working both ways — as support and as resistance.
What lowers it
Every candle that passed straight through the zone divides the weight: one recent break leaves about two thirds, four or more leave a third or less. The level does not drop out of the set: a broken line often keeps working from the other side, and that is exactly the sign the screener uses to tell a retest from an ordinary approach.
A weak chart does not get a hundred
You might expect that if weight is relative, every chart has a level scoring 100. It does not: the normalisation denominator never drops below a reference level — three recent touches with an average rebound and no breaks. On a chart with no structure the strongest level scores what it earned, not 100. Otherwise the weight threshold would stop filtering anything at all.
Weight says nothing about what comes next
It describes the level's observable properties; it is not a probability of a bounce. A strong level means one thing only: price has come here before and has turned here before. Whether it breaks next time, the weight does not know — and by construction cannot: there are no outcome statistics behind that number.

Three events, and what arrives in the alert

The set of levels is recomputed as candles close, while the interaction between price and those levels is checked every minute:
  • Approach — the minute price entered the level's zone from outside. While it sits inside, nothing repeats: otherwise a message would arrive every minute.
  • Break — price did not merely leave the zone, it committed beyond it; jitter right on the edge does not count as a break. The side price came from is searched up to half an hour back, so a gradual exit after a long consolidation inside the zone is caught too.
  • Retest — an entry into the zone of a level that has already been passed through within the window. The screener knows a break happened, not when — this is “a return to a level broken at some point”, not “the break just happened”.
An illustrative example
Settings: timeframes 1h and 4h, minimum weight 70, approach mode, both sides, a cap of 2 alerts per 6 hours, turnover from $50m. The screener finds a level on 4h with weight 82 and four touches that matches the previous week's high; the same level also shows up on 1h. Price comes up to it from below and enters the zone — an alert arrives: the level price, “weight 82 · touches: 4 · 4H · PWH · confirmed on 1H”, the current price with the venue name, the 24-hour range, and links to the exchange and the chart. If several levels fired on one coin, up to five go into the message, strongest first.
How the screener helps
Marking levels by hand works one chart at a time — which is why most traders watch five coins instead of the market. The levels screener recomputes the sets across every liquid pair on 15m, 1h, 4h, and 1d, and checks approaches and breaks against price every minute. The alert carries the level price, its weight, the touch count, the timeframe, and the event: approach, break upward, break downward, or retest. No need to pick a coin.
Open the levels screener

Why you get too many alerts, or too few

Here the engine picks the coins rather than you — which is why this screener's thresholds and caps are not a formality.
Too many: a low weight plus every timeframe
A weight around 30 to 50 leaves roughly five or six levels per coin, and every enabled timeframe brings a set of its own. Add all three modes and the whole market, and you get a stream. The first dial to raise is the weight itself: a step of 10 points cuts the flow more than turning off a timeframe does.
Repeats are muted per level and per event
The same approach to the same level does not come twice — but a break of that level is a different event, and it will come. With repeats off, each event on a level fires once; with repeats on, it can fire again no sooner than the timeframe cooldown: 30 minutes on 15m, 2 hours on 1h, 6 hours on 4h, and 12 hours on 1d.
The alert limit is the per-coin ceiling
The limit counts messages for one coin over the period you choose and sits on top of everything else. Turning it off across a wide coin list is a bad idea: without it there is no per-coin ceiling left, and price wandering between several levels can write to you almost continuously.
Too few: usually a filter, not the weight
Three traps, each of which looks harmless:
  • A non-zero open-interest floor drops spot entirely — open interest does not exist there. That filter is off by default.
  • Level side — “support only” or “resistance only” removes half the events.
  • The turnover floor narrows the pair list; removing it altogether is a bad trade — on a thin pair a level can be the trace of one large order, see the article on liquidity.

What the levels screener does not do

  • It does not see trend lines or volume profile. Only horizontal levels from candle swings. A trend line, a channel, or a volume-profile zone you still have to mark yourself.
  • It does not read the order book. A level is built from price history, not from limit orders. A large wall that appeared in the book a minute ago does not exist for the engine.
  • It does not know your levels. Lines you drew in your terminal are not available to the screener. If you need a mark at a specific price, that is a different job and a different screener — Target price.
  • It does not promise a bounce. Weight describes the level's properties, not the outcome. Stops and liquidation orders usually sit behind a strong level, so a break can run further than expected — how that works is covered in the article on leverage.
A level is a place price has
already returned to. Not a promise
that it will return again

Price levels screener FAQ

Do I have to type level prices by hand?

No. The engine finds levels itself from the swing points of the chosen venue's recent candles and recomputes the set as new candles close. A price you type by hand belongs to a different screener — Target price: there you name the coin and the number, and there is nothing to search for.

What does the level weight mean?

A number from 0 to 100 that compares a level with the other levels of that same pair on that same timeframe. 100 is the strongest level on this chart, not a market-wide grade. That is why one threshold behaves the same on Bitcoin and on a thin altcoin: you do not have to tune it per coin.

Does weight 90 mean price will bounce?

No. Weight is built from the level's observable properties: how many separate visits it got, how recent they were, how far price travelled away from it within the same candle, whether a candle passed straight through the zone, and whether the level matches the previous day's, week's or month's extreme. That describes the past, not the probability of a future move.

How is a retest different from an approach?

An approach is any entry into the level's zone from outside. A retest is the same entry, but on a level that has already been passed straight through within the window. One important caveat: the screener knows a break happened, not when it happened — so a retest means “approach to a level that was broken at some point”, not “the break just happened”.

Which levels does the screener not see?

Trend lines, volume profile, order-book zones, and levels you drew on your own chart. Only horizontal levels from candle swings, and only inside a window of 250 candles of the chosen timeframe.

Why are there no levels at all on some coins?

Three reasons. There may be no candle series: they are kept for several hundred of the most liquid pairs. The series may be shorter than 120 candles — a fresh listing, for example. And a pair whose average range is under 0.15% of price produces no levels at all: those are stablecoins and frozen pairs, where any price looks like a level.

Does the levels screener work on spot?

Yes, levels are computed on both spot and futures venues. But mind the open-interest floor: open interest does not exist on spot, so any non-zero value of that filter drops spot venues entirely. It is off by default.

Every field in the form — timeframes, weight, modes, level side, and the caps — is explained in “Price levels screener settings”, together with four ready-made setups. If you already know the price, you want the target price screener instead of this one.

Important: a level comes from candles, not from the order book, and it marks a place price has already returned to — not a guaranteed bounce. Check the alert against the chart and your own trade plan.