MilstScreenerExplainer build 2026.10.29-147 ← back to the terminal

What this thing does, in plain words

A tour of the terminal for the people who use it: what each screen is for, what the numbers actually say, what is yours to keep, and what the app deliberately will not do. No setup, no configuration, no code — that is the complete manual. Start here, go there when you want the exact definition of a column.

Nothing here is investment advice. Everything below is a description of what the software computes and shows.

01What it is

Milst Screener watches the perpetual futures markets on Hyperliquid's xyz dex — synthetic perps that track US and foreign stocks, indices, FX, commodities and baskets — plus a second, separate universe of the main-dex crypto perps. It is a read-only monitor: it shows you what the tape is doing, keeps a record of the conditions it flagged, and tells you when something you asked about happens. It cannot place an order, and it never holds a key that could.

The design has one central idea, and knowing it explains most of what you will see: the heavy work happens once, on the server. A small process polls Hyperliquid, archives candles, samples open interest, computes every feature and caches the result. Your browser reads a single finished snapshot. Nobody's browser talks to the exchange, so the page opens in seconds instead of minutes, and everyone is looking at the same numbers at the same time.

The snapshot

The market table is rebuilt about every 15 seconds and served whole. The updated field in the status line is the server's last successful poll — not your last refresh.

The live stream

While the status line reads push live, the server tells your browser the moment something changed and the browser fetches it. The refresh selector is the fallback for when that stream drops.

The archive

Open interest, funding history, candles, the signal ledger, your notes and messages live on a disk that survives restarts. A redeploy serves a warm table within a poll or two.

how data reaches you Hyperliquid prices · funding · OI candles once the server polls · archives · computes momentum, vol, funding history, signals, sectors, sessions… → one cached snapshot, ~15 s push your desktop your phone everyone else same numbers, same moment, no waiting browsers never talk to the exchange — the rate limit is the server's problem, not yours
Why the page is instant and why everyone sees the same number. The exchange is asked once; you read a finished snapshot.

02Your first ten minutes

  1. Sign in. You get in through a single-use invite link from the operator — or with Request access under the sign-in form — pick a handle and a password, and that account is yours across devices. Where the operator has opened it, a passkey (your fingerprint, face or device PIN) can replace the password. Forgot it? The reset code goes to your linked Telegram.
  2. Land on Markets and pick a scope. The Stocks | Crypto pills at the top switch between the two universes. They never mix. Whichever you pick is remembered for next time.
  3. Set the analysis window. The 1h · 4h · 1d · 7d · 30d selector re-anchors every window-relative column at once — vs S&P, vs tape, ΔOI, Squeeze, Carry, Avg Range, RVOL all answer "over this window". Most confusion about a number is a window you forgot you set.
  4. screenshot — the real app
    The Markets table1234567891011
    1. 1Stocks | Crypto scope
    2. 2window
    3. 3click a header to sort
    4. 4Filters
    5. 5Layouts
    6. 6Columns
    7. 7↓ CSV
    8. 8type to filter tickers
    9. 9status line
    10. 10? help
    11. 11🔔 bell
    This is the screen you land on. The numbered dots are the controls the steps talk about.
  5. Hover anything that puzzles you. Every number in the app explains itself on hover: exact inputs, the window it was measured over, the sample size behind it. Press ? for the "how to read this tab" card, which links into the manual.
  6. screenshot — the real app
    The help card12
    1. 1the two guides
    2. 2how to read this tab
    The ? card. The two guides sit at the top; under them, how to read the tab you are on.
  7. Open a name. Click a row (or press Enter on a highlighted one) and the ticker drawer slides in: candles, positioning, event risk, co-movers, news, the signal record, your notes. That name becomes the focused ticker — every other tab now opens on it.
  8. screenshot — the real app
    The ticker drawer1
    1. 1the drawer
    The drawer. One name, everything the site knows about it, on one scroll.
  9. Star a few names. ★ pins a market to your watchlist, floats it to the top of the table, and follows your account onto your phone.
  10. Arrange the table once, then save it. The ⚙ column menu shows, hides and reorders columns; Layouts saves that arrangement (columns, sort, window, filters, ★-only) under a name you choose. Phones start from a mobile preset and can keep their own layout.
  11. Ask a question instead of hunting. Press ~ (or the ▸_ Ask button) and type top funding 5, nvda, most crowded shorts, whats above the 200dma.
  12. Set one alert. The 🔔 bell in the status line holds your rules: ticker, metric, above/below, threshold. It is evaluated on the server against the same snapshot the board renders, so it fires with no tab open. Link Telegram there and it reaches your phone.
  13. Write one note. In the drawer, above the charts. It is stamped with the price it was written at, so every later read says "wrote it at 113.90 · +4.0% since". That one field is the whole point.
