Price levels screener: how it finds support and resistance
- 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
- 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:| Timeframe | Search window | Set refresh |
|---|---|---|
| 15m | ~2.6 days | ~4 minutes |
| 1h | ~10 days | 15 minutes |
| 4h | ~41 days | 1 hour |
| 1d | ~8 months | 6 hours |
What the level weight means, and what it does not
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
- 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.Why you get too many alerts, or too few
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.
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.
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.