Backtest & Methodology

How we measure what works.

The homepage headline number (61.3% win rate · 2.75 profit factor · +47.1R · 6.3R max drawdown) comes from a single row in the table below: Trding Fire, Default preset with Zone Proximity Filter, SOXL 1-hour bars, two-year window 2024–2026 (62 trades). This page shows every other preset we’ve measured so you can see how the same engine performs across timeframes, trade counts, and filter settings. Nothing is hidden.

How to read these results

Every row is one backtest run of the Trding Fire indicator against historical price data for a single ticker (SOXL) at a single timeframe. The engine enters when its 0-10 Odds Enhancer score clears the preset’s minimum threshold, sets a stop at the ATR-derived level, and scales out across three take-profit targets. Every “R” in the total return column is one unit of initial risk — so +10.1R means the cumulative winning R-multiples exceeded the cumulative losing R-multiples by 10.1 units of risk. A preset with 20 trades that yields +10R is, on average, risking $1 to make 50 cents per trade.

Three metrics matter together, not individually:

Daily timeframe — SOXL, April 2024 to April 2026 (500 bars)

The daily timeframe is our longest-window dataset. Among the daily presets, Aggressive at min_score 4 is the only row with both a meaningful trade count and a positive expectancy. The Swing rows show that stricter confluence filters produce too few trades to be statistically meaningful at this timeframe.

PresetMin ScoreTradesWin RateProfit FactorTotal RMax DD (R)
Swing6366.7%1.84+1.4R1.6R
Swing5933.3%0.85−1.1R3.4R
Swing41030.0%0.79−1.6R3.4R
Aggressive42552.0%1.68+10.1R7.9R
Default42240.9%1.13+2.1R7.9R
Default32240.9%1.13+2.1R7.9R
Swing presets on the daily timeframe produce very few trades over a 2-year window (3–10), so their win-rate numbers are statistically shaky — don’t read too much into a Swing row. They’re included for transparency, not as marketing evidence.

Intraday — more trades, tighter windows

Intraday timeframes generate many more trades, which is both the opportunity and the risk: more data points for statistical significance, but also shorter historical windows (Yahoo Finance caps 15-minute bars at 60 days and hourly bars at roughly 2 years).

5-minute bars — last 60 days (Feb to April 2026)

PresetTradesWin RateProfit FactorTotal RMax DD (R)
Scalping24659.8%2.34+165.0R7.4R
Aggressive18256.6%2.23+108.8R8.4R

15-minute bars — last 60 days (Feb to April 2026)

PresetTradesWin RateProfit FactorTotal RMax DD (R)
Default4153.7%1.74+17.0R6.1R
Aggressive4445.5%1.64+15.6R6.7R

30-minute bars — last 60 days (Feb to April 2026)

PresetTradesWin RateProfit FactorTotal RMax DD (R)
Default1952.6%1.94+10.7R5.5R
Aggressive2157.1%2.04+13.8R5.3R

1-hour bars — May 2023 to April 2026 (~2 years, 5,074 bars) — homepage row

PresetTradesWin RateProfit FactorTotal RMax DD (R)
Default + Zone Proximity Filter ← headline6261.3%2.75+47.1R6.3R
Default (no filter)16753.9%1.74+72.9R15.0R
Aggressive (no filter)22353.8%1.58+85.8R11.8R

Out-of-sample validation — tested on data the system never saw

The tables above are measured in-sample — on the windows we used to study the engine. The fair question any serious trader asks is: does the edge hold up on data the system wasn’t measured on? To answer it, we ran the exact same Trding Fire engine (ke_backtester.py) on two windows outside our published data — one that comes after our cutoff, and one that predates it entirely. Same engine, same presets, no re-tuning.

Out-of-sample equity curves for the Trding Fire engine on SOXL, showing rising cumulative-R for the Default and Aggressive presets both after and before the published data window.
Cumulative R (units of risk) across each out-of-sample window. Both presets trend up in periods the engine was never fit to.

After the published data — SOXL 1-hour, April 2026 to present

This window is entirely after the data behind our homepage number, so the engine had no exposure to it.

PresetTradesWin RateProfit FactorTotal RMax DD (R)
Aggressive2161.9%2.71+15.1R2.0R
Default1957.9%2.32+12.0R2.8R
Conservative4

Before the published data — SOXL daily, 2020 to early 2024

This window predates our published daily study and includes the 2022 bear market — a genuine stress test across a full regime change.

PresetTradesWin RateProfit FactorTotal RMax DD (R)
Aggressive3871.1%3.67+32.0R2.4R
Default3060.0%2.51+16.8R3.4R
Conservative3
Bar charts comparing win rate and profit factor for the Default and Aggressive presets across the two out-of-sample windows.
Win rate and profit factor by preset, both out-of-sample windows.

What this does — and does not — show

The point isn’t any single number; it’s consistency. The Aggressive preset held a 62–71% win rate and a 2.7–3.7 profit factor on data both before and after our published window — strong evidence the edge is a real characteristic of the engine, not a curve fit to one lucky stretch.

In the interest of the same transparency as the rest of this page:

What we picked for the homepage and why

We could have picked any of these rows to put on the front page. The 5-minute Scalping preset has the largest trade count (246). The 1-hour Aggressive row has the longest market history with 200+ trades. We picked the 1-hour Default preset with the Zone Proximity Filter enabled for four reasons:

Tradeoffs worth naming: 62 trades is a smaller sample than the 5-minute Scalping row (246 trades) or the 1-hour Aggressive row (223 trades). For traders who prioritize trade frequency, those are the rows to study. The methodology behind the filter is documented on the methodology page; the interactive demo shows it running on chart.

Reproducing these numbers yourself

Every result on this page comes from cloud/ke_backtester.py, a faithful Python translation of the Pine Script v2.0.0 Trding Fire engine. It replicates EMA crossover entries, the 0-10 Odds Enhancer score, ATR-derived stop-loss with optional structure-based SL, three take-profit levels, and trailing stops. If you want to reproduce a row, point the backtester at the same ticker, interval, and preset parameters — the numbers should match within rounding.

Important disclaimer. Past performance does not guarantee future results. These backtests are simulations on historical price data; they do not reflect slippage, broker commissions, or the real-world cost of being filled inside the bar. Every trade the algorithm places in your account puts real capital at risk. Every Trding.ai subscriber is fully responsible for their own trades, their own position sizes, and their own risk management. Trding.ai is a software tool, not a registered investment advisor; nothing on this page constitutes investment advice.