In real life — one real morning

9:40 ET. You open Markets, window 1d, sort vs tape. HOOD is green on a red tape with unusual volume. You press Enter: the drawer says it reports Thursday, median reaction 7%. You write one line in Notes: "strong on a weak tape, print Thursday, no size into it." Stamped at 113.90.

You set one rule — HOOD price < 108 — and close the laptop. That was six minutes, and the site will now do the watching.

03Six ideas that explain every screen

1 · Two universes, one wall

Stocks and crypto are separate worlds with separate benchmarks (the S&P 500 perp; BTC), separate histories and separate visibility. Session concepts — gaps, overnight holds, cash sessions — do not exist on a 24/7 tape and simply vanish in crypto scope.

why a column disappeared

2 · The window re-anchors everything

One control, many columns. A "squeeze of 70" is a 70 over the window you chose. The action strip, the sector cells and the CSV export all describe exactly the rows and window on screen.

why two people see different numbers

3 · One number, one code path

A level, a score or a record is computed once on the server and restated everywhere. The board, the drawer, the alert and the Telegram message cannot disagree, because none of them recomputes. Your browser only re-times the live mark.

why the alert matches the card

4 · A dash is a dash

Missing history, an unqualified baseline, a retired data series — all render as an explicit blank. Never a guess, never an interpolation, never a zero standing in for "we don't know".

why crypto shows dashes past MA20

5 · A signal is a condition, not a prediction

Every flagged condition is ranked by how unusual it is now plus what happened the last times it occurred — with the sample size, the median outcome and the hit rate stated on the card. Each one is ledgered at the mark it fired at and scored out of sample afterwards. The card is the part to read; the record is the part to trust.

how to weigh anything the engine says

6 · Prose carries its price

A note or a message that names a ticker is stamped with the mark at the moment it was written. Editing rewrites the words and nothing else — the timestamp and the stamp stand, and the edit is disclosed. A call cannot quietly become a better call — and since calls are public, every member's record is scored by the same rules on the same board.

why notes beat a text file
the two universes STOCKS benchmark: S&P 500 perp sessions: gap · overnight · cash · home exchange history: deep daily archive · YTD · MA200 Calendar, Sessions, Sectors live here the wall CRYPTO benchmark: BTC 24/7 tape — no sessions, no gaps history: 31 days → dashes past MA20, no YTD Casc · 24h Liqs · the regime strip live here
Idea 1, drawn. Two universes, two benchmarks, two sets of columns. If a column vanished, you crossed the wall.
screenshot — the real app
The Markets table in crypto scope with the regime strip12
  1. 1Crypto scope
  2. 2the regime strip
Crypto scope, live. BTC is the benchmark, the regime strip appears, the session columns are gone.
anatomy of a signal card
1FUNDING EXTREMEHOOD · crowd paying near its monthly maxfired 2h ago · claim @ 113.90 · 4d 21h left
2own base raten 23median −3.1%hit 65%exp +0.9Rhorizon 5d★ prime
3SHORTtarget 110.4void 117.2R:R 1.9frozen at fire
4watch: OI still building on the long side — the fuel for the unwind
  • 1What and when — the event, the reading, and the mark the claim is scored against.
  • 2The evidence — read n first. 23 occurrences is a base rate; 3 is a story.
  • 3The mechanical play — side, target, the level that voids it. Never moves after it fires.
  • 4One thing to watch — the corroboration that would confirm or kill it.
