How every Backtestify report is produced

Engine backtestify-engine-4 · Parser v10

Signals and fills

A signal only counts once the candle that produced it has closed. The trade itself fills at the OPEN of the next candle, never on the signal candle's own close, which the strategy could not have traded on in real time.

Same-bar stop and target

When a stop and a target are both touched inside the same candle, the level nearer the candle's open is taken first, the same rule TradingView's tester applies, so the report and the exported script book the same exit. A candle that opens beyond a level fills at the open. Every such trade is counted and disclosed as ambiguous.

Gaps

When a candle opens beyond the stop, the fill is the OPEN price, not the stop price, the strategy could not have gotten the stop price because the market never traded there. The same rule applies in the other direction: a candle that gaps straight through the target fills at the open, not the target. Fills never happen at a price the candle did not actually trade.

Costs

Every trade pays commission on both sides (entry and exit) at 0.05% per side, plus 0.02% slippage per side. These are the same defaults every simulation uses, see the "Execution assumptions" panel on any report for the figures actually applied to it.

Position sizing and the notional cap

Each trade is sized off account risk to the stop distance. Where a strategy has no stop, or the implied position would be larger than the account can actually hold, size is capped at 100% of account equity notional, a single trade never simulates more capital than the account has.

Data

Candles are exchange spot data. When the primary data source cannot serve a symbol or window, Backtestify falls back to the next provider in a fixed order rather than inventing candles, a run that could not get real data reports a failure for that timeframe instead of a result.

Indicator warm-up

Every indicator needs bars before it produces its first value. Backtestify fetches 3× the longest indicator period, floored at 50 bars and capped at 1000 bars, purely to warm indicators up. Those bars are never counted as tested history and no trade is taken on them.

Train / test split

History is split chronologically: the first 70% trains or selects the strategy, the remaining 30% is the unseen window, held back from the search. The winning spec is frozen and hashed BEFORE the unseen window is touched. That one frozen spec produces the verdict and is evaluated exactly once for that purpose. Afterwards, robustness and cost-stress diagnostics re-run the same frozen spec on the same candles, parameter neighbourhood, execution delay, extra slippage, doubled costs, and those extra evaluations are reported as diagnostics, never as the verdict.

A "create" or "improve" run also reports how many candidate specs were evaluated on the train window; it is always shown on the report's integrity receipt.

The verdict

Two outcomes. RECOMMENDED needs every gate below on the numbers the report shows.

Profit factor
≥ 1.1
Average trade
> 0
Net return
> 0
Max drawdown
≤ 40%
Trades, 1m – 2h
12
Trades, 4h and above
8
High win rate · ≥ 51%Large winners · PF ≥ 1.5Steady edge

Never recommended: a run that lost money, rules we could not execute as written, no exit rule, or a named strategy whose published rules we could not find.

Below these trade counts a recommendation carries a “limited sample” tag:

1m – 15m
100
30m – 1h
60
2h – 12h
40
1d and above
25

Unseen-window trades needed before its edge is scored:

1m – 15m
60
30m – 1h
40
2h – 12h
25
1d and above
15

What we do not claim

  • Every number is a hypothetical simulation of stated rules on past candles, it is not a live trading record and no capital was ever actually deployed.
  • No slippage or cost model survives all market conditions, especially thin liquidity or news events.
  • Results on one symbol or window do not transfer to another symbol, timeframe or period.

Public proof set

Real house-run reports, published with their full integrity receipt visible to signed-out visitors, including strategies that failed.