BTC SMA 50/200 Crossover Strategy: 2026 Backtest Results

The SMA 50/200 crossover is the most popular crypto trend-following strategy. Here are the actual numbers from backtesting 302K candles.

Raw Results (No Regime Filter)

| Asset | Period | Return | Max Drawdown | Win Rate |

|---|---|---|---|---|

| BTC (daily) | Mar 2023 — Mar 2026 | +41% | -52% | 42% |

| ETH (daily) | Mar 2023 — Mar 2026 | +41% | -48% | 39% |

| SOL (4h) | Mar 2023 — Mar 2026 | +312% | -61% | 45% |

With Regime Filter

| Asset | Return | Max Drawdown | Improvement |

|---|---|---|---|

| BTC | +41% | -31% | -40% drawdown |

| ETH | +166% | -31% | +305% return |

| SOL | +586% | -38% | +88% return |

The regime filter scales position size by market condition: 100% in bull, 40% in chop, 10% in bear.

The Regime Filter Code

``python

import requests

regime = requests.get("https://getregime.com/api/v1/market/regime").json()

scale = {"bull": 1.0, "chop": 0.4, "bear": 0.1}[regime["regime"]]

position_size = base_size * scale

`

Key Findings

  • Stop losses destroy SMA crossover with leverage. 3% SL + 5x = guaranteed stopout from normal volatility.
  • The crossover flip IS the exit signal. Don't add a stop on top.
  • Regime filtering matters most for ETH and SOL — BTC gets similar returns but much less drawdown.
  • SOL on 4h timeframe has the strongest trend-following edge — +586% with regime filter.
  • Try It

    Free regime API: curl https://getregime.com/api/v1/market/regime`

    Python bot with regime filter: github.com/Thordersonjg/regime-trading-bot

    Full docs: getregime.com/quickstart