Documentation

Everything runs in the browser — no install, no data contracts.

Getting started

Open the terminal — it works signed-out with live public market data. Create an account to persist drawings, alerts, watchlists, and workspaces across devices. Press ⌘K for the command palette; type a ticker anywhere to switch symbols.

Charting

The chart is our own stack — self-hosted on the open-source Lightweight Charts renderer, with first-party analytics on top: 151 indicators (registry-driven picker), multi-pane oscillators, log/percent scales, session breaks, countdown-to-bar-close, and a deep Volume Profile computed server-side over our full stored history (POC/VAH/VAL lines).

Drawing tools: trendline, ray, extended line, horizontal/vertical line, parallel channel, fib retracement + extension, rectangle, text, measure — magnet snapping to OHLC, all persisted per symbol when signed in. 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: enter the Time Machine from the toolbar, scrub by date or step bar-by-bar at the active timeframe. Indicators recompute as bars arrive, and nothing repaints silently: every registry entry declares whether a value it has drawn can change, a test checks that declaration against the arithmetic, and 7 of the 151 can redraw a closed bar by construction (Anchored VWAP, ZigZag, Fractals (up), Fractals (down), TWAP, Loaded Average Price, Auto-Anchored VWAP). Each says so on its own page.

Screener

Describe a setup in plain English or set the bounds yourself. 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.

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 — every abbreviation, 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.

Open the risk toolkit

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.

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 ranks on the deflated number rather than the headline one, prints the trial count beside every row, and refuses to rank an entry that will not state one. 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 run server-side against live tick channels — your browser doesn't need to stay open. Three condition kinds: price (above/below a level — draggable directly on the chart), RSI-14 on any stored timeframe, and day move % from the UTC day open.

One-shot alerts disarm on fire; recurring alerts re-arm after a cooldown you choose. Every fire is logged to your history tab and can raise a browser notification when the tab is hidden. 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, entirely in your browser. 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 provenance (SIM/LIVE badges)

Every data-bearing widget shows where its data came from. A green LIVE chip names the venue (e.g. coinbase). An amber SIM chip means simulated or generated data — shown honestly instead of silently. AI answers carry a source stamp too: quantz-llm means it was generated on our own hardware.

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.

Indicators · Candlestick shapes and chart formations

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.

Read the census

For agents

The read-only contract an agent would call against, written as a document: each tool’s inputs, outputs, the provenance fields every answer carries, and the conditions under which it refuses — each marked live or behind a flag. 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.

The agent contract

Coming from Pine Script?

We deliberately didn't clone Pine. The Strategy Lab is the answer: where Pine makes you write code to test "EMA cross with a 5% stop", the Lab is a visual rule builder over the same indicator engine the chart uses — instant, no compile step, no separate language to learn.

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.