← Back to blog
Build in publicMay 1, 2026• 14 min read

Trend-Following Crypto Strategy 2026: From −13% Donchian to +80% SuperTrend

One day, four strategy variants, eleven failed backtests, and one critical insight that reframed the whole project. Real numbers, real failures, all code on GitHub.

Where we started — a bot stuck at +2%/month

For the last 30 days the TrendRider bot has been running on a 1-hour timeframe across 14 crypto-alt pairs (XRP, DOGE, SOL, ETH, NEAR, OP, ATOM, AVAX, SUI, LINK, POL, BNB, DOT, ADA), earning a steady but small ~$10 / month on a $500 dry-run wallet. That works out to about +2% per month, or +24% annualised. Not bad — it's positive, the drawdowns are tiny (max 4.78% over 28 months), and the strategy never blew up.

But also: not great. We tried 11 different optimisations in April — five hyperopt configurations and six structural modifications (loose exits, confidence sizing, MTF gates, chase guards, short-side variants, bear-only filters). Every single one regressed on the 480-day out-of-sample backtest. The pattern was clear: any modification to this strategy on this timeframe just made it worse.

We were stuck at a local optimum. Time for a fundamental redesign.

The plan — go to daily timeframe, ride trends

The current bot trades hourly. Average trade duration was 9 hours 42 minutes — already longer than the candle. That's the signature of a chop-fighting system that gets prematurely exited by trailing stops every time a multi-day move happens. The fix, in theory, was straightforward: move to a daily timeframe, hold trades for weeks, ride sustained trends instead of micro-bounces.

We picked Donchian breakout — Curtis Faith's original Turtle system, replicated in Andreas Clenow's Following the Trend. The most evidence-backed trend-following system in the public quant literature. Two parameters only (Donchian period and ATR multiplier), so minimal overfitting risk. Long when close prints a new 50-day high, exit on a 3×ATR Chandelier trail.

Donchian failed — and the diagnosis was instructive

VariantBull period
(market +149%)
Donchian v1−13.59% / WR 21%
v2 with BTC SMA(200) regime gate−11.10% / WR 5.4%
v3 with widened −50% hard floor−11.31% / WR 14.8%
v3-tight (2×ATR Chandelier)−14.69% / WR 11.1%

All four variants lost money during a bull rally. That's mathematically impossible if the strategy were working as designed — a +149% market should produce big winners trailing through ATR Chandelier. So what was going wrong?

We exported every trade and looked at them individually. Pattern: ~85% of breakout entries land on rally tops. Donchian fires when close prints a new 50-day high — but on crypto alts, that high is often the local peak before an immediate pullback of 15-25%. Then the Chandelier trail trips on the giveback, and we exit at a smaller profit (or loss).

The math: profit/loss ratio of 0.74 (winners are smaller than losers in percent terms). Combined with 14.8% win rate, that's an expected value of −9.7% per trade. The system was structurally negative.

Tightening the Chandelier (2×ATR instead of 3×) made it worse, not better — fewer winners, more whipsaws. Loosening it kept the giveback. The mismatch was at concept level, not parameter level. Donchian breakouts on crypto alts buy the rally top, period. We parked it.

The critical insight — V6A is a chop-feeder, not a trend-rider

Before trying another trend system, we ran a sanity check. The current TrendRider strategy on the same +149% bull period: −1.89% / 26.6% win rate. The bot we've been running for months also loses on bull markets.

Re-reading the 836-day baseline (+4.99% during a −24% market) in this light: TrendRider isn't a trend-following system at all. It's a chop-feeder — it harvests hourly micro-bounces in sideways and mild-bear conditions. During strong bulls it stagnates. During strong bears it edge-grinds upward.

That reframes everything. A trend-following redesign isn't a replacement for the current bot — it's a complement. They fish in different waters:

  • Chop leg (current TrendRider): high Sharpe, low drawdown, modest return in sideways/mild-bear (~80% of crypto-alt time).
  • Trend leg (TBD): high absolute return, accepts deeper drawdown, captures sustained bulls (~20% of time).

Combine them via a regime classifier (BTC above 200-day SMA → trend leg active; else chop leg only) and you get the best of both. But first we need a working trend leg.

SuperTrend — entries on flips, not on highs

The Donchian post-mortem pointed at one thing: any system that enters at a price extreme will get whipsawed in crypto. We needed entries that fire on trend direction changes, not on price levels.

SuperTrend is the textbook answer. It uses ATR-based bands above and below price; when the indicator line flips from above price to below, that's a trend change to up. The flip often fires on a pullback or a recovery — not at a peak. The line itself becomes the trailing stop. Two parameters: ATR period (10) and ATR multiplier (3.0). Implementation: one call to pandas_ta.supertrend().

