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 · exit laboratory

The exit decides more than the signal

A sweep of entry triggers surfaced something worth its own study: results vary more across exit rules than across signals. Here the entry is held fixed and the exit is swept — 24 rules over 4 entries and 10 markets, daily bars, long only, 0.15% costs per side.

Every exit gets its own null: entry on a random day with the same exit and the same trade count, 80 seeds. A shared null would be useless — a wide stop and a tight stop ride a rising market differently, and comparing against someone else's null would compare exits with each other, not with chance.

measurements
960
24 exits × 4 entries × 10 markets
best exit
2.13
time 90 bars
worst
-0.10
trailing 3 atr
beat p95
199
of 960 measurements

The one-line takeaway

Between the best and the worst exit rule lies 2.23 of profit factor on identical entries. That is more than the gap between any two signals we have measured. The exit that ships as the default in the third-party tool ranked 22 of 24.

Exit ranking

0.0time 90 bars2.13time 40 bars1.83time 10 bars1.60channel exit 10d1.56time 20 bars1.45quantile 20/q101.44trailing 12 atr1.15fib trail 0.6181.12gann hilo 31.10chandelier 22/31.00fvg trail0.97trailing 8 atr0.93safezone 2.50.91stop 3 atr + breakeven at +40.86halftrend 20.80supertrend 10/30.55chande kroll 10/1/90.53stop 2 atr, take 60.47stop 2 atr, take 40.42stop 3 atr + breakeven at +20.35stop 3 atr, take 90.34their default 1/2/3 atr0.21trailing 5 atr0.20trailing 3 atr-0.10median edge over the null
The null is a random entry with the same exit. A bar above zero means the signal entry beats a coin flip under this exit; below — it loses to one. Hover a bar to see how many measurements sit under it.
exitmeas.trades profit factoredge over nullwin % median trade %beat p95
time 90 bars4020664.482.1355.56.5714/40
time 40 bars4020663.691.8353.72.4817/40
time 10 bars4020663.031.6055.41.4421/40
channel exit 10d4020663.381.5641.8-3.9511/40
time 20 bars4020663.051.4553.01.6515/40
quantile 20/q104020663.291.4443.5-4.188/40
trailing 12 atr4020663.331.1556.56.988/40
fib trail 0.6184020662.441.1237.3-3.310/40
gann hilo 34020662.221.1038.8-2.257/40
chandelier 22/34020662.361.0040.8-3.582/40
fvg trail4020662.660.9748.2-0.679/40
trailing 8 atr4020662.790.9353.85.399/40
safezone 2.54020662.250.9141.2-2.4810/40
stop 3 atr + breakeven at +44020663.920.8617.1-0.308/40
halftrend 24020661.720.8035.5-1.697/40
supertrend 10/34020662.080.5540.8-5.049/40
chande kroll 10/1/94020661.140.5332.4-1.913/40
stop 2 atr, take 64020661.630.4735.3-10.349/40
stop 2 atr, take 44020661.380.4242.5-8.2510/40
stop 3 atr + breakeven at +24020664.460.356.9-0.302/40
stop 3 atr, take 94020661.850.3439.5-13.1210/40
their default 1/2/3 atr4020661.380.2155.34.356/40
trailing 5 atr4020661.570.2044.1-3.634/40
trailing 3 atr4020661.05-0.1040.8-3.450/40

Exit versus entry

donchian 100ddonchian 20dstructure breakzone formedtime 90 bars+3.25+2.33+2.42+1.71time 40 bars+3.23+1.39+1.24+1.36time 10 bars+2.79+1.52+2.58+1.17channel exit 10d+3.04+1.55+1.56+1.38time 20 bars+2.79+2.08+1.35+1.18quantile 20/q10+2.00+1.35+1.47+1.27trailing 12 atr+0.82+0.81+2.36+1.72fib trail 0.618+1.30+0.99+1.40+1.09gann hilo 3+1.30+0.98+1.88+1.06chandelier 22/3+1.33+1.07+1.34+0.81fvg trail+1.03+0.90+1.79+0.70trailing 8 atr+0.68+0.53+1.75+1.20safezone 2.5+0.93+0.78+1.71+0.84stop 3 atr + breakeven at +4-0.28+0.58+1.06+1.67halftrend 2+0.99+0.74+1.09+0.73supertrend 10/3+0.52+0.17+0.60+0.64chande kroll 10/1/9+0.61+0.46+0.81+0.53stop 2 atr, take 6+0.41+0.22+0.49+0.66stop 2 atr, take 4+0.12+0.28+0.32+0.56stop 3 atr + breakeven at +2-0.51+0.18+0.62+1.67stop 3 atr, take 9+0.85+0.15+0.44+0.39their default 1/2/3 atr+0.35+0.24-0.06+0.23trailing 5 atr+0.29+0.02+0.00+0.24trailing 3 atr-0.14-0.13-0.14+0.04
Median edge over the null across all markets. Rows are exits in ranking order, columns are entries. If the signal decided, the map would color by column; it colors by row.
Honest return of the top rule

Donchian 20d → 10-bar time exit, no overlaps

