First time on the top traders desk?

The desk runs its own numbers and publishes its calls next to the account that trades them. The short route:

toptraders · cross-laboratory

Donchian 55d × time 10 — a bull-phase algorithm

From an open library of 800+ free rules the desk picked a top-31 under pre-registered criteria and crossed them with each other: 7 entries × 14 exits, then 7 regime gates and 3 sizing models on top. 436 trials in this series; every pair runs against its OWN random-entry null by the same engine, finalists against 200 seeds.

The winner is a 55-day channel breakout sold 10 bars later. The best phase goes into the headline per the desk's rule: 88% of the log return accrues in bull phases; in bears it sits near zero without losing. Window 2020-09-23 — 2026-08-08 — the calendar starts at the basket's latest listing (AVAX, 2020-09-22).

total
+1099%
2020-09-23 — 2026-08-08
annualised
52.6%
compound
drawdown
-21.2%
published 20×10: -29.9%
sharpe
1.59
sortino 3.03 · calmar 2.48
trades
244
51.6% winners
in market
12.5%
profit factor 3.17

The rules in full

Every number carries its constant's name in the engine: a report field equals a tuning parameter. The family's reference spec is data/algo/donchian-time-20-10.json; this variant differs by one parameter — ENTRY_DAYS 55 instead of 20. Promoting it to candidates requires its own spec and the full check battery.

fieldrule verbatimconstant in code
timeframe1dbt_time_exit.py (daily engine)
entrybar closes above the highest high of the prior 55 days; first breakout bar only — a run of closes above the channel is one tradeexit_lab.donchian_entries / ENTRY_DAYS=55
entry fillsignal at close → buy at the next bar's openbt_time_exit.run_symbol
gatechoppiness(14) < 55 — optional: +0.01 sharpe; 1.58 without itexit_gate_lab.gates
exitsell at the close of the 10th bar after entry; NO stop by design — the exit laboratory showed stop rules cut the entry's edgebt_time_exit.HOLD_BARS=10
trailingnone
averaging-innone
% of deposit per position10% — a 1/10 sleeve per symbol, compounding inside the sleeve, no capital transfer between sleevessleeve_fraction=0.1
simultaneous positionsup to 10 — one per symbol; signals are ignored while one is openrun_symbol (sequential pass)
universe10 Binance perp majors; survivorship: on the point-in-time top-30 sharpe is 1.0 instead of 1.59 — the bracket is measured, see basketsbt_time_exit.SYMBOLS
window and reason2020-09-23 — 2026-08-08 — a common calendar exists only from the basket's latest listing (AVAX)load_frames (common window)
costs0.15% per side, both sidesbt_structure_desk.FEE_PER_SIDE
leverage / short / hedge1.0 / none / nonespec invariants

Returns by year

Yearly figures come from the same daily curve as everything else; partial years are labeled with month ranges. Alongside — the published 20×10 variant and benchmarks.

yeardonchian 55×10donchian 20×10 (published)buy-hold basketBTC
2020 (09-12)+14.1%+33.1%+77.7%+182.8%
2021+391.1%+444.5%+1157.0%+59.6%
2022-8.0%-16.1%-74.3%-64.2%
2023+55.7%+16.5%+111.0%+155.9%
2024+67.4%+92.5%+128.5%+121.1%
2025-6.8%+17.3%-40.3%-6.4%
2026 (01-08)-4.3%-7.3%-36.9%-25.9%

Stage A: 98 entry × exit pairs

48 of 98 beat their null's p95. The whole top is Donchian entries: stop-and-reverse flips arrive half a trend late as entries, and turn-of-month does not exist in crypto. Click a header to sort.

