Backtested

Breakout (Donchian / turtle) strategy: does it work? Backtested on the top 10 coins

OK. We ran the breakout rule on the top 10 coins at once, each with an equal share of the account, as Hyperliquid perpetuals with fees, slippage and funding paid, and it cleared our bar on the portfolio in at least one run, or did well enough across all of them. The textbook version, 4h, long and short, returned +29.1% with a Sharpe of 0.50, against -7.7% for holding all 10 coins. Its best single coin was SUI 1d, long and short, with a Sharpe of 0.89.

By Keel Research Team
Updated October 15, 2026

Data through 2026-09-29 on Hyperliquid perpetuals, net of fees, slippage and funding

GradeOK

The rule run across the top 10 coins, equal weight (a pinned list): BTC, ETH, SOL, XRP, NEAR, ENA, UNI, DOGE, SUI and TAO.

Sharpe of the Breakout (Donchian / turtle) rule on the portfolio, by timeframe and direction
long onlylong and short
4h1.010.50
1d1.130.33

Sharpe of each portfolio run. Green cleared our bar, amber came close, and the outlined square is the textbook rule. Holding all 10 coins had a Sharpe of 0.42. Net of fees, slippage and funding.

The breakout rules we tested

A breakout trade buys when price makes a new high for the recent stretch of bars and shorts a new low, betting that the move continues. It is the core of the turtle traders' system and of Donchian channel trading. Below are the exact rules the backtest ran. Signals are read when a bar closes and orders fill at that close. The grade is over the long and short version, and the results show the other direction too. Every portfolio run trades the top 10 coins at once, each with 10% of the account. The coins are a fixed list (BTC, ETH, SOL, XRP, NEAR, ENA, UNI, DOGE, SUI and TAO), pinned for the whole test and the same on every page. The list is pinned rather than picked at each point in time because some large coins listed partway through the window and have no data for its start. Under the rules is the strategy itself, block by block. Fork it to change it and run your own backtest.

Entry
Buy when the bar closes at the highest close of the last 20 bars (this bar included). Short when it closes at the lowest close of the last 20 bars.
Exit
Close the long when the bar closes at the lowest close of the last 10 bars; close the short when it closes at the highest close of the last 10 bars. An opposite 20-bar breakout flips the trade.
Sizing
Each of the ten coins trades its own signal and opens each trade at 1/10 of the account. While a trade is open, if its share of the account drifts more than 25% from that tenth, it is trimmed or topped up back to the edge of that range. No stop.

The coins: The 10 Hyperliquid perps with the most traded dollar volume in the 90 days to 2026-09-29, among perps that traded for the whole test window, pinned: the same 10 coins are held for the whole test.

Not tested: intraday breaks of the prior high with a stop order (this test decides on the bar close); the turtle position-sizing unit (N) and pyramiding; the turtle filter that skips a breakout after a winning one.

The strategy behind the portfolio at 4h, long and short, block by block.

Fork this strategy

Opens it in Keel as your own draft, to change and backtest.

Configuration

Globalsconfig
target_timeframe4h
UniverseassetsManual · HL Perps · 10 symbols10 resolved
Executionorders
rebalanceBufferedbuffer_threshold0.25buffer_moderelative+1
Pipeline19 steps
PriceDataLoaderData Loader
ohlcvstore
ExtractSeriesSignal Transform
series_nameclose
closestore
closeload
MinMaxNormalizeSignal Transform
window20min_periods20
entry_posstore
closeload
MinMaxNormalizeSignal Transform
min_periods10window10
exit_posstore
Parallel4 branches
long_in
entry_posload
AboveThresholdFilterSignal Transform
threshold1inclusivetrue
long_instore
short_in
entry_posload
BelowThresholdFilterSignal Transform
threshold0inclusivetrue
short_instore
long_out
exit_posload
BelowThresholdFilterSignal Transform
threshold0inclusivetrue
long_outstore
short_out
exit_posload
AboveThresholdFilterSignal Transform
threshold1inclusivetrue
short_outstore
Parallel2 branches
fast
long_inload
slow
short_inload
CrossoverSignal Composer
ThresholdCrossSignal Transform
upper0.5lower-0.5modesymmetric
entriesstore
TradeManagerPosition Manager
entriesentriespricesohlcv
Parallel2 branches
long_exit
Parallel2 branches
a
IsLongPosition Manager
b
long_outload
MaskAndSignal Composer
ExitPosition Manager
short_exit
Parallel2 branches
a
IsShortPosition Manager
b
short_outload
MaskAndSignal Composer
ExitPosition Manager
ExposurePosition Manager
EqualWeightSizerPosition Sizer
target_leverage1max_weight0.1