Idea 5, drawn. Every signal renders in the same four lines. Read line 2 before anything else.

04The screens, and when to open each

Every tab is one question asked of the same rows. Tabs marked operator-only by default ship closed to the group; if you cannot see one, it is not hidden from you by accident — the operator has not opened it, and its data routes refuse too.

The tape

Markets

The home board: one row per market, ~40 columns, sortable, filterable, exportable. Everything else in the app is a different cut of these rows.

start here, always

Ticker drawer

One name, every surface at once: candles, where the 30d return happened, positioning, event risk, co-movers and hedges, fundamentals, news, your notes, the signal record.

"tell me about this name"

Trend

An EMA 13/21 ladder on four timeframes per name, scored 0–4 by how many agree, ranked into long and short boards. RETEST marks the pullback into the ribbon.

"what is actually trending, and where is the entry"

Charts

Up to four names side by side, or one name across timeframes in a multi-timeframe wall, with linked crosshair and zoom, 5-minute to 3-day candles. Draw trend lines, levels, boxes and Fibonacci once and they show on every timeframe; add RSI, MACD, Bollinger Bands and a dozen more, each in its own pane; or write your own indicator — JavaScript, or a TradingView Pine script pasted as it is — and share it with the desk.

comparing shapes, and drawing your own

Treemap

The universe as tiles: area is volume or open interest, colour is the move over your window.

the ten-second read of the day

Sectors

Where capital is flowing: a rotation flow map, leaders, cohesion (does the label trade as one block?) and a sector × sector correlation matrix.

"which theme is being bought"

Correlation

What moves with what: a cluster-ordered matrix, pair detail with hedge β and a spread z-score, co-movers and natural hedges, rebased overlays and synthetic ratio candles.

before you double a bet you already have

Funding

Carry across the whole book over calendar time. Red = longs pay, green = longs receive; a bucket with too little data is hatched, never drawn as flat. Each row ends with its window mean beside its current funding.

"is the crowd paying more or less than it was"

Sessions

When the returns actually happen: overnight vs cash vs weekend holds as equity curves, net of the funding drag, plus hour-of-day and day-of-week clocks.

"when should I be holding this"

Drawdownoperator

Return since a date you pick against the worst drawdown taken to get it, one dot per market — up and to the right is more return for less pain — with the benchmarks drawn as lines.

"who earned it, and who just survived it"

Gapsoperator

While the US cash market is shut, the perp is already pricing the opening gap. Each name's implied gap, and how much of a gap like it has usually still been there at 10:00 ET on its own last 180 nights — with the error bars.

before the cash open

Cross-dexoperator

The same stock listed on other HIP-3 dexes: the price and funding difference between the two perps, and what the carry trade would net over a day after fees — with the fee stated as an assumption on the board.

"is the same thing cheaper, or paid better, elsewhere"

Signals and setups

Signals

Unusual conditions, ranked and audited. Every card states the evidence in one fixed grammar — sample size, median outcome, hit rate, expectancy, horizon — plus the mechanical side, void and target. Search any ticker for its whole claim-by-claim history.

"what is unusual right now, and has it ever mattered"

Actionableoperator

Only the names sitting at a trigger right now, with the entry, invalidation and target you would actually use — and reward:risk stated net of expected funding.

the morning list

Focusoperator

Six equities, stamped once at the cash open and then frozen for the day. A compressed morning scan that deliberately never reshuffles because a number ticked.

first fifteen minutes of the US day

Backtestoperator

Cross-sectional long/short tests on the daily returns already in your browser, with an out-of-sample split, costs and funding — plus the running duel between the two momentum scores. Name one ticker in the target box and it becomes a timing test on that name; the D1 retest study checks whether the Trend board's RETEST beats simply being in the trend.

"does this ranking rule hold up"

EMA Touchoperator

Every name's 50 and 200 EMA on the 4H and 1D candles: who is touching one now, who is within reach, and how each touch resolved at the candle's close — Support held, Broke down, Reclaimed — with the close that would invalidate it written on the card.

"is anything pulling back into a line I care about"

Calls