0.0donchian 55d × time 101.58donchian 20d × time 101.51donchian 55d × channel exit 10d1.36donchian 20d × channel exit 10d1.31donchian 100d × time 201.30donchian 100d × time 101.28donchian 55d × chandelier 22/31.26donchian 55d × fib trail 0.6181.22donchian 20d × fib trail 0.6181.21donchian 55d × time 201.21donchian 55d × gann hilo 31.21donchian 100d × time 401.21donchian 55d × halftrend 21.19donchian 20d × quantile 20/q101.16donchian 20d × gann hilo 31.14sharpe
entryexitsharpePFtotaldrawdowntradesnull p95beats p95
donchian 55dtime 101.583.04+1108%-19.9%268+360%yes
donchian 20dtime 101.512.41+1382%-29.9%463+211%yes
donchian 55dchannel exit 10d1.363.82+1219%-32.9%197+439%yes
donchian 20dchannel exit 10d1.313.17+1376%-30.5%340+453%yes
donchian 100dtime 201.303.52+707%-25.0%150+443%yes
donchian 100dtime 101.283.39+476%-21.2%178+223%yes
donchian 55dchandelier 22/31.262.50+673%-31.1%235+219%yes
donchian 55dfib trail 0.6181.222.75+580%-19.1%259+205%yes
donchian 20dfib trail 0.6181.212.23+714%-34.1%453+358%yes
donchian 55dtime 201.212.79+902%-39.7%223+344%yes
donchian 55dgann hilo 31.212.72+432%-22.2%315+68%yes
donchian 100dtime 401.216.55+1758%-46.3%108+705%yes
donchian 55dhalftrend 21.192.24+238%-12.5%367+30%yes
donchian 20dquantile 20/q101.163.14+1231%-52.9%294+559%yes
donchian 20dgann hilo 31.142.10+510%-30.0%551+88%yes
donchian 55dsupertrend 10/31.133.02+900%-43.1%184+306%yes
donchian 20dtime 201.112.34+957%-44.9%372+377%yes
donchian 20dsupertrend 10/31.102.91+1095%-49.5%296+243%yes
donchian 55dquantile 20/q101.103.59+735%-44.9%172+380%yes
donchian 100dchandelier 22/31.102.67+310%-17.1%158+127%yes
перелом месяцаquantile 20/q101.092.77+1189%-69.6%591+603%yes
donchian 55dsafezone 2.51.082.14+314%-16.9%288+98%yes
donchian 100dsupertrend 10/31.073.66+540%-28.3%117+496%yes
donchian 20dchandelier 22/31.052.16+498%-34.0%376+160%yes
donchian 20dsafezone 2.51.041.86+353%-24.7%477+128%yes
donchian 100dhalftrend 21.042.39+166%-14.8%248+29%yes
donchian 100dfib trail 0.6181.042.81+296%-17.3%173+208%yes
supertrend-флип 10/3supertrend 10/31.042.64+846%-64.2%240+251%yes
donchian 100dgann hilo 31.032.78+250%-16.6%212+47%yes
перелом месяцаfib trail 0.6181.032.28+394%-35.0%709+163%yes
перелом месяцаchannel exit 10d1.032.73+894%-51.7%644+798%yes
donchian 20dhalftrend 21.011.68+210%-24.1%648+29%yes
перелом месяцаchandelier 22/31.012.19+452%-56.1%686+258%yes
supertrend-флип 10/3quantile 20/q101.002.18+778%-56.9%236+291%yes
donchian 20dtime 400.983.40+1071%-67.3%272+884%yes
gann-флип 5fib trail 0.6180.981.61+579%-57.2%1145+234%yes
supertrend-флип 10/3channel exit 10d0.952.56+493%-43.9%239+274%yes
donchian 20dfvg trail0.922.38+531%-57.3%451+165%yes
donchian 55dfvg trail0.913.13+467%-59.9%259+160%yes
supertrend-флип 10/3fib trail 0.6180.822.25+144%-26.7%240+95%yes
donchian 100dfvg trail0.763.57+331%-61.9%177+243%yes
перелом месяцаfvg trail0.742.07+442%-80.3%614+330%yes
перелом месяцаsafezone 2.50.641.65+180%-58.4%705+146%yes
перелом месяцаgann hilo 30.641.81+93%-29.2%710+69%yes
перелом месяцаhalftrend 20.581.64+55%-22.7%710+27%yes
donchian 100dchande kroll 10/1/90.561.27+30%-12.9%284+3%yes
donchian 55dchande kroll 10/1/90.531.18+32%-10.0%419-2%yes
donchian 20dchande kroll 10/1/90.351.03+22%-15.6%713-9%yes
donchian 100dchannel exit 10d1.194.13+542%-32.6%127+628%no
donchian 100dquantile 20/q101.033.94+464%-43.7%110+632%no
donchian 55dtime 400.973.18+670%-60.6%173+924%no
gann-флип 5quantile 20/q100.852.13+574%-73.8%730+944%no
donchian 100dsafezone 2.50.842.12+150%-14.2%191+150%no
gann-флип 5time 400.792.02+459%-72.5%408+552%no
gann-флип 5channel exit 10d0.772.07+393%-71.0%838+753%no
supertrend-флип 10/3fvg trail0.701.60+90%-26.8%237+115%no
сжатие→пробой 20fib trail 0.6180.692.03+90%-27.7%267+183%no
перелом месяцаtime 400.692.08+290%-90.5%360+1210%no
gann-флип 5fvg trail0.671.66+303%-69.9%861+330%no
сжатие→пробой 20safezone 2.50.671.73+67%-22.2%261+145%no
supertrend-флип 10/3time 100.621.71+74%-21.7%240+121%no
сжатие→пробой 20time 100.621.69+77%-25.9%259+166%no
сжатие→пробой 20channel exit 10d0.602.12+103%-32.5%228+359%no
сжатие→пробой 20fvg trail0.581.75+62%-29.0%264+138%no
перелом месяцаtime 200.561.67+129%-92.9%710+582%no
перелом месяцаsupertrend 10/30.562.27+147%-73.2%464+306%no
supertrend-флип 10/3safezone 2.50.551.48+53%-19.5%240+72%no
gann-флип 5chandelier 22/30.521.58+103%-60.5%1007+321%no
сжатие→пробой 20quantile 20/q100.522.02+91%-54.3%208+430%no
supertrend-флип 10/3time 400.501.89+106%-70.3%215+433%no
сжатие→пробой 20gann hilo 30.491.51+35%-17.4%292+61%no
сжатие→пробой 20time 200.481.69+68%-37.3%227+269%no
перелом месяцаtime 100.481.50+95%-82.8%710+460%no
supertrend-флип 10/3time 200.461.59+69%-40.0%237+244%no
gann-флип 5safezone 2.50.451.37+81%-68.2%966+194%no
сжатие→пробой 20supertrend 10/30.452.02+69%-44.4%197+191%no
сжатие→пробой 20halftrend 20.431.33+21%-11.5%316+25%no
donchian 20dtrailing 5 atr0.401.17+58%-67.2%281+60%no
gann-флип 5time 200.401.53+50%-87.2%662+511%no
gann-флип 5gann hilo 30.381.13+52%-54.3%1184+79%no
supertrend-флип 10/3chandelier 22/30.351.40+38%-34.2%240+155%no
сжатие→пробой 20chandelier 22/30.351.57+34%-36.1%228+160%no
gann-флип 5supertrend 10/30.331.86+8%-84.7%521+233%no
перелом месяцаtrailing 5 atr0.311.39+5%-83.5%269+166%no
supertrend-флип 10/3gann hilo 30.301.35+17%-17.6%240+26%no
donchian 100dtrailing 5 atr0.291.23+27%-41.0%128+150%no
donchian 55dtrailing 5 atr0.251.13+18%-49.7%193+156%no
сжатие→пробой 20time 400.211.61+7%-62.3%192+406%no
gann-флип 5trailing 5 atr0.191.28-34%-89.4%248+115%no
gann-флип 5time 100.071.12-32%-86.3%943+512%no
gann-флип 5halftrend 20.061.08-4%-43.9%1184+30%no
сжатие→пробой 20chande kroll 10/1/9-0.050.97-3%-12.1%319-0%no
перелом месяцаchande kroll 10/1/9-0.080.93-7%-28.5%710-2%no
supertrend-флип 10/3halftrend 2-0.110.97-6%-16.3%240+20%no
supertrend-флип 10/3trailing 5 atr-0.130.90-36%-61.2%205+64%no
сжатие→пробой 20trailing 5 atr-0.270.79-41%-61.7%181+44%no
gann-флип 5chande kroll 10/1/9-0.370.82-24%-29.6%1183-18%no
supertrend-флип 10/3chande kroll 10/1/9-0.420.79-10%-15.9%240-2%no

