Donchian Breakout (20/10)
Positive risk-adjusted return in 15 of 18 cells — strongest on QQQ · 4H (Sharpe 1.23); 3 cells lose after the 0.05% per-side fee. Median cell trails buy-and-hold by 59.4pp; 2 of 18 cells beat it.
§ Verdict rationale
Composite Sharpe 0.58 across 18 cells. The edge concentrates in QQQ 4H (Sharpe 1.23); 3 of 18 cells are negative after the 0.05% per-side fee.
§ Alpha score breakdown
alpha = edge (0-40: clamp(compositeSharpe/2,0,1)*40) + stability (0-25: positiveCells/18*25) + flaw penalty (0 to -25: static findings, 0 across v1 catalog) + reproduction (0-10: engine oracle parity vs pine2py, 251/257 scripts = 9)
§ Equity vs buy-and-hold — fee-adjusted, per cell
§ All 18 cells — including the ugly ones
| Market · TF | Sharpe | Return | vs B&H | Max DD | Win | Trades |
|---|---|---|---|---|---|---|
| BTCUSD 1H | 0.22 | +23.2% | -1358.1pp | -80.7% | 35% | 1777 |
| BTCUSD 4H | 0.70 | +940.5% | -426.7pp | -58.2% | 39% | 426 |
| BTCUSD 1D | 0.90 | +2351.5% | +962.1pp | -54.3% | 45% | 65 |
| ETHUSD 1H | 0.40 | +188.0% | -340.2pp | -65.4% | 36% | 1745 |
| ETHUSD 4H | 0.53 | +460.5% | -54.7pp | -67.6% | 36% | 437 |
| ETHUSD 1D | 0.89 | +4725.3% | +4198.0pp | -52.3% | 49% | 65 |
| SPX500 1H | 0.57 | +14.1% | -58.1pp | -11.2% | 41% | 127 |
| SPX500 4H | 1.17 | +26.6% | -45.1pp | -5.6% | 55% | 42 |
| SPX500 1D | 0.68 | +137.4% | -445.9pp | -11.6% | 53% | 98 |
| QQQ 1H | 0.88 | +32.4% | -60.6pp | -15.3% | 46% | 121 |
| QQQ 4H | 1.23 | +40.3% | -51.6pp | -13.2% | 50% | 36 |
| QQQ 1D | 0.59 | +153.3% | -1256.3pp | -19.6% | 48% | 105 |
| GOLD 1H | 0.54 | +21.4% | -107.6pp | -27.7% | 44% | 110 |
| GOLD 4H | 1.00 | +48.0% | -80.4pp | -24.7% | 56% | 34 |
| GOLD 1D | 0.33 | +60.9% | -164.0pp | -22.5% | 42% | 91 |
| EURUSD 1H | -2.43 | -29.4% | -38.5pp | -30.7% | 36% | 380 |
| EURUSD 4H | -0.58 | -7.8% | -16.9pp | -11.1% | 36% | 99 |
| EURUSD 1D | -0.37 | -23.3% | -4.7pp | -28.6% | 35% | 86 |
15 of 18 cells positive · best QQQ · 4H · cells are not equal length — the composite is a median
§ The exact source that ran — Pine v5
//@version=5strategy("Donchian Breakout (20/10)", initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)hh = ta.highest(close, 20)ll = ta.lowest(close, 10)prevHH = hh[1]prevLL = ll[1]longSig = ta.crossover(close, prevHH)exitSig = ta.crossunder(close, prevLL)if longSig strategy.entry("L", strategy.long)if exitSig strategy.close("L")plot(strategy.equity, "equity")plot(strategy.position_size, "pos")plot(strategy.closedtrades, "closed")plot(strategy.wintrades, "wins")plot(strategy.grossprofit, "gp")plot(strategy.grossloss, "gl")This source was executed verbatim by the wavealgo JS engine — there is no port step to drift. The engine is oracle-verified bar-by-bar (1e-9 tolerance) against an independent Python implementation on 251/257 corpus scripts.
§ Flaw checklist
Verdict rules: pass: composite Sharpe >= 0.9 and >= 12/18 cells positive · cond: composite Sharpe > 0 and best cell Sharpe >= 0.9 · fail: otherwise · rep: static repaint/look-ahead finding (none in the authored v1 catalog: confirmed-bar signals, next-bar-open fills)
§ What the numbers mean
- Sharpe ratio
- Risk-adjusted return: mean daily return divided by its standard deviation, annualized ×√252. The composite figure is the median of the 18 cell Sharpes, not the mean — cells differ in length by an order of magnitude, and one long cell should not carry the other seventeen.
- Max drawdown
- The worst peak-to-trough equity loss over the window, measured on the fee-adjusted curve. What you would have sat through, not what you would have ended with. The headline figure is the deepest of the 18 cells, not their average.
- Profit factor (PF)
- Gross profit divided by gross loss, with fees charged to the loss side. Above 1.0 means gross gains exceeded gross losses; 1.0–1.2 is usually noise.
- Win rate
- Share of closed trades that closed profitable. A high win rate with a profit factor near 1 means many small wins and a few large losses — common in mean-reversion.
- vs buy-and-hold
- Strategy total return minus the return of simply holding the asset over the same window — the benchmark any active strategy must beat to justify existing. Shown as the median of the 18 cells plus how many cells beat it; a mean would let one long cell stand in for the rest.
- Alpha score
- The desk’s 0–100 composite: out-of-sample edge (0–40; the methodology page defines what out of sample means for the catalog), regime stability across cells (0–25), flaw penalty (0 to −25), reproduction accuracy (0–10). The exact formula ships with the data.
Bring your own. We grade it the same.
Engine: resin 0.2.2 (next-bar-open fills, TV rule) · scored UTC 2026-11-07 10:58 · deterministic rerun — same data, same numbers. Backtested results are measurements of the past, not investment advice; nothing here is a recommendation to trade. wavealgo is operated by Streamize LLC.