Results on the top 10 coins, equal weight

The rule ran on all 10 coins at once, each with an equal share of the account, on the 4h and 1d charts, in both directions. 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. The long and short rows set the grade; the other direction shows whether any edge came from one side only. A run clears our bar when its Sharpe is clearly positive and it made enough round trips to trust. Breakouts pay in markets that trend after they break out, and lose in ranges, where most new highs are false starts that reverse. Holding all 10 coins in equal weight is the bar to beat: over the same window it returned -7.7%. The textbook run made +29.1%, more than holding. Round trips count whole trades from entry to exit across every coin, fills count every order, and fees and funding are shown as a share of starting capital. Funding is what the positions paid: a positive figure is a cost, like fees, and a negative one means they received more funding than they paid.

Timeframe, sideSharpeTotal returnYearly returnWorst drawdownWin rateRound tripsFillsTime in marketFeesFunding paid
4h, long only1.01+67.0%+27.4%-28.3%34.5%1,0644,53269.2%10.4%+12.6%
4h, long and shorttextbook0.50+29.1%+12.8%-40.2%35.3%2,16210,69798.9%17.3%+7.3%
1d, long only1.13+79.9%+31.9%-26.3%40.2%17480477.3%1.8%+14.9%
1d, long and short0.33+11.4%+5.3%-45.3%33.9%3701,83497.4%3.0%+9.4%

Holding all 10 coins instead

PortfolioSharpeTotal returnYearly returnWorst drawdown
Hold all 10, equal weight0.42-7.7%-3.6%-85.7%

Holding means a long perpetual position on each coin for the whole window, not spot. Like any perp long it pays funding out of the account while it is open, and these hold figures include that cost, so a hold can end near flat after a deep drawdown.

Coin by coin

The same rule on each coin alone, with the whole account on that one coin, at 4h and 1d, long and short. Read this if you trade one coin. Expect more spread here than in the portfolio: fewer trades per coin means more room for luck either way. The best single coin was SUI 1d, long and short, with a Sharpe of 0.89. On its own, the rule beat holding the coin on a few of them at 4h.

The Breakout (Donchian / turtle) rule on each coin alone, long and short
Coin4h Sharpe4h return4h round trips1d Sharpe1d return1d round tripsHold the coin
BTC-0.17-18.4%221-0.01-10.1%39+6.6%
ETH-0.10-25.2%2200.26+2.5%35-22.7%
SOL-0.63-59.9%226-0.36-48.6%39-36.7%
XRP0.73+72.3%2090.22-10.4%38+98.3%
NEAR0.74+78.0%2150.23-18.5%38+0.9%
ENA0.56+26.7%211-0.22-73.5%41-5.1%
UNI0.06-32.9%2180.12-27.3%34+3.8%
DOGE0.88+109.8%2140.82+96.0%30-65.5%
SUI-0.03-42.4%2160.89+122.3%34-22.1%
TAO0.41+7.6%212-0.54-73.5%42-34.0%

Holding means a long perpetual position on each coin for the whole window, not spot. Like any perp long it pays funding out of the account while it is open, and these hold figures include that cost, so a hold can end near flat after a deep drawdown.

Equity curve

