Skip to main content
Reads

Terminal6 min readUpdated Jul 11, 2026

The Low-Float Coil: Spotting a Spring-Loaded Setup Before It Fires

Thin supply and a tightening range are two separate facts about a stock. Screen for both on the same name and you get a specific shape: not many shares left to sell, and a price that has stopped moving much either way. Whether that shape resolves into a move, and which direction, is a different question than whether it exists tonight.

Key takeaways · 6

  1. A low-float coil stacks two independent conditions on one name: a thin total share count and a daily range that has contracted into a tight band. Together they describe a shape, not a signal.
  2. screen shares<30m coil>85 rs>80 runs the stack in the terminal: shares outstanding under 30 million, a coil reading above 85 (aliased rmv/tight), and relative strength above 80 so the name is thinning out under real demand, not just going quiet.
  3. shares filters on total shares outstanding, not float. Because float can never exceed shares outstanding, capping the total count under 30 million guarantees the float is at least that thin, often thinner.
  4. Coil needs close to a quarter of trading history to compute, so a young listing returns blank rather than a false zero. Blank means insufficient history, not "not tight."
  5. The setup is not a forecast. What invalidates the read: the range simply re-expanding without ever producing a move, or the eventual break resolving down instead of up.
  6. Once a coiled name actually breaks, the read passes to a different frame: bo float<25m for the breakout day, or | save to keep watching the list without re-typing the query every close.

A spring, not a straight line

Compress a spring and, for a while, nothing happens. It just gets tighter. Two structural facts about a stock describe that same state: how much stock is left to sell, and how far its price has been willing to move each day lately. Neither fact means much on its own. A thin share count on a name still swinging 6% a day is not compressed. A quiet range on a stock with hundreds of millions of shares outstanding is just an ordinary day for a big company. Put the two together, thin supply and a range gone quiet, and you get something that looks like stored energy.

The terminal runs that stack as three predicates: screen shares<30m coil>85 rs>80. The first term caps the total share count. The second caps how contracted the daily range has become. The third checks that the tape already agrees the name is worth watching. What follows is what each gate actually checks, what the shape looks like once you find it, and, more important than either, what tells you the spring never released at all.

Reading the commandA thin float wound tight

Typed live: the three gates decoded clause by clause. Coil runs 0 for a loose range to 100 for one wound tight against its own history.

Reading the three gates

shares is shares outstanding, aliased so: the total count of shares a company has issued. Float is a narrower number, the subset of that count actually free to trade once insider and restricted holdings are set aside, and the terminal carries a dedicated field for it too, flt (the float-and-supply and float-percent pieces cover that distinction in full). This screen uses the coarser measure on purpose. Float can never exceed shares outstanding, so a total count under 30 million guarantees the float is at least that thin, often thinner. It trades precision for one simple filter instead of two.

coil (aliased rmv and tight) is a 0-to-100 score of how contracted a stock's recent daily range has become, built from normalized true range. It needs close to a full quarter of trading history to compute. coil>85 keeps only the tightest slice of the distribution: tight against the name's own recent history, and tight on an absolute scale too. The dedicated coil piece walks through exactly how the score is built. Here it has one job: narrow the field to stocks that have actually gone quiet.

The third gate is easy to skip and it matters the most. A thin float going quiet, on its own, describes plenty of dead stocks: names nobody is trading, sitting in a tight range because nothing is happening to them at all. Requiring rs>80 filters for the opposite case: a name thinning out while it is already outperforming, which reads as accumulation under a lid rather than plain neglect.

Thin float, contracting rangeThe range tightens and the reading climbs
wide rangecontracted → high coil11coil34coil63coil92coilpoiseddirection not shownA tight range with a high coil reading is a setup, not a signal — it says nothing about which way it breaks.

Three gates, one screen: a thin share count, a range contracted into the tightest slice of its own history, and relative strength that tells accumulation apart from neglect.

What the shape looks like

Once you know to look for it, the pattern is easy to spot on a chart. A base keeps getting narrower, daily bars shrinking toward a single tight band, the range often visibly smaller than it was a month earlier. Volume on many of these names dries up alongside the range: fewer shares changing hands, because the sellers who wanted out have already left and the holders who remain are not selling. The stock can sit like this for days, sometimes weeks. That patience is the setup. It is not a flaw in it.

