BACKTESTING

Rehearse the trade before the market grades it.

Step through real history on 14,000+ instruments — stocks, futures, forex, and crypto — with honest fills, prop-firm risk rules, and a journal that treats every simulated close like a real trade.

10 sessions on Essential · unlimited on Pro and Ultra

14,000+INSTRUMENTS — STOCKS · FUTURES · FOREX · CRYPTO
1s–30sTICK PLAYBACK ON PRO — MINUTES ON ESSENTIAL
UnlimitedSESSIONS ON PRO — 10 ON ESSENTIAL
~40FUTURES PRODUCTS, ROLLED CONTINUOUSLY

THE FILL ENGINE

A simulator that refuses to flatter you.

Most backtesters quietly grade on a curve. This one fills your orders the way a live broker would — which is the only rehearsal worth doing.

  • Limits fill at the better of your price and the open; stops at the worse — exactly what a gap does in real markets
  • Market orders fill at the next bar’s open — you can never trade a price that already printed
  • Full OHLC evaluation on every bar, never close-only triggering
  • Stop and target inside one bar? The engine assumes the stop hit first — a pessimistic tie-break you control per session
  • Fills only ever see raw contract prices — never back-adjusted ones

RISK

The rules prop firms actually test.

Simulate the account you're trying to pass, not an infinite demo balance.

  • Daily loss limits and max-drawdown circuit breakers that block new entries once breached — trailing drawdown included
  • Risk-based sizing: give a risk percent or fixed amount and a stop, get the contract quantity
  • ATR stops, auto break-even at N×R, and ATR trailing stops evaluated on every replayed bar — watched or not
  • Managed stops only ever move in your favor — a trail can never loosen, break-even can never widen risk
  • R-multiples stored per trade, so P&L in R is exact — not reconstructed later

THE JOURNAL

Every close becomes a real trade.

Not a CSV of hypotheticals — a journal entry, matched by the same engine that processes your live broker imports.

  • Same FIFO matcher as live imports — scale-outs become correctly matched individual trades, not one lump
  • Duration, outcome, and excursion computed by the same code as live trades
  • A full backtesting sidebar — sessions, dashboard, daily journal, notebook, strategies, reports — sharing ~40 widgets with your live journal
  • Permanently walled off: backtest trades can never leak into live stats — the module’s highest-consequence invariant, enforced at the data layer

BLIND MODE

No hindsight. Enforced at the server.

You already know what NVDA did in 2023. Blind replay hides the instrument, the dates, and the absolute price level — so you trade the pattern, not the memory.

  • Symbols appear as “Instrument A”, time reads as elapsed, and prices show as offsets you can still trade against
  • Redaction happens at the API edge — real values never leave the server, so even devtools can’t peek at what happens next
  • Symbol search, compare, go-to-date, and the economic calendar are disabled while blind
  • Blind trades stay out of every journal surface until you reveal — and reveal is one-way
  • Blind templates shared to the marketplace are redacted too — browsers see “1 future · 3 days”, never the answer

A CLOSER LOOK

A full trading desk, pointed at the past.

Everything you'd expect at a live desk is in the replay workspace — orders, positions, notes, context, and keyboard speed.

/01

Custom orders

Market, limit, stop, and stop-limit — with OCO brackets and day or GTC time-in-force, evaluated against full OHLC on every bar.

/02

Playback control

Play, pause, and speed multipliers. Tick granularity and chart interval are independent controls, so you can sim in seconds and read in minutes.

/03

Date controller

A scrubber that names any moment on hover and seeks on click. Seeking forward replays every bar in between — a stop you would have hit is never skipped.

/04

Positions & P&L

Live position, unrealized and realized P&L, and balance ride on the tape — the numbers a real desk would show you.

/05

Session details

Starting balance, per-unit commissions, tick settings, and prop rules configured per session — and stored server-side, so a refresh loses nothing.

/06

In-session notes

The journal is embedded in the workspace. Write the note while the bar is still printing, exactly like you should live.

/07

Economic calendar

Event context alongside the tape, so you know whether that spike was FOMC or noise. Disabled in blind mode — no hints.

/08

Risk tools

Position sizing from risk, ATR stops, auto break-even, trailing stops, and circuit breakers — the full risk section below.

/09

Keybinds

Keyboard-first order entry and playback, because the moment you rehearse for will not wait for your mouse.

AFTER THE BELL

The session reads itself back to you.

Close the session and the platform grades it — exact counterfactuals, deterministic coaching, and a scorecard diffed against your live trading.