The first chart is the textbook run, the portfolio at 4h, long and short; the second is the best portfolio run, the portfolio at 1d, long only. Each line starts from the same balance as holding all 10 coins in equal weight, and the drawdown underneath shows how far the rule fell from its last high. A rule can end ahead and still be hard to hold through its worst stretch.

The textbook rule: the portfolio at 4h, long and short

Breakout (Donchian / turtle) rule, 10 coinsHold all 10 coinsDrawdown

The best run: the portfolio at 1d, long only

Breakout (Donchian / turtle) rule, 10 coinsHold all 10 coinsDrawdown

Does a simple fix help?

Two of the most common changes traders make to a rule like this, each run on the same portfolio at 4h and 1d, long and short. Each fix gets its own grade by the same rules as the page grade. Neither fix lifts the grade above OK. A fix that helps on one window is a lead to test further, not a finding.

Vol-targeted sizing

OK

Vol-targeted sizing keeps the rule's entries and exits and changes only the size. Each trade is sized from the coin's average true range, so that a move of one average true range costs the same small share of the account on every coin. A calm coin gets a bigger position and a wild one a smaller one, with a cap on any one coin. It raised the Sharpe on both timeframes. With it, the rule grades OK.

RunSharpeAs writtenTotal returnWorst drawdownRound trips
4h, long and short0.860.50+55.9%-24.8%2,162
1d, long and short0.520.33+28.4%-34.9%370

200-day trend filter

OK

The 200-day trend filter keeps the rule's entries but lets a long through only while the coin closes above its 200-day simple moving average, and a short only while it closes below. Sizing stays the same. It follows the old rule of not trading against the big trend. The average needs that much price history before its first reading, so the filter sits out the start of the window and its runs trade over a shorter period than the rule as written. Keep that in mind when you compare the two. It did not raise the Sharpe on either timeframe. With it, the rule grades OK.

RunSharpeAs writtenTotal returnWorst drawdownRound trips
4h, long and short0.030.50-4.6%-33.3%936
1d, long and short-0.050.33-12.2%-41.5%195

Best Breakout (Donchian / turtle) settings for crypto

We ran every combination of entry channel in bars (20, 30, 40, 55) and exit channel in bars (5, 10, 15, 20) on the portfolio, on the 4h chart, long and short, and kept everything else the same. Each square is one full backtest of all 10 coins, coloured by Sharpe, and the outlined square is the textbook setting. The setting to trust is one whose neighbours also did well. A lone bright square in a dark grid is usually luck, and a grid run on a whole portfolio is harder to fool than one run on a single coin.

Sharpe, from losing (red) to strong (green)“works” and “partly” mark settings that cleared the bar, or nearly didthe default settingwiped out

Top 10 coins, 4h, long and short

On the portfolio, the good results sit on a plateau: settings near the best one did about as well, so the result does not hinge on one exact choice. The textbook setting ranks 11th of 16 by Sharpe. The best square was entry channel 55 bars and exit channel 15 bars, with a Sharpe of 0.76, and the worst was entry channel 20 bars and exit channel 5 bars, at 0.19.

Breakout (Donchian / turtle) settings on the top 10 coins: Sharpe for each combination
Entry channel (bars)across: Exit channel (bars)5101520
200.190.500.740.43
300.360.570.720.50
400.310.630.720.55
550.400.630.76best0.64

What this test does not tell you

