Set the costs to none
The result roughly quadruples. That gap is the whole argument: a backtester that skips fees reports a strategy that does not exist.
Live demo
Twelve markets across two exchanges, three strategies, three bar clocks. Change anything and the backtest re-runs in this tab on the same deterministic kernel the command line uses. Free, no account, and nothing leaves your browser: the page replays a committed year of real exchange data locally.
loading the tape…
Open the full report for this run Trade list, cost breakdown and run settings, generated by the same function the CLI calls. The link carries the configuration, so it opens on this run and can be shared.
Four things worth trying
The result roughly quadruples. That gap is the whole argument: a backtester that skips fees reports a strategy that does not exist.
Same asset, same year, same rule. On Binance the crossover ends slightly ahead; on Coinbase's entry tier it loses 24%, with fees coming to more than three times the gross profit. A result is a claim about a venue, not about a coin.
Across a 5×5 grid of them, thirteen of nineteen lose money, and none finishes with more winners than losers.
The same rule on the same year, sampled differently, is a different strategy. The daily candles are aggregated from the hourly tape in this tab — nothing extra is downloaded to see them.