The tables above compare rules with each other, and their absolute numbers are inflated by overlapping trades. Here the same rule is computed as an account: one position per symbol, equal 1/10 sleeves with no rebalancing and no leverage, entry at the next bar's open, daily mark-to-market. Every run closes with a battery of 130 mechanical checks (overlaps, look-ahead, PnL re-derived from prices, bar boundaries, monthly sums converging) — 0 failed — plus eleven cross-checks from the other end and nine trades re-derived by hand against the store queried by date.

total
1382.3%
window 2020-09-23 — 2026-08-08
annualised
58.3%
compound
drawdown
-29.9%
buy&hold basket -85.4%
sharpe
1.51
sortino 2.66 · calmar 1.95
trades
463
52.9% winners
time in market
23.7%
stagnation 695 d
1x2x5x10x2020-092022-092024-082026-08rulebuy-hold basketwithout best sleeve
Log scale. Hover the curve — the tooltip shows all three series on that date. The same ten-coin basket without the rule reached 945% with a -85% drawdown; the rule is in the market less than a quarter of the time with a third of the drawdown.

The caveat outranks the tiles: the result is concentrated

The random-entry null run by the same engine gives a median of 193% and a p95 of 852%. The full portfolio beats p95 (1382%), but the best sleeve — DOGEUSDT at +8058% — carries it: without it 641% remains at a 1.25 sharpe, and that is BELOW the null's p95. Window halves: +460% and +165% — both positive. The 2020–2026 window rose; it contains no bear market of comparable length. Before any promotion — a re-run on the store's full universe, not ten surviving majors.

By sleeve

symboltotal %trades win %drawdown %in market % 1st half2nd half
DOGE8057.73461.8-53.917.41506.7407.7
XRP1862.63748.6-60.819.0603.7178.9
SOL1312.94963.3-81.825.2340.6220.7
BNB1160.04957.1-39.825.0923.923.1
AVAX882.04348.8-74.822.0678.326.2
ADA288.84252.4-70.521.3151.754.5
ETH161.35556.4-61.128.2308.9-36.1
BTC108.45653.6-57.728.754.834.6
LINK9.55143.1-65.326.1-34.065.8
LTC-20.24744.7-76.924.160.9-50.4

What repeats across markets

The sum over all measurements misleads: a rule can win one market and lose nine. The real test is how many of 10 markets cleared the 95th percentile of their own null. An honest null expects half a market.

best rule
7/10
donchian 20d · time 10 bars
rules with 5+
7
of 96 entry×exit pairs
expected by chance
0.5
markets per rule
all seven
time
the top of the list is held by time exits
entryexittrades profit factoredge over nullmarkets above p95
donchian 20dtime 10 bars8882.851.527/10
donchian 100dtime 40 bars3695.393.236/10
donchian 100dtime 10 bars3694.272.796/10
donchian 100dtime 20 bars3694.522.795/10
donchian 20dtime 90 bars8885.042.335/10
donchian 20dtime 20 bars8883.452.085/10
donchian 20dtime 40 bars8883.201.395/10
donchian 100dtime 90 bars3695.443.254/10
structure breaktime 10 bars2793.982.584/10
zone formedtime 10 bars5302.501.174/10
donchian 100dstop 3 atr, take 93692.580.854/10
donchian 20dstop 2 atr, take 48881.310.284/10
donchian 100dstop 2 atr, take 43691.430.124/10
donchian 100dchannel exit 10d3694.583.043/10

The entry carries information — unless a stop cuts it off

Seven markets out of ten for one rule is not a coincidence: at 5% probability per market that happens about once in a hundred million. And all seven top rows are time exits, with no stop at all. Stop-based rules rank lower, and the tightest trail (3 ATR) won not a single market with any entry.

The reading: a breakout signal genuinely places the entry better than a random day, but a tight stop cuts the trade before the edge can show. Holding for a fixed time proved more honest than guessing the exit level.

The library's stop-line batch did not change this. Nine rules — Elder's SafeZone, Chandelier, Chande Kroll, Gann HiLo, Halftrend, trails off Fibonacci, FVG and quantile levels, the classic channel exit — joined the same stand. The best of them (10-day channel exit) cleared p95 on three markets of ten; time exits hold seven. All nine have a negative or near-zero median trade — a stop line by construction sells after a pullback, and that costs more than the curve suggests.

What these numbers do NOT say

Trades overlap. At a 90-bar hold, new entries arrive on top of old ones and trades stop being independent: profit factor is inflated in every long-hold row. The null runs on the same overlaps, so the COMPARISON is honest — the absolute numbers are not.

There is no portfolio here. One position at a time, equal weight, no cap on total risk. A real strategy still has to fit in capital: a 90-bar time exit holds the market almost constantly, and that is a different conversation.

The 2019–2026 window rises. The null accounts for that: a random entry gets the same hold length and the same drift. But a rule that beat the coin on the way up owes nothing on the way down, and the window has no halves here yet.

How it was measured

entry
Donchian channel breakout at 100 and 20 days plus two structure events; entry at the next bar's open
exit
24 rules: fixed levels, trailing from 3 to 12 ATR, breakeven after a move in profit, time exits
costs
0.15% per side, both sides
null
random entry, 80 seeds, same trade count, same exit; compared against p50 and p95
what is absent
a portfolio. One position at a time, equal weight: the question is about the exit, not about capital. Numbers compare with each other and do not replace published strategy results
Toptraders exit laboratory. A measured past is not a promise of returns.