Every member's price calls, public and scored the same way: a leaderboard ranked on what the record can prove (not on a lucky streak), each caller's profile, every call drawn on its candles with its thesis, and a copy score that asks whether following them would have paid after delay, fees and funding. Follow a caller and their next call reaches your phone. By ticker reads one market like a chart, every caller's calls drawn on it. Challenges are the games — a weekly pick, head-to-head duels and custom contests — kept off the leaderboard.

"who on this desk is worth listening to"

BOWoperator

TS9's elasticity signals — RECOIL ▲ out of a coiled zone, SNAP ▼ out of an extended one — scored on 4h to 3D candles and read as legs: the first call opens one, repeats stack on it, only the opposite call closes it. Strongest legs first, each with the move since it became available and a chart of every call.

"what is stretched, and has it snapped"

Pulseoperator

TS9's divergence signals — ABSORB ▲ (price makes a lower low while flow makes a higher one) and DIST ▼ (the mirror) — tracked as legs exactly like BOW, with a timeline per market showing every call and how long each leg ran.

"is the flow disagreeing with the price"

Context and calendar

Calendar

Earnings for the next two weeks with the session (before the open, after the close), prints from the last two days with beat/miss and the reaction move, each name's own earnings reaction study, and the macro prints — FOMC, CPI, payrolls, PPI, retail sales, GDP, PCE. The Setups strip on top gives each name reporting within five sessions a pre-earnings card: how it usually reacts, who is positioned into the print, the run-up, and whether volatility looks cheap or already bid.

before you size anything into a print

News

72 hours of headlines tied to names in the universe, merged with the macro tape and SEC filings, badged where a name has earnings or an open signal.

"why is this moving"

Housing · Liquidityoperator

The macro backdrop: mortgage rates, starts, supply and non-QM spreads; and Fed net liquidity with the TGA and reverse-repo drains.

the weather behind the tape

Congress · Insidersoperator

STOCK Act disclosures (amounts are the disclosed band, never a point figure) and SEC Form 4 transactions (exact shares, exact price, exact date), both sorted by when the market learned.

who was buying their own name

Shortsoperator

The short side of the stock behind the perp: FINRA short interest and its change, days to cover, a short float estimated from SEC filings, and each session's short-sale volume against the name's own normal.

"is the stock's short side building"

Consensusoperator

Analyst consensus on our markets (CryptoQuant), read as how unusual today's mood is for that name rather than how many agree — with a flag when the mood and the last 24 hours of price disagree.

"what is the crowd of analysts saying"

Your own work

AI Report

Everything the server holds on one name compiled into a written read: the picture, what the data says, scenarios with computed reward:risk, a mandatory action block, what would change the read. Every number it cites is a number another tab shows, and every directional read is ledgered and graded like any other claim.

when you want it in sentences

Notesoperator

Every note you have written, newest first, searchable and filterable by the #tags in the bodies. Each one carries the mark it was written at and the move since. A name rotated out of the universe keeps its note.

"what did I think last time"

Messages

Conversations between account holders where a $TICKER is stamped with the price at the moment you sent it — so a call reads "sent at 113.90 · +4.0%" forever. A message that reads as a call asks once before it goes on the public record; calls ↗ opens the Calls tab. Slash commands post live tables into the thread, the ⤴ shares any cell, row, board or chart into it, and you can mirror a conversation to Telegram both ways. The operator's broadcasts land in your own read-only 📣 Announcements.

the group's shared record

Fundsoperator

Tracked 13F filers with their books and quarter-over-quarter deltas. Positioning history filed up to 45 days late — never the current book, and labelled as such.

slow money, read slowly

Bookoperator

Your linked wallet read as one position: its beta in dollars per 1% of the S&P or BTC, a week of funding, a one-day VaR from a 60-day replay, and which legs are really one bet. Its journal imports your fills and splits your P&L by what the board said when you took each trade.

"what am I actually holding"

What if I add thisoperator

From an Actionable card: size a trade off its stop and your risk per trade, price the fill on the live order book and the funding over the hold, and see your book's VaR and beta before and after. A calculation, never an order.

before you add the trade

05Reading the numbers you will meet most

