Documentation
How each tool works, what it needs, and where its numbers come from.
Getting started
Open the terminal: charts, quotes and the screener’s ranked scan work without an account. Crypto spot (BTC, ETH and SOL) streams from Coinbase; US equities are vendor quotes, polled, over our own stored daily history, and every figure carries a label saying which it is (see data labels). Press ⌘KCtrl+K for the command palette, / to search symbols, and ? for every keyboard shortcut.
These need a free account: Paper trading · Bar Replay · Drawing tools · Watchlists · Custom data · AI commands · Alerts · Screens · The chart copilot · The journal · Saved workspaces · The Strategy Lab · The brief · Order flow · The book · Research history · Options. Their controls show a lock and say so before you click. Every terminal tool opens with a free account; plans change data freshness, allowances, compute hours and ads (see plans and limits).
Charting
The chart is our own stack — self-hosted on the open-source Lightweight Charts renderer, with first-party analytics on top: 182 indicators (registry-driven picker), multi-pane oscillators, log/percent scales, session breaks, countdown-to-bar-close, and a Volume Profile over the bars the chart has loaded, with POC/VAH/VAL lines and its span named beside the toggle (where the loaded volume changes what it counts, it covers the bars after the change).
Drawing tools (with an account): lines, rays, channels, Fibonacci tools, shapes, text, a long/short position tool with its risk and reward, and a measure tool, with magnet snapping to OHLC; drawings are saved per symbol. Right-click the chart for quick actions: set an alert at the cursor price, drop a level, or export a watermarked PNG snapshot.
Bar replay (with an account): open it from the View menu’s Bar replay row or press ⌥RAlt+R, then scrub by date or step bar by bar at the active timeframe. When later bars arrive, 6 of the 182 indicators can redraw a closed-bar value by construction (ZigZag, Fractals (up), Fractals (down), TWAP, Loaded Average Price, Auto-Anchored VWAP). Each registry entry declares and tests that behaviour. Loading older history or correcting bars can also change values, including seeded and cumulative studies; each entry explains its history assumptions on its own page.
Automatic analysis and pattern detection
The Analysis tab beside the chart reads the bars on screen: the candlestick shapes and chart formations the detector found, what each active indicator reads, the trend, key levels, and a short summary. It is computed in your browser from the loaded bars, with no AI call and no account. Where a shape has a measured base rate, it is shown with its sample size, and it is withheld when the sample is too small to mean anything.
The detector knows 92 candlestick shapes and 18 chart formations. A trading style (Auto · Scalp · Day · Swing · Position) picks which candle sizes it also reads, after Elder’s Triple Screen: a slower size for the larger formations and a faster one for detail. Names printed on the chart are laid out so none overprint; Indicators → Names on chart sets how many appear. Every shape links to its definition and the rule the detector applies, and none is presented as a prediction.
The chart copilot
The chart copilot answers questions about the chart you are looking at, and “Analyze this chart” writes a reading of it. It describes what the chart shows; it does not tell you what to trade. It can propose chart actions — add an indicator, change the range, scroll to a date — and nothing changes until you click Apply. Chat answers come from Google’s Gemini. “Analyze this chart” is written by whichever of OpenAI’s GPT-4o mini, Anthropic’s Claude Haiku or Google’s Gemini is configured, tried in that order. Each answer names the model that wrote it.
It needs an account. On the free plan it answers 3 questions or analyses a day and 15 a month, and the copilot shows how many are left; paid plans have no daily or monthly count. An answer that fails costs nothing.
Screener
The ranked scan lists a fixed set of US large-cap stocks and ETFs by Momentum Score; the screener names every one beside its title. Without an account it is a 15-minute delayed snapshot, readable for 30 minutes a day.
A screen narrows that list with your own bounds, or with a plain-English description, over those names plus BTC, ETH and SOL. Price, RSI, day change, ATR, distance below the 60-session high and sector are the filters it applies. Other criteria are ignored. Anything outside that is reported back per query as an Ignored chip rather than silently dropped — the screen tells you which of your criteria it actually enforced. Running a screen needs an account; on the free plan it uses one of your 25 monthly live-data sessions, and a session keeps live data open for 30 minutes, so further screens inside it use nothing more.
RSI(14), ATR(14) and the 60-session high are computed here from our own stored daily bars, so a symbol with too little history is excluded from a bound rather than admitted on a guess. Setting bounds yourself runs no language model at all.
Every filter, and what it means · Glossary — order-flow, volume, options and data-label terms, in full · Momentum Score methodology · Technical Signal bands
Risk and position size
Position size from three numbers you supply: what the account holds, what fraction of it you are prepared to lose on the trade, and where the stop sits. Share counts are whole and always round down — rounding up spends more than the risk you authorised. The page also converts a closed trade into R-multiples and prints the drawdown recovery asymmetry, both computed by the same functions the calculator runs on.
It refuses where the arithmetic has no answer instead of returning a number: a stop equal to the entry risks nothing per share, so no size exists, and every other calculator quietly emits an enormous one. There is no symbol field, deliberately — arithmetic on numbers you entered is a tool, and the same arithmetic attached to a ticker is a position somebody here picked for you. The paper-trade ticket links here as “Size this trade”.
Evidence tools
Three surfaces, all free, none needing an account, and none with an endpoint behind them — the arithmetic runs in your browser, which is what makes it safe to paste a strategy you have told nobody about.
The overfitting auditor takes an equity curve and the number of variants you tried, and returns the Deflated Sharpe Ratio, the Sharpe that noise alone hands the luckiest of that many attempts, how much history the result would need to mean anything, and the marks on the curve worth explaining. A backtest is not evidence until you say how many you ran; a worked example loads on request, with its own trial count stated.
Live-forward divergence is the question after: draw the band your backtest implies, watch the live path against it, and run the tripwire that compares live fills against a deterministic replay of the same rules. It also computes whether the monitor you were about to trust can see the failure you are afraid of — for the usual construction, a CUSUM on daily returns, the answer is no, and the page shows the arithmetic rather than asserting it.
The honest leaderboard orders entries on the deflated number rather than the headline one, requires each entry’s trial count, and lists an entry that will not state one without ranking it. Submissions are not open yet, and the page states its current count at the top. Signed-in, your own research ledger and pre-registration vault keep that trial count as an append-only record, so the number follows you rather than being recalled after the flattering result is known.
Alerts
Alerts need an account. Once set, they are evaluated on our servers against provider quotes about every 30 seconds, so your browser does not need to stay open. Conditions: price above or below a level (draggable directly on the chart), RSI(14) at a chosen timeframe, and day move % from the UTC day open; a trendline break or a price zone can be set from a committed drawing. A price that crosses a level and returns between two evaluations can be missed.
One-shot alerts disarm on fire; recurring alerts re-arm after a cooldown you choose. Every fire is logged to your alert history and shows in the app; with browser notifications allowed it also notifies while the tab is hidden, and an alert can email you as well. Every condition is above or below a level; float equality ("price == X") is never compiled, because an alert that can never fire is a lie.
Strategy Lab
Visual backtesting over our stored history, run in your browser; the Lab needs an account, and every backtest and every cell of a parameter sweep is counted into your research ledger, which is where the auditor’s measured trial count comes from. Walk-forward and portfolio runs re-test one configuration rather than try new ones, so they are not counted; a run whose ledger write fails is not counted either. Rules from the indicator engine (MA cross, RSI reversion, MACD momentum + parameters), with honest fills: signals on bar close, entries at next open, pessimistic stop fills, fees both sides, adverse slippage on every fill.
Results: equity vs buy & hold, underwater drawdown chart, trade ledger with CSV export, and a walk-forward strip that runs your rules over sequential out-of-sample windows — a strategy that only worked in one regime fails loudly.
Data labels: where every number came from
Every figure that comes from a market carries a label saying how fresh it is and where it came from, with one meaning per word:
- LIVE
- A streamed quote or bar updated within the last 15 seconds. No other data in the terminal is labelled LIVE.
- DELAYED
- Correct but not real-time, with the detail saying how: polled a few seconds ago, a daily bar through a named session, or a 15-minute delayed snapshot.
- STALE
- Past its expected cadence: intraday bars older than twice their interval, daily history missing a completed session, or a cached scan served during a feed outage.
- DEGRADED
- A feed that is failing or reconnecting.
- SIM
- Simulated or sample data, shown instead of silently standing in for a market.
- REPLAY
- Bar replay is on: real history, with the clock stopped where you put it.
- UNCHECKED
- Not checked yet. A summary that includes anything unchecked says unchecked, never green.
A label names its source beside the state (a venue, a vendor, our stored history), and a summary of several feeds — a status line, a chip, a count — takes the worst state among them. AI answers carry the name of the model that wrote them: copilot chat is stamped with the Gemini model, “Analyze this chart” with the provider and model that wrote it, a typed screen with the model that read it, and a quantz-llm stamp marks the structured tasks our own hosted model handles when that path is switched on.
Anything that can change before a bar closes carries a forming/confirmed state, and backtests only ever consume confirmed, causal data.
Indicators, candlestick shapes and chart formations
One page per registry indicator: what it computes, its inputs and lookback, what it assumes about the bars, whether a value it has drawn can change, and what lies outside its inputs. One page per candlestick shape and chart formation: the definition, the ratio rule the detector applies with the values it ships with, and whether a prior trend is required. Every sentence is rendered from the registry or the catalogue, and every page says that no indicator or shape is claimed to have predictive value.
Selectivity: the refusal census
The operator ran his own strategy families through the same overfitting arithmetic the auditor runs on anyone’s curve, at universe scale, against a bar sealed before the run, and published the census: what the bar was, how many determinations were made, how many cleared it, and the two limitations declared beside the verdicts. Counts only; no symbol.
For agents
The read-only tools the MCP server serves at /api/mcp, written as a document: each tool’s inputs and outputs as the server registers them, the provenance fields every result carries, and the conditions under which it refuses — with the switches that turn the server on, and whether they are on here. The read-only surfaces that exist today are listed with the files that serve them, and /llms.txt is the machine-readable index of this site.
Coming from Pine Script?
Two places, depending on what the script did. For an indicator, Indicators → Script runs QScript, a small formula language: it checks the script as you type, says before anything is drawn whether it can repaint and how many bars it needs, and runs in your browser over the bars on the chart. It has no order and no alert verbs, so a script can draw and cannot trade.
For a strategy, the Strategy Lab is a visual rule builder over the same indicator engine the chart uses — where Pine has you write "EMA cross with a 5% stop", the Lab has a template with fields:
Pine ta.crossover(ema12, ema26) → Lab: MA Cross template, fast=12, slow=26. Pine strategy.exit stop=… → Lab: Stop % field. Pine input.int → the parameter fields on every template.
Plans and limits
Every terminal tool opens with a free account. What a plan changes is how fresh the data is, how much AI and compute you can use, and ads. Every number below is the one the product enforces, read from the same table the meters use:
- · Without an account: the screener’s ranked scan on a 15-minute delayed snapshot, readable for 30 minutes a day; charts and quotes with no time limit.
- · Free account: 25 live-data sessions a month (30 minutes each) and the delayed snapshot outside them; 3 chart-copilot answers a day and 15 a month; 10 compute hours a month.
- · Paid plans: live scan data and the copilot with no daily or monthly count; 50 compute hours a month on Analyst and 200 on Desk; no ads.
Compute hours are drawn by the AI work that runs on our servers — copilot answers, chart analysis, AI summaries and model-parsed commands. Charts, market data, alert evaluation and Strategy Lab backtests do not draw on them. Prices and the full comparison are on the pricing page.