Loading...
Loading...
We publish this because a signal service that shows you only its live record while it is young is telling you very little. The method, the costs and the unflattering numbers are all here.
The engine was replayed over 107 assets across roughly two years of daily candles. Each series was split in half: the first half is in-sample, where any tuning happened, and the second half is out-of-sample, which the tuning never saw. Only the out-of-sample column is evidence, and it is the only one shown in the tables below.
Every trade is charged a realistic round-trip cost — spread, slippage and fees — scaled by asset class and liquidity, from 0.04% on a major currency pair up to 0.5% on a thin altcoin. Backtests that skip costs systematically overstate an edge, and at these trade sizes the cost is a large share of it.
Trades never overlap: one position per asset at a time, opened only after the previous one resolves. A stop and a target inside the same candle is scored a loss, because the candle cannot show which came first and the conservative reading is the honest one. Levels are a 2.5-ATR stop against a 1:1 target, held for up to 30 days.
A profit factor of 1.10 means the simulated trades that hit their target returned 1.10 times what the trades that hit their stop cost, after trading costs. That is not an edge: this backtest does not show the engine making money. The per-trade figure also counts trades that reached neither level and closed at the holding limit, which is why it can differ in sign from the profit factor; on its own it is not evidence of an edge either.
| Bucket | Trades (out) | Win rate | Profit factor | Per trade |
|---|---|---|---|---|
| Trend continuation | 417 | 53% | 1.01 | +0.69% |
| Breakout | 354 | 55% | 1.22 | +0.58% |
| Mean reversion (not delivered) | 92 | 52% | 1.06 | +0.60% |
| Bucket | Trades (out) | Win rate | Profit factor | Per trade |
|---|---|---|---|---|
| Crypto | 320 | 58% | 1.28 | +2.37% |
| Stocks | 396 | 51% | 0.88 | -0.46% |
| Forex | 147 | 47% | 0.86 | -0.20% |
Generated 2026-10-22 by npm run backtest -- --json. Regenerating it republishes this page from the same code path the live engine uses.