Exact formulas live in the manual and on every hover. These are the plain-English readings.

example — illustrative numbers 0% — nobody pays − longs receive crowd is short · you are paid to be long longs pay + crowd is long · holding costs money ▴ = top decile of this market's own month ▾ = bottom decile
Funding, as a scale. The sign tells you who pays; the flag tells you whether it is extreme for this market. Red on the table means the crowd is long and paying for it.
What you seeWhat it is telling you
Funding (APR)Positive/red = longs pay to hold the position — the crowd is long and carry is a cost. Negative/green = longs get paid. A ▴/▾ flag means today's rate sits at the top or bottom decile of this market's own last month.
PremHow far the perp has dislocated from its oracle price, in basis points. When the underlying cash market is closed, a persistent premium is the off-hours price discovery.
ΔOI + its tagWhether money is arriving or leaving, read against price: longs+ new money confirming · squeeze shorts covering, not fresh demand · shorts+ new money pressing lower · unwind longs deleveraging. Open interest is symmetric, so which side owns it is always an inference — and the hover says so.
the four tags, drawn longs+ price ↑ · OI ↑ new money is buying and staying — the move is being confirmed hover: does funding corroborate? squeeze price ↑ · OI ↓ shorts are covering — positions closing, not fresh demand runs hard, ends with the covering unwind price ↓ · OI ↓ longs are deleveraging — the crowd is leaving, not pressing often an ending, not a beginning shorts+ price ↓ · OI ↑ new money is selling and staying — the downside is being pressed hover: does funding corroborate? price ↑ up price ↓ down OI ↑ building OI ↓ shrinking
RVOLVolume against the same clock hours over the past month. 1.0× is normal for this time of day; 2×+ is genuinely elevated. The session shape cannot masquerade as a signal.
Momentum · MOM+A self-normalizing −100…+100 score, comparable across a sleepy FX pair and a violent synthetic. MOM+ is the challenger being scored head-to-head against it every day, in public, on the Backtest tab.
SqueezeHow loaded the short-squeeze spring is: shorts paying, open interest building, price pressing the 30-day high. Zero whenever funding is positive — no crowded shorts, no squeeze.
CarryFunding per unit of volatility: how much you are paid for taking the unpopular side, adjusted for how wild the ride is.
vs S&P · vs tapeExcess return over the benchmark, and over the universe median. On a day when everything is red, "vs tape" is the honest relative-strength read.
OI / VolPositioning divided by turnover. ≥2 means crowded positioning that cannot exit quickly; under 0.5 is fresh churn.
DownCap · Hit%How much of the tape's drop this name eats on red bars, and how consistently. A flattering DownCap with a low Hit% means a couple of lucky bars carried it.
vs VWAPWhere price sits against the month's volume-weighted average — roughly, whether recent buyers are in profit or trapped.
BetaHow much of the benchmark's move this name typically takes: above 1 amplifies, below 1 dampens, negative moves inverse.
Short float ≈ · days to coverHow much of the stock's float is sold short, and how many days of normal volume shorts would need to buy it back. The float is estimated from SEC filings (hence ≈; a † warns that many new shares have been issued since), and short interest is one to three weeks old when it is published.
Short vol σToday's share of off-exchange volume marked short, against the name's own last 30 sessions. The level alone means little — market makers short all day to fill buyers — the σ is the unusual part.
Consensus σHow unusual the analysts' 30-day mood is for this name against its own last 90 days. +1σ on a name everyone dislikes means less bearish than usual, not bullish.
OI capThe market has hit the open-interest cap its deployer set: orders that add open interest are refused, so new money is locked out until it comes off.
Capture (Gaps)How much of an overnight perp gap has usually survived to 10:00 ET on this name: 1.00 an honest pre-open read, 0.60 that 40% has tended to fade. Read its interval before the number.
TS9 score · ×N · FRESHA BOW or Pulse call's score (BOW up to 100, Pulse 60 / 80 / 100); ×N is how many same-way calls have stacked on the leg; FRESH (≤ 3 bars since the latest call), RECENT (≤ 10) and MATURE say how old the leg is — they never end it.