The same history requirement shows up elsewhere in the terminal. ELOX and TJGC, two names that cleared a related low-float screen on the 2026-07-09 close (leaders rs>90 float<40m), both carried a blank Stage and a blank Power reading, not because either name scored poorly, but because neither had enough trading history yet. A young listing returns blank on coil for the same reason. Blank is not the same fact as tight.

What invalidates it

A compressed spring is a fact about supply and range. It is not a forecast of direction, and the terminal does not pretend otherwise. Two things undo the read.

The first is the range simply re-expanding without ever producing a move. A coiled name can un-coil on its own: the tight band widens back out over a session or two, coil drops out of the 85-plus band, and nothing happened. That is the ordinary outcome for most tight ranges. Most quiet periods just end quietly.

The second is the coil resolving the other way. A thin float that has gone tight can break down as easily as up. Thin supply cuts both directions: the same lack of shares that can produce a fast markup on demand can produce an equally fast markdown once sellers show up, with little standing between the bid and the next print. Breaking down is not a failure of the read. The screen never claimed to know which way the spring would go, only that it had wound tight.

screen shares<30m coil>85 rs>80 reports a compressed shape on tonight's close. What happens after that close is a separate fact, and nobody, including the screen, knows it in advance.

Where it sits in the float family

A low-float coil is one frame in a sequence, not a self-contained call. screen floatrot>2 rs>80 asks whether the thin supply has already started changing hands, a different and often earlier tell on the same names. bo float<25m is the frame that follows this one: the day the range actually expands, if it does. A coiled name can sit quietly for weeks before anything happens, which is exactly why this is worth saving rather than re-typing every close.

Take the read, not the guess

Everything above is end-of-day and point-in-time honest. shares, coil, and rs are all computed from the same close. There is no intraday chasing built into any of it, and the terminal reports the condition without editorializing about what to do with it. A low-float coil is a fact about supply and range on tonight's screen. Whether it is worth your attention depends on the base underneath it and the trend it sits in, not on this screen alone. Open the terminal and run screen shares<30m coil>85 rs>80 tonight. It ships with tickerstance Pro at $28 a month, grandfathered, so the price you join at is the price you keep.

Frequently asked questions

What does `screen shares<30m coil>85 rs>80` do?

It filters the universe to three conditions at once: shares outstanding under 30 million, a coil (range-contraction) score above 85, and relative strength above 80. Together they describe a thin-supply stock whose daily range has gone quiet while it is already outperforming the market. That is a compressed shape, not a trade signal.

What is the coil score?

Coil is a 0-to-100 score of how tight a stock's recent daily range is, aliased rmv and tight in the terminal. A high coil means the range has contracted both against the stock's own recent history and against a fixed absolute scale. It needs close to a quarter of trading history to compute, so a blank coil on a young listing means insufficient history, not a low score.

Why does this screen use shares outstanding instead of float?

For simplicity. shares (alias so) is the total share count a company has issued; flt is the narrower, tradeable float. Float can never exceed shares outstanding, so capping the total count under 30 million guarantees the float is at least that thin, often thinner. It trades precision for a single, easy filter.

What invalidates a low-float coil?

Two things. The range can simply re-expand without ever producing a move. Most tight ranges end quietly, not explosively. Or the eventual break can resolve down instead of up: thin supply cuts both ways, and the same lack of shares that can drive a fast markup can drive an equally fast markdown once sellers appear. The screen reports the condition. It does not forecast which of these happens.

Does a high coil plus a thin float mean a breakout is coming?

No. It means the supply is thin and the range has compressed. That is a condition, not a forecast. Plenty of coiled, thin-float names simply stay quiet or break the other way. Pair the read with the chart and the trend underneath it before treating it as anything more than a fact about tonight's close.

How do I keep watching a coiled name after tonight?

Save the screen instead of re-typing it: screen shares<30m coil>85 rs>80 | save $coiled stores the query and re-runs it against every close. If a name in the list actually breaks, bo float<25m is the next frame: the same low-supply idea applied to the day the range finally expands.