Whole market pulls each trading day once and gets history for every symbol at the same time. That is the mode you want unless your plan is call-limited.
Stored in this browser.
One API call each in whole-market mode. T1 needs roughly 140 to see three swings.
A safety ceiling on memory, not a target. The liquidity gate is what actually sets your universe — at the default gate the whole US market comes to roughly 1,500–2,500 names.
Throttles itself downward automatically if Polygon starts rate limiting.
Only used in top-symbols mode.
Filters sub-liquid and penny names before anything else runs.
Your exit has to exist too. This is the real universe definition.
Past sessions never change, so each is downloaded once and reused.
Refuse to scan if funds can't be excluded
Uses Polygon's ticker types to keep only US common stock. If that list is unavailable and this is on, the scan stops instead of silently including ETFs.
Real SMS always needs a paid gateway. ntfy and Discord are free, unlimited, and send on their own — no tap, no card, no message cap.
Email for the mail/EmailJS routes, or a phone number for WhatsApp (055… or 97255… both work).
In Telegram, message @BotFather → /newbot → copy the token here. Then send your new bot any message and press Find ID. Free, unlimited, no card.
Install ntfy (iOS / Android / F-Droid, free) and subscribe to this exact topic. No account, no limit, arrives as a push. Topics are public — use something unguessable like alik-scan-7f3k9x.
In any Discord server you own: Channel settings → Integrations → Webhooks → New Webhook → Copy URL. Free and unlimited; the phone app pushes each post.
Receives JSON with every result and a ready-to-send text block. Point the other end at an SMS action to reach a phone.
Your template should use to_email, subject and message. The public key is designed to be shipped in a page.
Only used for the per-row plain-language note. The scan itself never calls it.
Loaded live from OpenRouter once a key is saved.
Keys: your Polygon key ships inside this file because you are the only user — keep the file off any public host. The OpenRouter key you pasted in chat should still be rolled.
Three tactics, one pass
Find the names that are alreadyworking.
Your rules, written out as arithmetic. Liquidity gate first, then every surviving symbol is measured against all three setups on completed daily bars — no forecasting, no scoring things into mush.
⌘ + Return
Elapsed—
Last runNever
Tactics
— ·
T1
Rising staircase pullback
Three or more swing highs, each above the last. Buy while it's pulling back inside that structure. Out at −7%.
Swing highs required
Each high clears prior by %
Pullback band %
Higher lows too
Swing sensitivity (bars)
Max bars since the high
Lookback (bars)
Stop %
T2
Month-open flush reversal
Sold off in the first sessions of the month, low is in, short average has turned up. Buy the turn, not the fall.
Early-month window (days)
Minimum flush %
Bounce band %
Low may slip past window by
Min sessions into month
Stop %
T3
Flat base thrust
Went nowhere for weeks, then pushed more than 5% off the base on real volume. Buy the thrust. Out at −7%.
Base length (bars)
Max base range %
Move band %
Volume confirmation
Volume vs. base (×)
Thrust window (bars)
Stop %
Results
Ranked by setup quality · click a row for the arithmetic
MixedETFs and funds could not be excluded on this run — the list may contain instruments that are not shares.
SampleSynthetic price series. This proves the tactic logic runs — it is not a market reading. Switch to Polygon in Settings for real bars.
Ticker
Grade
Setup
Last
Chg
Stop
ADR 20d
$ Vol 50d
Quality
▸
Nothing scanned yet
Add a Polygon key in Settings, then press Scan stocks. Every symbol that clears the liquidity gate gets measured against the three tactics above.