Contents · Manual backtesting and sessions

Manual backtesting and sessions

Turn practice into a session with cost assumptions, orders and a report.

A session is one complete practice run: pick symbols and a window, start replaying from a point in the past, place orders, manage positions, and end it when you are done. Tradebreath keeps the whole thing, so the report is always one link away.

Where sessions come from#

Two sources:

  • Manual — started in the chart from Explore or from a recent session on Home. Every order in it is yours.
  • Materialized from an AI run — Open in chart on a result card turns an automated backtest into a manual session, so you can walk the same rules bar by bar.

Both appear in the Manual list under /backtests, and the report labels which one it is.

Set the cost assumptions first#

The numbers in Settings → Backtesting decide what every result means:

FieldMeaning
BalanceStarting equity
LeverageA cap: notional ≤ equity × leverage
Commission (%)Charged on the notional of every fill
Spread (pips)Charged on every fill
Financing (% per year)Overnight cost on notional; may be negative

The assumptions are written into every report and shown on the AI result card. When two runs are compared, a changed assumption is highlighted.

Draft media · Screenshot1200×800 · webp · ≤110 KB

Settings → Backtesting, with realistic non-zero commission, spread and financing values rather than the defaults.

file → apps/site/assets/images/tutorials/manual-backtesting/cost-settings.webpsrc → /tutorials/manual-backtesting/cost-settings.webp
These five fields decide what every result on the page means.

The life of an order#

Three order types:

  • Market — fills at the next tradable price
  • Limit — fills only at a better price
  • Stop — fills only once price trades through a level

Every order can carry a take profit and a stop loss. When the replay reaches a trigger, the order fills at that price — unless price gapped past it, in which case the fill is at the open, not at the line you set. That makes the loss boundary more honest.

From the Positions panel you can move stops and targets, close part of a position, or reverse it.

Draft media · Screenshot1200×900 · webp · ≤120 KB

The order dialog after drawing a Long Position: Order type, Position Size, Take Profit, Stop Loss and Risk Percent filled in with plausible numbers.

file → apps/site/assets/images/tutorials/manual-backtesting/order-dialog.webpsrc → /tutorials/manual-backtesting/order-dialog.webp
A stop and a target are set once, on the order, and editable from the position afterwards.

Ending a session#

Pushing the replay to the end of the data, or ending it yourself, opens the settlement dialog with a summary of the balance change. Open report goes to the Performance report.

The report first states what was run: symbols and timeframes, the window, initial balance, minimum required balance, replay duration, commission, spread and leverage. Then the numbers:

Draft media · Screenshot1600×1200 · webp · ≤200 KB

The top of a Performance report with a session that actually traded: assumptions row visible, and the four metric blocks below it. Blur anything account-identifying.

file → apps/site/assets/images/tutorials/manual-backtesting/report.webpsrc → /tutorials/manual-backtesting/report.webp
The assumptions come first, because they are what the numbers below them mean.
BlockQuestion it answers
Net PnLHow much was made; realized vs unrealized; return and final balance
Profit FactorGross profit against gross loss; best and worst trade
Risk RewardAverage win, average loss, max run-up, max drawdown
Win RateWins and losses, streaks, total trades, expectancy
ProjectionDaily, monthly and annual return at the current pace

The projection scales a short window up. On a small sample the noise scales with it: read it as an order of magnitude, not a forecast.

Have the assistant read it#

AI Review on the report hands it to the assistant, which points out where the result is fragile, which numbers depend on a handful of trades, and what is worth changing next. It reads the engine's numbers rather than estimating its own.

This spends AI credits; see the last chapter.

Export and review#

Export in the positions panel writes closed trades to CSV — one row per exit, with symbol, side, quantity, entry and exit time and price, gross and net P&L, fees, exit reason and bars held. The file carries a UTF-8 BOM, so Excel, MetaTrader, TradingView and the usual journals open it without asking questions.

Put it next to your live records and it becomes a review tool rather than a screenshot.

Next#

Manual backtesting tests how you trade. The next chapter covers the other half: having AI turn an idea into rules, run the full history, and explain what happened.