What-if analysisEvery closed trade marked forward to +1h, +1d, session end, and the max-favorable price. 'You left $712 on the table and it took 34 minutes.' A horizon past the replay clock is null, never a value.
Coaching insightsTen deterministic insights over your MAE/MFE and behavior — stop-vs-MAE, cut-winners-early, revenge trading, breaker proximity. Each refuses to speak below an 8-trade sample.10
Session scorecardThe six Terra Score axes plus patience, discipline, risk consistency, and stop respect — each shown as replay vs live vs delta over your last 90 days.10 AXES
Rule adherenceP&L attributed by rules followed versus broken, sign reported honestly. If breaking a rule made money, it says so — that rule is worth revisiting.
✶ AI explainTerraAI narrates the computed numbers in plain English. Counterfactuals are computed exactly, not estimated — the model never invents a figure.

SCORECARD — REPLAY VS LIVE · LAST 90 DAYS

PATIENCE +12DISCIPLINE +6STOP RESPECT −8

PRACTICE

Drills, templates, and receipts.

Rehearsal only counts if it's targeted, repeated, and honest. All three are built in.

ULTRA

Deliberate-practice drills

TerraTrade finds your worst trades, scans months of history for setups that look like them — scale-invariant shape matching, not nearby prices — and turns the lookalikes into blind drills. 28 seed sources: your worst trades plus 27 named habits.

ULTRA

Spaced repetition

Revealing a drill auto-grades it by R-multiple into an SM-2 schedule — the same algorithm flashcard apps use. A Due page surfaces exactly the reps scheduled for today. Setups you remember are excluded: that would be a memory test.

Templates & marketplace

Package symbols, balance, tick, and risk rules as a template — fixed windows for shared studies, or seeded relative windows that draw unseen history yet replay identically for everyone who forks them. The marketplace shows setups, never track records.

Shareable session reports

Send anyone a read-only session link — no account needed. Nine independently toggleable sections, 128-bit unguessable tokens, links that expire and revoke, view counts for you. Unticked sections are never serialized.

LEVEL 2

Order flow, replayed honestly.

Replay isn't just candles. The book, the tape, and the profile play back in sync with the clock — and always tell you where their data came from.

  • A DOM ladder that reads outward from price — sold volume, bid, price, ask, bought volume — like a real depth display
  • Each print classified against the book that was live at that instant, not the current one
  • Crypto’s book is honestly implied from the prints themselves — and labeled “implied” when it is
  • Volume profile and TPO built from what actually traded: POC, value area, naked VPOCs — with the source (tape or bars) always labeled
  • The future is never visible: buffered data is revealed only as the clock reaches it
The same ladder plays your live trades back in Trade Replay

UNDER THE HOOD

Built like an exchange, tested like one.

The parts you'll never click on — and would miss immediately anywhere else.

Continuous futuresBacktest 'ES' across months and the dated contracts stitch themselves — rolling 2 days before expiry, back-adjusted so indicators never see a phantom roll gap, while fills always happen at real traded prices.~40 PRODUCTS
Tick-true pricesThe chart's price ladder snaps to the contract's real tick — 0.25 for MNQ — so a dragged stop is always a fillable price.
Instant symbol pickerA local, indexed instrument catalogue: exact ticker first, prefix matches next, no rate limit between you and a text box. Futures search as products (ES, NQ), never thousands of expired contracts.14,000+
One request per dayBar chunking steps through a full trading day of one-minute bars on a single upstream request instead of ~400 — playback is instant and local.
Sessions survive refreshThe clock, working orders, fills, and position live server-side. Close the laptop mid-week; the week is still there.
Multi-strategy sessionsLink up to 10 strategies to one session with per-trade rule check-off — so adherence analytics work in the sim exactly like they do live.10
Mutation-tested fills18 deliberate bugs planted in the fill and pricing arithmetic — including the classic backtest-flattering stop bug — each verified to be caught by the test suite.18/18

TERRAAI IN SESSION

The co-pilot rides along.

TerraAI sits beside the replay the same way it sits beside your live journal — and every number it cites is computed, never imagined.

Time on the clockHold-time and time-of-day patterns surfaced from the session — computed against your live baseline, not guessed.
Habit trackingOvertrading and revenge entries flagged as they show up in the sim, before they show up in your account.
Anomaly detectionRisk-size outliers and stops that never matched your MAE, caught while the session is still cheap.
Relative performanceEvery session scored against your last 90 days of live trading — so practice provably transfers.
Explore TerraAI

The market already wrote the answer key.

Pick an instrument, pick a week, and rehearse it until the habit sticks. 10 sessions, 10 strategies, and 3 templates on Essential — unlimited on Pro and Ultra.

Essential $29/mo · Pro $49/mo · Ultra $89/mo · Cancel anytime