Stage B: regime gates

71 of 84 gate rows hurt sharpe or failed to beat a block-random mask of the same density. Two families survive — volatility expansion (atr7/atr50) on fast entries and volume confirmation on slow ones. Hurst, CUSUM, SMA200, EWMA-vol hurt everywhere.

pairgatesharpe w/osharpe withΔdrawdown
donchian 20d × channel exit 10datr7/atr50>11.311.42+0.11-32.6%
donchian 100d × time 40volume>1.5×med20 (effort)1.211.31+0.10-35.4%
donchian 55d × time 20volume>1.5×med20 (effort)1.211.28+0.07-34.2%
donchian 55d × channel exit 10dvolume>1.5×med20 (effort)1.361.42+0.06-23.7%
donchian 20d × fib trail 0.618atr7/atr50>11.211.26+0.05-27.0%
donchian 100d × time 40choppiness<551.211.25+0.04-42.4%
donchian 100d × time 20choppiness<551.301.33+0.03-22.3%
donchian 55d × chandelier 22/3atr7/atr50>11.261.29+0.03-32.8%
donchian 55d × channel exit 10dchoppiness<551.361.38+0.02-33.2%
donchian 55d × time 20atr7/atr50>11.211.23+0.02-39.9%
donchian 55d × time 10choppiness<551.581.59+0.01-21.2%
donchian 55d × channel exit 10datr7/atr50>11.361.37+0.01-34.9%
donchian 55d × fib trail 0.618choppiness<551.221.23+0.01-18.1%

