Skip to main content

Backtest realism

Quanorix’s engine aims to be deterministic and close to MetaTrader, but it is not a tick-for-tick Strategy Tester emulator. Understanding the model avoids surprises when exporting.

Causal signal

  • The signal is evaluated on the close of bar t.
  • Market fills are modeled on the open of t+1 (except pending/edge rules documented on the strategy).
  • No look-ahead: generator and backtest share that semantics.

Costs

Set them in Generator, strategy detail, or Settings defaults.

SL / TP and M1

  • On the entry bar the engine may evaluate SL/TP per engine rules (including intrabar resolution on M1 when applicable).
  • Fills report time to the minute (M1) when data exists.
  • No re-entry on the same exit bar (avoids unrealistic recycling).

Lots and instrument

  • Size is normalized to instrument lots (min/max/step).
  • If risk asks below/above a bound, you get a lot clamped warning.
  • USD PnL/sizing may need a conversion pair; if missing, there is a fallback with a warning.

Entry trigger: level vs edge

  • Level: may retry while the signal stays true.
  • Edge: a pulse on false→true (better MT parity on sticky signals, especially HTF).
See also Presets and multi-TF.

What does not guarantee perfect MT4 parity

  • Different history (GMT vs broker +2/+3) → Sessions and TZ.
  • Approximate or unsupported blocks on export.
  • Terminal spread/commission different from the backtest.
  • Pending / BE / trailing behavior if broker/tester differs.

Next