function Dashboard({ go, user, plan }) { const wide = useWide(); return (
SATURDAY · APR 18, 2026
Welcome back, {user.name}.
● {plan.toUpperCase()} MEMBER
{/* Featured memo */}
THIS WEEK · MEMO №142
Funding regime shift — who pays to be long?
Perpetual funding on the majors flipped negative for 11 straight days — a setup we've only seen twice since 2020. Here's what happened both times, and what the cross-venue basis suggests about positioning into May.
7 MIN READ·4 CHARTS·3 BACKTESTS
Continue reading →
{/* Quick access */}
go('backtester')} style={{ background: TH.panel, border: `1px solid ${TH.rule}`, padding: 20, cursor: 'pointer', display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
TOOL
Backtester
go('videos')} style={{ background: TH.panel, border: `1px solid ${TH.rule}`, padding: 20, cursor: 'pointer', display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
LIBRARY
94 video lectures
go('telegram')} style={{ background: TH.panel, border: `1px solid ${TH.rule}`, padding: 20, cursor: 'pointer', display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
COMMUNITY
Telegram · 487 active
{/* Index */}
§ RESEARCH INDEX
SHOWING LATEST 8
{[ { tag: 'MEMO', t: 'Funding regime shift — who pays to be long?', r: '7 min', d: 'Apr 18', c: TH.accent }, { tag: 'BACKTEST', t: 'SMA 50/200 · BTC · 2019–2026 walk-forward', r: 'Sharpe 1.82', d: 'Apr 16', c: TH.green }, { tag: 'SIGNAL', t: 'ETH/BTC mean reversion · 4H — OPEN', r: '+1.4% unrealized', d: 'Apr 15', c: TH.green }, { tag: 'VIDEO', t: 'Position sizing for volatile assets — part II', r: '18 min', d: 'Apr 14', c: TH.accent }, { tag: 'MEMO', t: 'A note on survivorship bias in altcoin baskets', r: '11 min', d: 'Apr 11', c: TH.accent }, { tag: 'BACKTEST', t: 'Donchian breakout · SOL · walk-forward', r: 'Sharpe 1.21', d: 'Apr 09', c: TH.green }, { tag: 'SIGNAL', t: 'Perp basis divergence · multi-venue — CLOSED', r: '+4.2%', d: 'Apr 07', c: TH.muted }, { tag: 'MEMO', t: 'Reading the tape: what order flow tells us now', r: '9 min', d: 'Apr 04', c: TH.accent }, ].map((row, i) => (
{row.tag} {row.t} {wide && {row.r}} {row.d}
))}
); } function BacktesterPlaceholder({ go }) { const wide = useWide(); return (
TOOLS / LAB / SMA_CROSSOVER RUN_241 · 2026-04-18T14:22Z
{wide && (
◉ INPUTS
{[['asset','BTC-USD'],['fast_sma',50],['slow_sma',200],['tf','1D'],['start','2019-01-01'],['end','2026-04-18'],['fees','0.10%'],['slip','5bps']].map(([k,v],i) => (
{k}{v}
))}
)}
◆ PLACEHOLDER
SMA Backtester tool goes here.
Drop the live backtester here when ready. Params sidebar and stats rail are already wired — just plug your equity-curve component into this middle panel.
/tools/backtester · MEMBER-ONLY
{wide && (
◉ RESULTS
{[['CAGR','—'],['Sharpe','—'],['Sortino','—'],['Max DD','—'],['Win rate','—'],['N trades','—']].map(([k,v],i) => (
{k}
{v}
))}
)}
); } Object.assign(window, { Dashboard, BacktesterPlaceholder });