Stage C: sizing model

Vol-target 50% annual halves the drawdown at the same sharpe — paid for with part of the total: smaller positions compound slower. The loss brake disables entries AFTER a drawdown and misses the recovery — worse than equal sizing almost everywhere.

pairsizingsharpetotaldrawdowncalmar
donchian 55d × time 10 [choppiness<55]equal1.59+1099%-21.2%2.48
donchian 55d × time 10 [choppiness<55]vol-target 50%1.57+215%-10.7%2.03
donchian 55d × time 10 [choppiness<55]loss brake −15%1.55+853%-21.8%2.14
donchian 20d × time 10equal1.51+1382%-29.9%1.95
donchian 20d × time 10vol-target 50%1.45+332%-18.9%1.50
donchian 20d × time 10loss brake −15%1.33+468%-24.8%1.38
donchian 55d × channel exit 10d [volume>1.5×med20 (effort)]equal1.42+1416%-23.7%2.48
donchian 55d × channel exit 10d [volume>1.5×med20 (effort)]vol-target 50%1.37+401%-14.8%2.14
donchian 55d × channel exit 10d [volume>1.5×med20 (effort)]loss brake −15%1.36+1121%-22.1%2.40
donchian 20d × channel exit 10d [atr7/atr50>1]equal1.42+1584%-32.6%1.89
donchian 20d × channel exit 10d [atr7/atr50>1]vol-target 50%1.32+456%-20.1%1.69
donchian 20d × channel exit 10d [atr7/atr50>1]loss brake −15%0.94+247%-30.9%0.76
donchian 100d × time 20 [choppiness<55]equal1.33+741%-22.3%1.96
donchian 100d × time 20 [choppiness<55]vol-target 50%1.09+145%-14.3%1.16
donchian 100d × time 20 [choppiness<55]loss brake −15%1.35+602%-18.4%2.14
donchian 100d × time 40 [volume>1.5×med20 (effort)]equal1.31+963%-35.4%1.40
donchian 100d × time 40 [volume>1.5×med20 (effort)]vol-target 50%1.21+223%-19.9%1.11
donchian 100d × time 40 [volume>1.5×med20 (effort)]loss brake −15%1.33+825%-33.8%1.36