A backtest answers a narrow question: what this exact rule did on these coins over this window. Read these before you trust any number on this page.

  • The test covers 2024-08-15 to 2026-09-29, one stretch of the crypto market. A rule that worked here can fail in the next stretch, so every result on this page is "in this test", not a forecast.
  • These are Hyperliquid perpetual futures, not spot coins. Every open position paid or earned funding, and the results include it, which most published backtests leave out.
  • Costs: every fill pays a 4.5 bp fee and 4.5 bp of slippage, so a round trip costs 18 bp, and every open position pays or earns funding each hour. A rule that trades often pays these many times over, which is why the fee column matters as much as the Sharpe.
  • Orders fill at the close of the bar that gives the signal. Intrabar stops, limit orders and wicks that touch a level and come back are not modelled.
  • The textbook portfolio run made 2162 round trips across its coins: enough trades for the result to mean something, though one window is still one window. A single coin makes far fewer, so read the coin-by-coin table with more caution.
  • The coin list is fixed for the whole window. Coins that were large at the end of the window may have been smaller at the start, so a pinned list leans a little toward coins that did well.
  • How this test defines the breakout: a breakout means the close makes a new closing high or low over the entry lookback, and the trade closes when the close makes a new low or high over the shorter exit lookback. Classic turtle rules buy an intraday break of the prior high with a stop order, which a bar-close backtest cannot place, so this is the closing-price version. Traders draw this differently, so this is a test of one exact definition. The settings grid varies entry channel in bars (20, 30, 40, 55) and exit channel in bars (5, 10, 15, 20) to show how much the choice matters.
  • Sizing: Each of the ten coins trades its own signal and opens each trade at 1/10 of the account. While a trade is open, if its share of the account drifts more than 25% from that tenth, it is trimmed or topped up back to the edge of that range. No stop. This tests the rule on its own. A trader who adds judgment, other filters or a different position size is running a different strategy.

How Sharpe and drawdown are measured: the Sharpe calculator and the drawdown calculator. Why the best square in a grid flatters itself: overfitting in crypto backtests.

Test it yourself

Take the rule into Keel, or hand it to your AI assistant, and change the coins, the timeframe or the settings. A result you reproduce and then break on purpose is worth more than any single table.

Fork this strategy in Keel

Opens the textbook rule on all 10 coins, 4h, long and short, as your own draft, ready to change and backtest.

Fork this strategy in Keel

Ask your agent

With Keel connected to Claude, ChatGPT or another assistant, paste:

Backtest the Breakout (Donchian / turtle) strategy from usekeel.io/strategies/backtested/breakout on an equal-weight basket of BTC, ETH, SOL, XRP, NEAR, ENA, UNI, DOGE, SUI and TAO at 4h with Keel

FAQ

Breakout (Donchian / turtle) strategy questions

Does the breakout strategy work in crypto?

OK, in this test. Run on the top 10 coins in equal weight, after fees, slippage and funding, it cleared our bar on the portfolio in at least one run, or did well enough across all of them. The textbook version, 4h, long and short, returned +29.1% with a Sharpe of 0.50, against -7.7% for holding all 10 coins. The best portfolio run was 1d, long only, with a Sharpe of 1.13 and a total return of +79.9%. Whether that is worth trading depends on the timeframe and the coin: the results show every run, and the settings grid shows whether the good runs depend on one exact setting.

What are the best breakout settings for crypto?

On the portfolio, the textbook setting ranked 11th of 16 on the 4h chart, and the best square was entry channel 55 bars and exit channel 15 bars, with a Sharpe of 0.76. There, the good results sit on a plateau: settings near the best one did about as well, so the result does not hinge on one exact choice. Prefer a setting whose neighbours also did well over the single best square.

Does the breakout strategy work on Bitcoin?

On BTC 4h, long and short, with the whole account on Bitcoin, the rule had a Sharpe of -0.17 and returned -18.4%, against +6.6% for holding BTC over the same window, net of fees, slippage and funding. One coin is a small sample, so the portfolio result above is the better guide; the coin-by-coin table shows BTC next to the other coins.

Does the turtle trading strategy still work?

The turtles traded futures decades ago, with breakout entries, wide stops and strict position sizing that added to winners. This page tests the breakout entry and exit on crypto with fills at the close of each bar, and every trade is the same fixed size, as the sizing rule above states. The original sizing and the adding to winners, which were a large part of the original system, are not part of this test, so read the results as a test of the signal rather than of the whole system.

How realistic is this backtest?

Closer than most published backtests. Every fill pays fees and slippage, and every open position pays or earns funding, as a real perpetual futures position does. Orders fill at the close of the signal bar, so the test never buys at a price the chart only touched. It covers one window, so treat the result as evidence, not a promise. How it works explains the engine in depth.