Badges in the ticker cell

MarkMeaning
★ / ☆Watchlist. Follows your account across devices.
EEarnings: solid = reports today, hollow = tomorrow. After the print it becomes a scoreboard — beat/miss and the day's move.
◢You have a note on this name. Bright within a week, dimmer to a month, a hollow outline after; a count past one. Hover for the first line and the move since.
⬡Your linked wallet holds a position here, in the side's colour.
◆ CascCrypto: a liquidation cascade in the last 24 hours. Red = longs were liquidated, green = shorts.
Amber railA foreign-listed name whose home exchange is open right now; the microline counts down to the next open or close.

06What is yours, and where it lives

ThingWhat it doesWhere it lives
★ WatchlistPins names to the top of the table and to the ★-only filter. Your account — the same on phone and desktop.
Saved layoutsNamed table views: columns and order, sort, window, volume/OI filters, ★-only. A • means the live view has drifted from the saved one. Your account. Which layout is active stays per browser on purpose, so a phone can run its own.
NotesYour prose on a name, price-stamped, tagged, searchable. The server, on disk — not this browser's storage.
Alerts and rulesUp to 60 personal metric rules, evaluated server-side with no tab open, plus which alert classes reach you.The server; delivery to your browser and your linked Telegram.
Linked walletA Hyperliquid public address that overlays your open positions onto the board and the drawer.Your account. Read-only: the app reads public state and can never sign.
MessagesConversations and their price stamps. The server. On this deployment the operator can read every conversation, and every such read is logged.
CallsYour calls, their thesis, updates, post-mortems and results — your record on the leaderboard.The server, and public to every member. A call from a group or topic shows with its message; a call from a DM shows the call and its thesis, never the words or who it was said to. Deleting the message never removes the call.
FollowsThe callers whose next public call reaches your phone, and the paper portfolio that copies them.Your account.
Chart drawingsTrend lines, levels, boxes, Fibonacci and notes on a name — the same on every timeframe and every pane showing it.This browser, and your account when signed in.
Indicators and layoutsWhat every chart draws and how each line is styled, plus up to 12 named indicator layouts.This browser, and your account when signed in.
Your scriptsUp to 16 indicators or strategies of your own, in JavaScript or Pine. Your account when signed in. Private until you share one: public puts it in every member's Community search under your handle, private gives it to the handles you name. Unpublish or delete takes it off their charts.
BOW & Pulse alert choicesWhich TS9 events, timeframes, minimum score and direction reach you.Your account — the bell, the pop-up, your phone and your webhooks all follow it.
Trade journalYour wallet's imported fills, folded into trades and tagged with what the board said.The server, under your account. Unlinking the wallet deletes them.
Profile and passkeysYour display name, a short bio, a picture; the passkeys that can sign you in.Your account. Adding or removing a passkey asks you to confirm it's you first.
Your usageWhich tabs you open and for how long — never what you type, search or filter.The server, per member for 30 days, then folded into site totals. The Your usage card in the Messages rail shows you exactly what the operator sees, and can pause it.
AnnouncementsThe operator's broadcasts to you.Your own read-only thread at the top of the Messages rail, kept 30 days. Nobody else sees your copy; reply privately opens a DM with the sender.
Per-browser onlyTab order, the active layout, theme and density, the funding unit, the analysis window and refresh cadence, terminal history, chat drafts. This browser. Nothing here syncs, by design.
Deep links are shareable. The address bar follows you: #sectors opens a tab, #t=NVDA opens that name's drawer. Paste one into an open tab and it navigates.
mock of the notes panel
HOODAug 30 · wrote it at 113.90 · +4.0% since
Held the 110 shelf twice on rising OI. If it loses 108 the thesis is wrong. #level #thesis
HOODSep 14 · wrote it at 121.40 · −2.5% since
Crowd now paying 58% to be long. Not adding here. #funding

Two notes, two stamps. Each is read against today's mark, so the second one already tells you it was the better call. Editing either would change the words only — the stamp stays.

What a stamped note looks like. The move since is computed at read time from the snapshot; nothing about the note itself changes.
screenshot — the real app
A conversation with stamped calls1
  1. 1calls ↗ — opens the Calls tab