Finalists — 200-seed nulls

pairsizingsharpePFtotaldrawdowntradesnull-200 p951st half2nd half
donchian 55d × time 10 [choppiness<55]equal1.593.17+1099%-21.2%244+180%+440%+122%
donchian 20d × time 10equal1.512.41+1382%-29.9%463+322%+460%+165%
donchian 55d × channel exit 10d [volume>1.5×med20 (effort)]equal1.425.06+1416%-23.7%152+232%+357%+232%
donchian 20d × channel exit 10d [atr7/atr50>1]equal1.423.72+1584%-32.6%216+563%+476%+192%
donchian 100d × time 20 [choppiness<55]loss brake −15%1.357.39+602%-18.4%49+175%+288%+81%

Which parameters to turn

Neighbouring values of every parameter, computed by the same engine. It reads directly: entry channel — a 55–70 day plateau (70 keeps sharpe and drawdown); holding — shorter is better, monotonically; channel-exit window 25 is the greed knob (+2200–2400% at −64…−70% drawdown); cut drawdown with vol-target, not the loss brake.

donchian 55d × time 10 [choppiness<55] — equal (sharpe 1.59)

parameter neighboursharpetotaldrawdownPFtrades
вход: donchian 70d1.62+1035%-21.2%3.41198
выход: time 51.59+628%-17.6%2.65293
вход: donchian 30d1.46+1017%-29.6%2.71338
вход: donchian 20d1.42+1182%-38.3%2.49415
выход: time 151.32+1049%-31.8%2.59227
вход: donchian 40d1.31+723%-34.9%2.59299
вход: donchian 10d1.29+988%-41.8%2.04553
вход: donchian 100d1.28+487%-21.1%3.39165
выход: time 201.19+839%-37.8%2.77210
выход: time 301.05+912%-54.1%4.03177
выход: time 401.01+703%-59.9%3.31164
выход: time 600.80+425%-60.9%3.21150

donchian 20d × time 10 — equal (sharpe 1.51)

parameter neighboursharpetotaldrawdownPFtrades
вход: donchian 70d1.61+1016%-21.7%3.36216
вход: donchian 55d1.58+1108%-19.9%3.04268
вход: donchian 30d1.50+1020%-26.6%2.67370
вход: donchian 40d1.32+717%-35.2%2.53328
вход: donchian 100d1.28+476%-21.2%3.39178
выход: time 51.24+475%-25.6%1.83556
вход: donchian 10d1.13+746%-37.4%1.81691
выход: time 201.11+957%-44.9%2.34372
выход: time 151.05+736%-54.4%2.08404
выход: time 300.99+657%-58.2%2.56316
выход: time 400.98+1071%-67.3%3.40272
выход: time 600.80+485%-77.5%2.75225

donchian 55d × channel exit 10d [volume>1.5×med20 (effort)] — equal (sharpe 1.42)

parameter neighboursharpetotaldrawdownPFtrades
вход: donchian 30d1.31+1105%-31.9%4.51200
вход: donchian 40d1.30+1194%-34.7%4.33182
вход: donchian 20d1.27+1054%-31.8%4.10229
выход: channel окно 151.26+1069%-35.5%5.20138
вход: donchian 70d1.22+641%-33.9%4.89122
выход: channel окно 251.17+2227%-63.8%12.21118
выход: channel окно 51.16+339%-17.3%2.90186
вход: donchian 10d1.16+843%-37.4%3.67282
вход: donchian 100d1.09+415%-29.9%4.74102

