Backtesting

Backtesting Slippage in cTrader

A cTrader backtest can model spread and commission yet still leave slippage untested. Build an execution stress test before trusting the curve.

Backtesting slippage in cTrader requires a separate execution stress test. The documented backtest settings expose spread and commission, but they do not expose a dedicated slippage setting, so a clean default report does not prove that the strategy survives adverse fills.

That distinction matters because spread and slippage charge different things. Spread is the quoted gap between bid and ask. Slippage is the difference between the price an order expected and the price it actually received. A test can include one and still ignore the other.

What cTrader's backtest settings actually cover

cTrader lets a backtest specify its data mode, spread and commission. The official BacktestingSettings reference lists DataMode, DataFile, Commission, CommissionType, automatic commission and SpreadPips. It does not list a slippage property.

The platform's cBot backtesting guide also separates the historical-data choice from cost inputs such as spread and commission. Those controls are useful. They are not evidence that a historical run recreated queue position, network delay or the live price available when an order reached the broker.

This is why broker data and cost settings can change the same cTrader backtest. Slippage adds another execution uncertainty rather than replacing spread or commission.

Define slippage before trying to model it

Slippage should be recorded per fill as a signed difference between the reference price and the executed price. The reference must be declared: the quote when the order was requested, the stop trigger, or another price that the live system can capture consistently.

Direction matters. For a buy, a higher execution price is adverse. For a sell, a lower execution price is adverse. The sign reverses when the position exits, so a casual “subtract some pips from every trade” rule can accidentally improve one side of the ledger.

A useful execution record contains:

FieldWhy it belongs in the test
Order and position identifierJoins requests, fills and exits without guessing
Request and execution timeExposes delay and event ordering
Side and order typeKeeps adverse direction explicit
Reference and fill priceMakes signed slippage reproducible
Requested and filled volumeReveals incomplete or rejected execution
Market contextSeparates ordinary conditions from stressed periods

The record is more valuable than one average. Averages can hide a lopsided tail, exactly where a prop account is most vulnerable.

Run a baseline and adverse-fill scenarios

The honest comparison holds the strategy logic constant and changes only the execution assumption. Keep the same signals, sizing rule, date window, spread and commission. Then rerun the account path under declared slippage scenarios.

Start with a baseline that matches the documented cTrader configuration. Add a symmetric adverse-fill scenario to learn how sensitive the edge is to a uniform execution debit. Then add a conditional scenario that applies more pressure where the strategy is plausibly exposed, such as stop entries, exits during fast markets or orders submitted around thin liquidity.

These are stress scenarios, not forecasts of live slippage. Their job is to answer a narrower question: how much adverse execution can the tested edge absorb before expectancy, drawdown or account-rule compliance changes materially?

If your testing layer cannot alter fill prices without also altering signals, say so. A post-trade ledger haircut can provide a first sensitivity check, but it cannot recreate path-dependent effects such as a different stop sequence, changed position size or an account limit reached earlier.

Inspect the path, not only net profit

Slippage can change more than the final return. It can move the timing and depth of floating equity lows, turn a marginal winner into a loss, alter the next balance-based position size and cause later trades to disappear behind a risk gate.

That makes sequence important. Compare the full equity path, worst day, drawdown episodes, rejected orders and trade count between the baseline and each stressed run. Stress-testing a prop backtest with scenarios explains why one shocked total is not enough; the route to the result can decide whether an account survives.

Fast strategies deserve particular suspicion because a small execution debit is charged repeatedly. Slower systems are not immune: a gap or stop fill can concentrate the cost in one account-defining event. Frequency changes the shape of the exposure, not the need to test it.

What a slippage test still cannot prove

A scenario does not predict a broker's future fills. Live execution depends on order type, liquidity, latency, infrastructure and market conditions that a historical report cannot fully replay.

The test can still falsify a fragile claim. If modest adverse fills erase the edge or push the account across its risk boundary, the original curve depended on execution generosity. If the strategy remains viable across declared scenarios, that is evidence of robustness, not a guarantee.

realbacktesting is a trading-software studio for cTrader built around results that traders can inspect and reproduce. Its methodology states the data and cost assumptions behind published tests; slippage should receive the same treatment whenever a result depends on it.

Frequently asked

Does tick data automatically include slippage?

No. Tick data describes the historical market path supplied to the backtest. Slippage describes the difference between a declared reference price and the fill received, which requires its own execution assumption or observed live record.

Can I add spread and call it slippage?

No. Spread is the bid-ask gap; slippage is movement between the reference and execution prices. Combining them into one unexplained debit prevents the reader from reproducing either assumption.

Is one fixed slippage value enough?

A fixed adverse value is a useful sensitivity test, not a complete execution model. Keep it as a transparent baseline, then test conditional stress where the strategy's order types and timing create plausible exposure.

The stubborn takeaway

If slippage is absent from the specification, it is absent from the evidence, however smooth the equity curve looks.

Published Sep 17, 2026 · realbacktesting · Educational content and market commentary — not financial advice. Trading involves risk; past performance does not guarantee future results.