LogiCandle
LEARN / VALIDATION

How to validate a backtest

Read the reasons and weaknesses behind returns in this order.

A backtest applies trading rules to historical prices to compute what would have happened had you traded them. A return figure alone cannot tell a rule that works from one that got lucky.

Why backtests differ from live trading

Fees and slippage were left out, values unknown until the candle closed were used early (look-ahead), only surviving symbols were tested (survivorship bias), or the rules were tuned repeatedly on the same charts (overfitting). LogiCandle evaluates conditions on closed candles and enters at the next candle's open.

What out-of-sample (OOS) testing means

Running the unchanged rules on a period you never looked at while building the strategy. A period you have viewed can never be untouched again, so it is opened once, after the rules are fixed.

Practice results do not guarantee exam results.

Tuning rules on familiar charts can improve only past scores. OOS is an unseen test period opened after fixing the strategy. Once viewed, it is no longer untouched OOS.

CHECK 01

Does the edge survive higher costs?

Actual reruns: 0× removes fees and slippage; 1–3× hold fees constant and scale slippage. A negative mean at higher costs signals fragility.

CHECK 02

Which market conditions suit it?

Groups trades using BTC’s 200-bar average and volatility at the signal. Reveals regime dependence. Groups overlap, so do not sum their trade counts.

CHECK 03

Are a few big winners carrying the result?

Recalculate statistics after removing the largest P&L winners. Vanishing profits show concentration. This filters trades; it does not rerun portfolio allocation.

CHECK 04

Do nearby settings still work?

Nine reruns vary stop distance and holding period. A single good combination can indicate overfitting. Entry indicator lengths are not varied here.

CHECK 05

Did it work in different periods?

Reruns on chronological 60/20/20 splits. Weak later performance may reveal period dependence. A split called OOS is not unseen if you already explored it.

CHECK 06

Move the evaluation forward

Three forward-period evaluations of the same frozen strategy. Tests persistence over time; re-optimizing walk-forward is not implemented.

CHECK 07

How uncertain is the mean return?

Resamples blocks of trades 500 times and reports the central 95% range of mean returns. A range spanning zero weakens the evidence. Not a probability or guarantee of future profit.

CHECK 08

What if trade order changed?

Shuffles trade returns 500 times and compares drawdowns of sequential compounded paths. Shows loss-clustering stress, not an account simulation with concurrent positions or slots.

CHECK 09

How does position capacity change results?

Reruns allocate capital across 1, 2, 3, 5, 10 or 20 slots, with and without compounding. Fewer slots may miss signals. Compare drawdown as well as CAGR.

Reading the numbers

Total P&L

Final equity minus initial capital, including unrealized P&L.

Total capital return

(Final equity / initial capital − 1) × 100.

Final equity

Cash and marked value of open positions at the end.

Trade return

This trade’s net P&L / entry notional × 100, including fees, slippage and funding. For futures this differs from the leveraged return on margin.

Completed trades

Number of closed trades, excluding open positions. Small samples make win rate and averages unstable.

Win rate

Profitable trades after costs / closed trades × 100. A 60% rate means about 6 winners in 10; it says nothing about how large losses are.

Average return per trade

Mean of net P&L / entry notional × 100, including fees, slippage and funding. 1% means 1 earned per 100 of notional on average, not account growth.

Median trade return

Middle value of sorted trade returns. Compare it with the mean to see whether a few large winners distort the typical result.

Profit factor (PF)

Total net profits / absolute total net losses. 1.5 means 150 earned for every 100 lost. Undefined when there are no losing trades.

Average payoff ratio

Average winning return / absolute average losing return. 2 means an average win is twice an average loss. Read alongside win rate.

Worst trade return

Lowest net return of any closed trade. -8% means that trade lost 8% of entry notional. Positive if every trade won. Not account drawdown.

Mean return in R

Average net P&L / initial monetary stop risk. A 150 profit against 100 initial risk is 1.5R. Useful for comparing different stop distances.

Annualized growth (CAGR)

(Final equity / initial capital)^(365 / days) − 1, in %. Converts growth to a yearly pace; short periods can exaggerate it.

Maximum drawdown (MDD)

Largest drop from an earlier equity peak, including unrealized P&L. -20% means equity once fell from 100 to 80. Shows the decline you had to endure.

Net P&L

Sum of closed-trade P&L after costs; excludes unrealized P&L. Per-trade mode does not constrain trades by a shared account balance.

Fees

Entry notional × fee rate + exit notional × fee rate. Slippage changes fill prices and is not included in this fee amount.

Average holding bars

Mean number of candles touched from entry through exit. Multiply by timeframe for an approximate duration.

Longest losing streak

Maximum consecutive losing trades in closing order. Helps assess whether capital and plans can withstand repeated losses.

Sharpe ratio

Mean daily equity return / standard deviation × √365, assuming zero risk-free return. Measures return relative to variability; unstable in short samples.

Sortino ratio

Mean daily return / downside deviation × √365. Focuses on harmful downside variability rather than all fluctuations.

Calmar ratio

CAGR / absolute MDD. Compares annualized growth with the worst drawdown; undefined when drawdown is zero.

This guide is general information about reading backtest results, not investment advice. Past performance does not guarantee future returns.

Validate your own strategy →