+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:
Smart money concepts: market structure as an entry rule
Verdict: the rule beats its own null. The concepts come from an open library, but its code never enters the calculation: it annotates a chart and therefore looks ahead. Every primitive here is computed from the past alone, and the library stays an oracle in the tests.
structure break + channel exit 10dv1
MDS Binance USD-M perp, daily bar · 2020-09-23 → 2026-07-29 · 10 instruments · $100k start · 0.1% per side · funding accrued
Leader
The rules in full
A report field is a tuning knob: every number carries the name of its constant.
| field | rule | constant |
|---|---|---|
| timeframe | daily bar | smc_lab.load_frames |
| entry | structure break | smc.RULES |
| swing confirmation | 5 bars each side, published at bar +5 | smc.SWING_LEN |
| entry fill | signal at bar close, order at next open | cross_lab.run_symbol_rule |
| exit | channel exit 10d | cross_lab.EXIT_MENU |
| stop | time exits carry no stop: the clock is the exit | cross_lab.trade_exit |
| trailing | stop lines only: a line never fills better than the bar open | cross_lab.stop_line |
| averaging | none | — |
| order block life | 30 bars, candle search within 20 | smc.OB_LIFE / smc.OB_LOOKBACK |
| position size | equal sleeves 1/N, N = 10 | cross_lab.portfolio_run |
| concurrent positions | up to 10, one per instrument | cross_lab.run_symbol_rule |
| sides | long and short, 49.5% of signals short | smc.rule_* |
| leverage | 1.0 | — |
| costs | 0.1% per side (perp taker 0.05 + slippage 0.05), charged on both sides | cross_lab.PERP_COST_PER_SIDE |
| funding | accrued every day held from the venue's stamps: long pays, short receives | bt_wf.carry_pct |
| universe | ADAUSDT, AVAXUSDT, BNBUSDT, BTCUSDT, DOGEUSDT, ETHUSDT, LINKUSDT, LTCUSDT, SOLUSDT, XRPUSDT | smc_lab.SYMBOLS |
| window and why | 2020-09-23 — 2026-07-29: 2018-01-01 was requested; the basket intersects on dates, so the measured span is printed | smc_lab.START/END |
Yearly return
| year | 2020 (09-12) | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 (01-07) |
|---|---|---|---|---|---|---|---|
| return | +23.9% | +223.8% | −7.6% | +113.7% | +3.2% | −5.7% | +6.0% |
Latest trades
| instrument | side | slice | entry → exit | dates | return |
|---|---|---|---|---|---|
| BNBUSDT | LONG | 100% | 592.38 → 587.32 | 2026-07-31 → 2026-07-31 | −1.05% |
| AVAXUSDT | SHORT | 100% | 6.262 → 6.771 | 2026-07-24 → 2026-07-25 | −8.31% |
| XRPUSDT | LONG | 100% | 1.1432 → 1.0691 | 2026-07-22 → 2026-07-27 | −6.68% |
| LTCUSDT | LONG | 100% | 46.97 → 45.75 | 2026-07-19 → 2026-07-29 | −2.93% |
| LINKUSDT | LONG | 100% | 8.343 → 8.206 | 2026-07-15 → 2026-07-28 | −2.01% |
| ETHUSDT | LONG | 100% | 1891.12 → 1861.68 | 2026-07-15 → 2026-07-31 | −1.89% |
| BTCUSDT | LONG | 100% | 65014.6 → 63567 | 2026-07-15 → 2026-07-28 | −2.61% |
| ADAUSDT | LONG | 100% | 0.1921 → 0.1605 | 2026-07-05 → 2026-07-13 | −16.57% |
| SOLUSDT | LONG | 100% | 75.13 → 76.24 | 2026-06-30 → 2026-07-12 | +1.15% |
| BNBUSDT | SHORT | 100% | 551.42 → 579.24 | 2026-06-29 → 2026-07-05 | −5.12% |
| XRPUSDT | SHORT | 100% | 1.043 → 1.1333 | 2026-06-26 → 2026-07-03 | −8.91% |
| ADAUSDT | SHORT | 100% | 0.1475 → 0.1629 | 2026-06-25 → 2026-07-03 | −10.57% |
| LINKUSDT | SHORT | 100% | 8.37 → 8.181 | 2026-06-03 → 2026-06-15 | +2.16% |
| BNBUSDT | LONG | 100% | 719.01 → 628.42 | 2026-05-31 → 2026-06-03 | −12.81% |
| AVAXUSDT | SHORT | 100% | 8.922 → 6.67 | 2026-05-29 → 2026-06-29 | +24.86% |
| ADAUSDT | SHORT | 100% | 0.237 → 0.1838 | 2026-05-28 → 2026-06-15 | +22.20% |
| SOLUSDT | SHORT | 100% | 82.37 → 71.25 | 2026-05-28 → 2026-06-15 | +12.94% |
| BTCUSDT | SHORT | 100% | 74418 → 64739.8 | 2026-05-28 → 2026-06-14 | +12.91% |
| XRPUSDT | SHORT | 100% | 1.3607 → 1.1872 | 2026-05-20 → 2026-06-15 | +12.33% |
| DOGEUSDT | SHORT | 100% | 0.10472 → 0.06956 | 2026-05-19 → 2026-07-31 | +34.01% |
| LTCUSDT | SHORT | 100% | 54.53 → 45.82 | 2026-05-18 → 2026-06-15 | +15.80% |
| ETHUSDT | SHORT | 100% | 2179.67 → 1774.34 | 2026-05-17 → 2026-06-15 | +18.57% |
| AVAXUSDT | LONG | 100% | 10.222 → 9.358 | 2026-05-11 → 2026-05-16 | −8.62% |
| BNBUSDT | LONG | 100% | 664.13 → 634.8 | 2026-05-11 → 2026-05-18 | −4.67% |
| ADAUSDT | LONG | 100% | 0.2735 → 0.2566 | 2026-05-09 → 2026-05-16 | −6.38% |
Every pair
Four rules against shared exits. Each pair carries its own null: random entries through the same engine, same exit, same side mix. The best line by total is liquidity sweep + channel exit 10d (+836.4%), and it does not ship: lives at a single swing value: stability 0.25 against a 0.6 threshold.
| rule | exit | total | sharpe | dd | pf | trades | random p95 | beats random | knob | shipped |
|---|---|---|---|---|---|---|---|---|---|---|
| liquidity sweep | channel exit 10d | +836.4% | 1.07 | −64.9% | 1.66 | 560 | +423.6% | yes | 0.25 | no — lives at a single swing value: stability 0.25 against a 0.6 threshold |
| structure break | channel exit 10d | +717.1% | 0.96 | −45.0% | 2.00 | 651 | +591.8% | yes | 0.62 | yes — the report's leader |
| break confirmed by gap | channel exit 10d | +399.8% | 0.93 | −41.8% | 2.28 | 250 | +145.4% | yes | 0.61 | passes the controls; the product is registered under the structure-break rule |
| structure break | time 40 | +352.7% | 0.72 | −82.5% | 1.96 | 381 | +644.2% | no | 0.77 | no — does not beat its own random entry (p95) |
| structure break | time 20 | +278.9% | 0.70 | −59.7% | 1.52 | 583 | +284.1% | no | — | not assessed: did not reach the finals |
| structure break | time 10 | +215.2% | 0.68 | −49.0% | 1.40 | 805 | +157.0% | yes | — | not assessed: did not reach the finals |
| structure break | chandelier 22/3 | +109.2% | 0.51 | −48.3% | 1.48 | 655 | +115.3% | no | — | not assessed: did not reach the finals |
| liquidity sweep | time 40 | +48.3% | 0.44 | −91.5% | 1.04 | 300 | +557.4% | no | — | not assessed: did not reach the finals |
| break confirmed by gap | time 40 | +46.7% | 0.37 | −63.5% | 1.39 | 201 | +178.5% | no | — | not assessed: did not reach the finals |
| break confirmed by gap | time 20 | +40.8% | 0.35 | −55.6% | 1.51 | 243 | +106.3% | no | — | not assessed: did not reach the finals |
| break confirmed by gap | time 10 | +11.4% | 0.19 | −25.8% | 1.25 | 269 | +61.5% | no | — | not assessed: did not reach the finals |
| order block retest | time 20 | −5.9% | 0.12 | −53.6% | 1.10 | 403 | +154.9% | no | — | not assessed: did not reach the finals |
| order block retest | time 40 | −20.3% | 0.08 | −68.4% | 1.01 | 295 | +228.9% | no | — | not assessed: did not reach the finals |
| order block retest | time 10 | −23.0% | -0.13 | −52.9% | 0.89 | 477 | +150.4% | no | — | not assessed: did not reach the finals |
| break confirmed by gap | chandelier 22/3 | −25.5% | -0.15 | −43.9% | 0.96 | 266 | +70.7% | no | — | not assessed: did not reach the finals |
| order block retest | channel exit 10d | −26.3% | -0.17 | −52.2% | 0.94 | 491 | +236.1% | no | — | not assessed: did not reach the finals |
| order block retest | chandelier 22/3 | −29.3% | -0.22 | −47.2% | 0.96 | 480 | +69.1% | no | — | not assessed: did not reach the finals |
| liquidity sweep | trail 5 atr | −56.1% | -0.37 | −74.0% | 0.89 | 210 | +45.2% | no | — | not assessed: did not reach the finals |
| break confirmed by gap | trail 5 atr | −59.5% | -0.38 | −66.1% | 0.75 | 161 | +26.0% | no | — | not assessed: did not reach the finals |
| liquidity sweep | time 20 | −73.3% | -0.46 | −85.5% | 0.82 | 428 | +525.6% | no | — | not assessed: did not reach the finals |
| structure break | trail 5 atr | −71.4% | -0.47 | −88.0% | 0.76 | 255 | +29.6% | no | — | not assessed: did not reach the finals |
| order block retest | trail 5 atr | −68.4% | -0.60 | −83.8% | 0.62 | 214 | +78.3% | no | — | not assessed: did not reach the finals |
| liquidity sweep | time 10 | −76.6% | -0.82 | −78.5% | 0.74 | 531 | +223.6% | no | — | not assessed: did not reach the finals |
| liquidity sweep | chandelier 22/3 | −31.7% | -0.86 | −36.5% | 0.59 | 711 | +118.3% | no | — | not assessed: did not reach the finals |
The knob: swing length
Swing length sets both the labelling and the confirmation delay: the longer it is, the later the desk learns about structure. Stability is the worst-to-best sharpe ratio across neighbouring lengths: a rule that lives at one value is a fit, and that has to be visible as a number.
liquidity sweep + channel exit 10d — stability 0.25 against the 0.6 threshold
| swing | total | sharpe | dd | trades | pf |
|---|---|---|---|---|---|
| 3 | +23.7% | 0.27 | −46.4% | 783 | 1.10 |
| 5 | +836.4% | 1.07 | −64.9% | 560 | 1.66 |
| 8 | +207.4% | 0.71 | −59.9% | 402 | 2.26 |
| 13 | +226.0% | 0.72 | −57.0% | 278 | 2.42 |
structure break + channel exit 10d — stability 0.62 against the 0.6 threshold
| swing | total | sharpe | dd | trades | pf |
|---|---|---|---|---|---|
| 3 | +165.0% | 0.60 | −53.7% | 753 | 1.57 |
| 5 | +717.1% | 0.96 | −45.0% | 651 | 2.00 |
| 8 | +643.7% | 0.95 | −48.6% | 518 | 2.10 |
| 13 | +708.8% | 0.97 | −62.7% | 380 | 2.18 |
break confirmed by gap + channel exit 10d — stability 0.61 against the 0.6 threshold
| swing | total | sharpe | dd | trades | pf |
|---|---|---|---|---|---|
| 3 | +212.5% | 0.72 | −45.8% | 346 | 1.78 |
| 5 | +399.8% | 0.93 | −41.8% | 250 | 2.28 |
| 8 | +120.6% | 0.57 | −37.2% | 201 | 2.02 |
| 13 | +125.1% | 0.63 | −34.3% | 142 | 2.46 |
structure break + time 40 — stability 0.77 against the 0.6 threshold
| swing | total | sharpe | dd | trades | pf |
|---|---|---|---|---|---|
| 3 | +768.9% | 0.84 | −81.1% | 418 | 2.03 |
| 5 | +352.7% | 0.72 | −82.5% | 381 | 1.96 |
| 8 | +1164.2% | 0.92 | −73.6% | 332 | 2.36 |
| 13 | +334.4% | 0.71 | −68.0% | 267 | 1.91 |