A conversation, live. Every $TICKER is stamped with the price it was sent at.

07Asking instead of hunting

Press ~ or click ▸_ Ask. The console runs over the rows already in your browser, so answers are instant. Tab completes verbs, fields and tickers; ↑ ↓ walk your history; every result names the rows it ran on.

Type thisGet
nvdaThe name's card — price, day move, funding, OI, squeeze, momentum, vs tape.
nvda fundingOne column on one name.
top funding 5Any column ranked, plus gainers, losers, trending.
screen rvol>2 & squeeze>50A filter across the board, fields joined with &.
breadth · sectorsHow healthy the tape is; which sectors are working.
earnings today · news nvdaThe calendar and the 72-hour headline window.
vs nvda amd · corr nvda amdSide-by-side compare; correlation and hedge β.
comp AAPL MSFT NVDA · ratio NVDA/BTC 4hRebased overlays; synthetic pair candles.
report nvdaOpen or generate the written analyst read.
most crowded shorts · hows the tapePlain English — common questions are translated into the grammar and the translation is echoed back so you can see what it ran.
Anything the local grammar cannot parse goes to the AI leg, where the operator has enabled it. That leg is metered: the ask chip shows the group's remaining calls for the day, and a 🔒 means generation is locked until an operator unlocks it. Local verbs never touch the budget.

The same verbs, in a conversation

In any Messages thread, type / and the verb — /top funding 5, /nvda, /screen rvol>2, /earnings today — and the result posts into the thread under your name, badged computed, so the group reads one table instead of six people opening the panel. Two extras only exist here:

08Being told, instead of watching

The 🔔 bell lives in the status line, so it is reachable from every tab. One event stream feeds every channel — the in-tab toast, the bell panel, Telegram, browser push — so a channel's settings can quiet your phone without ever editing the record of what fired.

how alerts reach you one event stream setups · ledger · rules · trend · … 🔔 bell panel in-tab toasts Telegram browser push the record — everything, always setups and void hits only your classes · quiet hours · caps with the tab closed
One stream, four channels, each with its own filter.
screenshot — the real app
The bell panel1
  1. 1the bell panel
The bell panel, live.

Your own rules

Ticker (or blank for any market) · metric · above or below · threshold. Price, the window returns, funding and its percentile, premium, volume, open interest, relative volume, ΔOI, liquidations. Evaluated on the server against the same snapshot the board renders, with an arm band and a cooldown so one crossing is one alert.

Classes you opt into

Setups, ledger outcomes, your rules and calls are on by default. New signals (a Signals card the moment it opens, before any track record), trend changes, 200- and 50-EMA closes and touches, funding extremes, open-interest caps, insider cluster buys, material SEC filings, congress trades, earnings, macro prints, a flipped AI stance and tape-wide crowding are each a switch, shown with how often they actually fire. You are only offered — and only sent — the classes whose tabs are open to you.

BOW and Pulse

Where those tabs are open to you, TS9's calls can reach your phone: a new leg, a flip, a stack, or a leg closed by a call. You choose the events, the timeframes, the lowest score and the direction per engine; left alone it is new legs and flips at BOW 90+ and Pulse 80+. One call is one alert, and the choice follows your account to every device.

Telegram

Link once from the bell (a single-use code, ten minutes), then pick classes and quiet hours. Unread messages escalate to your phone after five minutes — unless you are online, or the thread is muted, or someone @mentioned you, which pierces the mute.

Scheduled reading

A morning brief (indices, movers, sectors, positioning, earnings, macro, headlines), a written market commentary a few times a week, and a deterministic desk digest — open and just-closed calls, the record per person, the open consensus, signals, earnings and movers. You set the hour and the days; the digest sends nothing until you do. Every Monday the 📣 Calls recap topic gets the week's calls.

Calls you follow

☆ follow a caller on the Calls tab and their next public call reaches your Telegram and browser push with its thesis and copy score — capped per caller per hour, never a DM's words. Your own target calls post their result into the conversation they were made in.

In real life — what a rule feels like

