We backtested 20 trading rules on crypto. Here is how each one did.
Each rule ran exactly as written on the top 10 Hyperliquid perpetuals at once, each coin with an equal share of the account, on the 4h and 1d charts, from 2024-08-15 to 2026-09-29, with fees, slippage and funding paid. A portfolio of 10 coins is a better test than one coin. It trades many more times, so one lucky or unlucky coin cannot decide the result, and its drawdowns are usually smaller because each coin's bad stretch hits only its share of the account. It lifts a result only when the rule works across coins; a rule that works on one or two coins looks no better here. Running one rule over a whole portfolio in a single backtest is what Keel is built for. A poor grade is as useful as a strong one: it is a rule you do not have to test with your own money.
Data through 2026-09-29
Every rule by grade
Every rule gets one grade from its portfolio results. Pick a rule to see its exact definition, every coin, the settings that mattered and the strategy itself, block by block.
- OK
The rule cleared our bar on the portfolio in at least one run, or did well enough across all of them.
- Keltner ChannelIchimoku CloudBreakout (Donchian / turtle)Momentum (trend following)Break of structure (BOS)EMA crossoverParabolic SARSupertrendADX
- Weak
The rule made money on the portfolio in at least one run, but no run cleared our bar.
- Golden crossOrder blocksMACDHeikin AshiRSIMean reversionStochasticBollinger BandsFair value gap (FVG)VWAP
- Poor
The rule made no money on the portfolio in any run, or lost most of the account as the textbook writes it.
- Liquidity sweep
Trend following
| Rule | Grade | Best portfolio run | Sharpe | Round trips |
|---|---|---|---|---|
| Ichimoku Cloud | OK | 1d, long only | 1.14 | 153 |
| Momentum (trend following) | OK | 1d, long only | 1.11 | 385 |
| Parabolic SAR | OK | 4h, long only | 0.96 | 1,923 |
| Supertrend | OK | 1d, long only | 0.90 | 100 |
| ADX | OK | 1d, long only | 0.89 | 52 |
| Heikin Ashi | Weak | 1d, long only | 0.63 | 942 |
Moving-average crossovers
| Rule | Grade | Best portfolio run | Sharpe | Round trips |
|---|---|---|---|---|
| EMA crossover | OK | 1d, long only | 0.98 | 164 |
| Golden cross | Weak | 4h, long only | 0.96 | 145 |
| MACD | WeakOK with vol-targeted sizing | 4h, long only | 0.69 | 1,788 |
Bands and channels
| Rule | Grade | Best portfolio run | Sharpe | Round trips |
|---|---|---|---|---|
| Keltner Channel | OK | 4h, long only | 1.37 | 514 |
| Breakout (Donchian / turtle) | OK | 1d, long only | 1.13 | 174 |
| Mean reversion | Weak | 1d, long only | 0.48 | 95 |
| Bollinger Bands | Weak | 1d, long only | 0.38 | 130 |
| VWAP | Weak | 1d, long only | 0.26 | 55 |
Oscillators
| Rule | Grade | Best portfolio run | Sharpe | Round trips |
|---|---|---|---|---|
| RSI | Weak | 4h, long only | 0.53 | 335 |
| Stochastic | Weak | 1d, long only | 0.46 | 198 |
Smart money concepts
| Rule | Grade | Best portfolio run | Sharpe | Round trips |
|---|---|---|---|---|
| Break of structure (BOS) | OK | 1d, long only | 1.06 | 154 |
| Order blocks | Weak | 1d, long and short | 0.73 | 99 |
| Fair value gap (FVG) | Weak | 1d, long and short | 0.36 | 288 |
| Liquidity sweep | PoorWeak with a 200-day trend filter | 1d, long only | -0.40 | 134 |