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 109 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 2:1 target, held for up to 30 days.
A profit factor of 1.11 means the simulated winners returned 1.11 times what the losers cost, after trading costs. That is a modest edge, not a dramatic one, and it is spread across a low win rate with larger wins than losses — most individual trades lose. Any month can be negative.
| Bucket | Trades (out) | Win rate | Profit factor | Per trade |
|---|---|---|---|---|
| Trend continuation | 188 | 34% | 1.12 | +0.82% |
| Breakout | 215 | 33% | 1.10 | +0.42% |
| Mean reversion (not delivered) | 84 | 39% | 1.13 | +1.11% |
| Bucket | Trades (out) | Win rate | Profit factor | Per trade |
|---|---|---|---|---|
| Crypto | 124 | 39% | 1.28 | +2.64% |
| Stocks | 284 | 35% | 1.00 | +0.14% |
| Forex | 79 | 22% | 0.48 | -0.37% |
Generated 2026-09-08 by npm run backtest -- --json. Regenerating it republishes this page from the same code path the live engine uses.