You write any · relative volume · > 3. Nothing happens for two days. Thursday 11:04 your phone says SMCI RVOL 3.4×. You open the drawer: an 8-K twenty minutes ago, ΔOI shorts+. You had no position and now you have a reason to look — that is all a rule is for.

09Keyboard and phone

KeyDoes
/Jump to this tab's search box.
j k EnterWalk the table (or the message rail) and open the highlighted row.
Ctrl/⌘ + KCommand palette — type a ticker or a tab name. Shift+Enter opens that ticker's AI report.
~The terminal.
sShare the focused row into a conversation.
?How to read the tab you are on.
EscClose the top-most thing — drawer, menu, palette, help — one level at a time.
← → + − AOn a clicked chart pane: pan, zoom, and put the price axis back on auto. Delete removes the selected drawing.
Ctrl/⌘ + EnterIn the script editor: run the script now.

On a phone, add the site to your home screen and it runs as an app. The first visit starts from a mobile column preset (ticker, price, 24h, 7d, funding, ΔOI, volume); every other column is one toggle away, and once you arrange it yourself the app never overrides your arrangement. Notifications for messages work with the tab closed once you enable them in the Messages rail.

10What it will not do

Knowing the edges saves more time than any feature.

11When something looks wrong

The dot beside the wordmark is amber.
The server's data has gone stale — its poller stalled. Your connection is fine; the numbers are just older than they should be. Red means your browser cannot reach the server at all.
A column is full of dashes.
There is not enough history to answer honestly — a new listing, or a window longer than the data. The app will not interpolate to look complete.
A number here disagrees with a number there.
It usually isn't the same question: check the analysis window, the scope pill, and whether you are in the group lens. Everything else is computed once on the server and restated, so genuine disagreement would be a bug worth reporting.
A tab I was told about isn't in the ribbon.
The operator has not opened that feature to the group. Ask them — it is one switch, no deploy.
My phone shows different columns than my desktop.
By design. Phones start from the mobile preset, and which layout is active is per browser. Your saved layouts and watchlist do sync.
The build stamp looks old.
The status line's build is the server's. If it does not match the latest delivery, the deploy is stale — that is an operator question, not a browser one.
My note "moved" after I edited it.
It did not. The timestamp and the price stamp are written once; only the words changed, and the edit is disclosed.
Send stopped and asked me to confirm.
Your message named a $TICKER, so it reads as a call, and calls are public. The box restates what will be recorded and asks for anything your words left open (which way, 7 or 30 days). Send as a plain message posts the same words with no stamp.
My call counts ½ on the leaderboard.
It is a loose call — no date and no target in the words. Write a horizon ($HOOD 30d) and it counts 1; a target with a deadline ($HOOD to 130 by Dec 18) counts 1¼.
I have a great win rate but I'm not ranked.
Under 8 closed calls in the window (weighted) you are provisional. The rank is the lower bound of the win rate, so a long record beats a short lucky one — keep calling.
Someone's DM call is on the board without the message.
By design. From a DM, the call and its thesis are public; the words and who they were said to are not.
The newest candle on a short chart looks lighter.
It is live and not yet confirmed: drawn from the live feed until the exchange's own record of that bar lands a few minutes later and replaces it. Nothing that is scored or alerted reads it.
A BOW or Pulse leg has been open for weeks.
That is the model: a leg closes only on an opposite call. Freshness (FRESH · RECENT · MATURE) tells you how old the latest call is; it never ends the leg.
The BOW page is empty, or a young stock never appears on it.
TS9 needs about a year of weekly history to score BOW, so young listings have nothing yet. The page says why, and Data status shows what the server's history holds.
My pasted TradingView script shows an error.
The editor names the kind, the line and usually a fix ("did you mean close?"). Anything outside the subset is named as not supported rather than silently skipped; alerts inside a script are skipped with a warning and the rest still draws.
An alert class someone mentioned is not in my bell.
Its tab is not open to you yet, so neither is its alert. When the operator opens the tab, its alert appears.

12Where to go next

This page describes the app as of the build stamped at the top. Where it summarises, the manual is the longer answer and the code is the source of truth.