From backtest to live: what carries over and how

What you configure in tests (schedules, position management, risk) does run live — with a safety net that never turns off. Here we explain exactly what carries over identically, what changes on purpose and why.

Build a trading bot from scratch

The most common question when moving an algorithm from tests to real money is: "I configured this in the Tester, does the live robot actually do it?". Short answer: yes, it respects it. The full answer is here — with a golden rule worth understanding first.

Golden rule: live, everything moves WITHIN a safety envelope. Your risk caps (max risk per trade and max daily loss) never turn off. The advanced options below decide how to distribute risk inside that limit — they never break it.

What carries over IDENTICALLY from the backtest

  • Schedules and sessions (Asia/Tokyo, London, New York…): if your algo only trades in one session, live does too — it doesn't trade 24 hours.
  • Higher-timeframe filter (MTF): the higher-timeframe trend filter applies the same way.
  • "Both" direction (long and short with flip): trades both sides with a single position at a time, same as in tests.
  • The 9 exit modes (fixed Stop/Take, ATR, trailing, breakeven, partial, time-based, structure…) compute the initial SL/TP the same.
  • Break-even and Trailing as MODIFIERS (not just as exit modes): they move your stop to no-loss / trail it up live, just like in the backtest.

Confirm on candle close (optional)

The backtest decides to enter at the CLOSE of each candle. The live robot, by default, reacts tick by tick (while the candle is still forming) so it doesn't miss opportunities. If you want live to decide exactly like the backtest, enable "confirm on candle close": the robot will wait for the candle to close before evaluating the entry. It's optional and off by default so it doesn't change existing algos.

Partial close (partial_tp)

The "partial close" mode closes part of the position at the first target (TP1), moves the stop to no-loss and lets the rest run to the second target (TP2). On practice (paper) accounts it already works fully. On real brokers it's being validated with demo accounts: for now it moves the stop to no-loss at TP1 and runs the rest to TP2 (without closing the half yet). Off by default.

Risk multiplier: martingale and anti-martingale

Martingale increases risk after each loss and returns to base when you win. Anti-martingale does the opposite: it increases after each win. Live it works exactly that way, multiplying risk by your streak. The difference from a "raw" martingale is the safety net: the per-trade cap clips the size if it spikes, and the daily loss cap pauses the algo when the day's budget runs out. That's why you don't need a "level limit" to be protected: the day closes before a long streak can ruin you.

TradeStreakRisk (base $100, ×2)Result
10 losses$100❌ loses
21 loss$200❌ loses
32 losses$400✅ wins
40 (reset)$100 (back to base)

Martingale is aggressive by nature. Even though the daily cap protects you from blowing up the account, a bad streak burns your day's budget faster. Use it wisely and only if your backtest validates it.

Per-algorithm daily loss cap

You can give an algo its own cap: "pause this algo if it loses X% in the day", independent of the portfolio cap. The X% is measured on the slice the portfolio assigned to that algo (its weight). This way each algo looks after its own portion: if one has a bad day, it pauses by itself without affecting the others. If its own cap is stricter than the portfolio's, it pauses earlier; if looser, the portfolio's wins (the strictest always wins).

Position size: institutional vs fixed risk

By default, live sizes like a fund: it distributes the portfolio's risk budget across algos by weight. That protects the whole, but the size doesn't exactly match the backtest's "X% per trade". If you want live to replicate the backtest's sizing, enable fixed-risk mode: it risks the same % you set in tests. And if your backtest didn't use compounding (risking on the growing balance), you can fix it on the initial balance to match. In either mode, the safety caps remain in force as a net.

In summary

  • Schedules, MTF, direction and exit modes: reproduced identically.
  • Break-even/Trailing as modifiers: work live.
  • Martingale/anti-martingale, per-algo daily cap and fixed risk: optional, you enable them, always within the safety envelope.
  • Risk caps (per trade and per day) NEVER turn off: they're the net that keeps a streak or an error from getting out of control.