Same daily timeframe, same 14-alt whitelist, same $500 wallet. We backtested across three windows:

WindowDaysMarketSuperTrendMaxDDWR
Bull rally Oct 2023 → May 2024213+149%+67.91%1.46%68.8%
Same window as TrendRider baseline (836d)837−20.6%+10.98%24.23%27.4%
Full 5 years 2021 → 20261915−46.5%+80.68%16.88%34.1%

Every period positive. On the 836-day baseline window, SuperTrend doubles TrendRider's absolute return (+10.98% vs +4.99%). On the 5-year window, +80% return while the market dropped 46% — a 127-percentage-point spread vs buy-and-hold.

The trade-off is visible: Sharpe and drawdown are worse than TrendRider on the same window. SuperTrend takes 24% drawdown vs 4.78% for TrendRider. That's the price for the upside. Trend systems live with deeper drawdowns; the question is whether you accept them in exchange for the rally capture.

Walk-forward OOS — is this overfit?

A single full-period backtest can hide overfitting. The honest test is walk-forward: split history into non-overlapping windows, run the strategy on each, see whether the edge survives across regimes. We split 2021-2026 into four windows of ~1.25-1.5 years each:

WindowMarketSuperTrendSortinoMaxDD
2021-01 → 2022-04 (whipsaw bull)+12%−0.88%−0.0416.19%
2022-04 → 2023-07 (bear)−58%+14.84%0.988.57%
2023-07 → 2024-10 (bull)+103%+40.22%2.8816.37%
2024-10 → 2026-04 (chop/bear)−31%+45.00%1.5920.51%

Three of four windows positive. The 2021-2022 minor loss is the well-known trend-system failure mode in vertical bull-with-rapid-corrections regimes (whipsaw) — and even there, MaxDD is bounded at 16% with only −0.88% return, survivable not catastrophic. Crucially, SuperTrend earns a positive return in both bull AND bear windows, validating the trend-rider thesis.

No period-specific overfit. The edge is genuine.

What we're doing now — parallel dry-run

SuperTrend is now running as a parallel dry-run on our server, alongside the production TrendRider bot. Same whitelist, same $500 wallet, separate sqlite database, separate API port. Both bots see the same live market in real time. Telegram off (no notification spam). Both as systemd services so they survive reboots.

The decision date is May 15, 2026 — 14 days of live data. At that point we compare:

  1. SuperTrend live vs SuperTrend backtest priors (catch live-vs-backtest divergence — the sanity check that catches data-leakage and look-ahead bugs).
  2. SuperTrend vs TrendRider on the same 14-day window (real side-by-side).

If SuperTrend matches its backtest profile and beats TrendRider, we promote it — either solo or as a regime-switched ensemble (TrendRider on chop, SuperTrend on bulls). If it doesn't, we iterate.

No live capital change today. The production bot stays on TrendRider v2.12.1 ExitFix until SuperTrend proves itself in real conditions.

What you can take away from this

  • Parameter tuning ≠ redesign. When eleven optimisations regress, you're at a local optimum. Stop tuning, change the regime.
  • Backtest your strategy on the OPPOSITE market. If your "trend system" loses on a +149% bull, it's not a trend system. We thought TrendRider was a trend rider for two years — it isn't.
  • Breakout entries are dangerous in crypto. ~85% of breakouts on alts buy the rally top. Use entries that fire on direction changes (SuperTrend, MA-cross with retracement, channel-midline buys).
  • Walk-forward OOS is non-negotiable. A single full-period backtest can hide period-specific overfit. Four non-overlapping windows is the minimum honest test.
  • Different strategies fish in different waters. Don't throw out a chop system because it loses on bulls; combine it with a trend system gated by regime.

Run the same bot yourself

Everything in this post — strategy code, configs, backtest exports — is on GitHub under MIT. The live bot stats update every 60 seconds at /live, including the parallel SuperTrend dry-run once it accumulates trades. If you want to run it yourself you need a Bybit account (the exchange we test on), Freqtrade installed (see our Freqtrade setup tutorial), and pandas_ta for the SuperTrend indicator.

No Bybit account yet?

Register through our partner link — same exchange this whole article runs on. Fee discount + welcome bonus on signup.

Open Bybit account →

Want updates as we ship?

Telegram channel posts every signal and weekly performance updates. Free, no spam, unsubscribe any time.

Join on Telegram →

Disclaimer: Backtests and dry-runs are not guarantees of future live performance. Crypto markets are volatile and capital can be lost. Past returns are model-priors only. The numbers in this post are reproducible from public code; verify them yourself before acting on anything.