donchian 20d × channel exit 10d [atr7/atr50>1] — equal (sharpe 1.42)

parameter neighboursharpetotaldrawdownPFtrades
вход: donchian 30d1.41+1419%-30.1%4.18200
вход: donchian 40d1.37+1320%-31.9%3.97196
вход: donchian 55d1.37+1240%-34.9%4.14176
вход: donchian 10d1.36+1491%-43.6%3.36247
вход: donchian 70d1.32+929%-31.5%4.41145
выход: channel окно 51.26+700%-25.7%2.43271
вход: donchian 100d1.21+554%-31.4%4.52118
выход: channel окно 151.18+1013%-45.7%3.70194
выход: channel окно 251.14+2427%-69.5%8.92161

donchian 100d × time 20 [choppiness<55] — loss brake −15% (sharpe 1.35)

parameter neighboursharpetotaldrawdownPFtrades
выход: time 51.46+347%-12.5%7.3174
вход: donchian 70d1.43+659%-18.9%7.8148
выход: time 101.26+417%-21.2%6.5068
выход: time 301.26+992%-27.3%12.0243
вход: donchian 20d1.21+572%-39.8%8.2457
выход: time 151.18+340%-23.8%6.8747
вход: donchian 30d1.12+474%-32.9%7.5255
вход: donchian 55d1.12+418%-34.2%8.1247
вход: donchian 40d1.10+405%-33.4%7.2750
выход: time 401.05+753%-41.6%14.8342
выход: time 600.84+425%-50.0%10.9830
вход: donchian 10d0.81+237%-43.2%5.4050

Cycle phases — spot since 2018, two bears in the window

Phases are labeled by formula: BTC versus its SMA200 and the SMA's 20-day slope, warmed up on history before the window. The algorithm is phase-bound: returns accrue in bulls; in bears it sits near zero with a small drawdown — trade it with a phase gate, capital in cash out of phase.

phasedaystotalannualisedsharpedrawdownphase null p95
bull1422+1089.5%+88.8%2.02-21.4%+359.4%
bear996-0.1%-0.0%0.05-19.9%+20.7%
accumulation603+24.0%+13.9%0.91-13.4%+17.6%

Baskets: the price of survivorship, measured

The same pair over four baskets. The point-in-time top-30 by turnover (delisted names included) gives sharpe 1.0 instead of the surviving ten's 1.59 — and still beats both nulls. Surviving majors inflated the magnitude five-fold; the 1.0–1.59 bracket is the honest range of expectations.

baskettotalsharpedrawdownbeats window p95beats phase p95
majors-10+1099%1.59-21.2%yesyes
top-30 turnover p-i-t+181%1.00-23.7%yesyes
mid-caps 11-30+140%0.82-25.0%yesyes
spot early since 2018+1374%1.41-21.4%yesyes

What these numbers do NOT say

The leader's universe is ten survivors. The floor is measured (sharpe 1.0 on the honest basket), but promotion requires its own spec, the engine's full check battery and a timing audit.

The choppiness gate is cosmetic. +0.01 sharpe does not justify one more parameter; the gateless variant is equal.

DSR 82% is a probability, not a guarantee. The expected maximum of pure noise at 456 trials is sharpe 1.24; the leader sits above it, but a fifth of the overfit probability remains.

How it was measured

The engine is an honest portfolio: one position per symbol, 1/10 sleeves, entry at the next bar's open, daily mark-to-market, stop lines never fill better than the open. Verified against the published strategy's independent engine on six metrics exactly. Nulls are random entries by the same engine; gates run against a block-random mask; phases against their own phase's null.

Toptraders cross laboratory. A measured past is not a promise of returns.