Twenty-one classic trading strategies. Each one gets a virtual $1000, the same real Bitcoin data, and the same fees. No real money changes hands — the only thing at stake is which idea actually works.
Drag to move the start date. Every bot is re-run from scratch in your browser — same code, same fees, same data — and the leaderboard below re-sorts. —
—
Each bar spans a bot's best and worst finishing place across every start date; the filled dot is its median and the ring is the window you have selected above. A short bar near the left is a strategy whose result did not depend on when you happened to begin. These windows all end on the same bar and overlap heavily, so they are not independent trials — read the spread as “how much did the entry date matter”, not as a test of significance.
click any row for the full story · click a column to sort
| # | bot | family | equity | return | CAGR | max DD | Sharpe | Calmar | trades | win % | fees | in mkt |
|---|
—
One calendar year per column, one bot per row; the shade is the size of the move. A single CAGR averages all of this away — most of these bots are one good year carrying the rest. Years marked part are shorter than a year because the window starts or ends inside them, so their returns are not annual rates. Click a year to sort by it, or a row for the full story.
Binance BTCUSDT 1-hour candles, refetched every hour by cron and stored locally back to 2020. Coinbase is the fallback if Binance is unreachable. Bots trade on 4-hour bars aggregated from that store.
A bot sees a bar only once it has closed, and its order fills at the open of the next bar. It can never trade on the price that produced its own signal — the standard way backtests accidentally cheat.
0.10% fee per side (Binance spot taker) plus a 0.05% slippage haircut, charged on every fill. Frictionless backtests flatter high-turnover strategies enormously; these do not.
Long or flat spot only — no leverage, no shorting, no margin. Every bot starts with $1000 on the same day and is never topped up. Parameters are textbook defaults, deliberately not tuned against this data.
Every run replays all bots from raw candles. There is no stored portfolio to drift or corrupt, and the one random bot uses a fixed seed, so the whole history is reproducible from the data alone.
An automated harness re-runs every bot on truncated history and requires the equity curve to match exactly — any lookahead would diverge. It also re-derives cash, holdings and fees from the trade log.
This is a simulation built to compare ideas, not investment advice. Past performance on one asset over one period tells you very little about the future, and a strategy that wins here is not thereby a good strategy. No real money is involved anywhere in this project.