Brief
Ik wilde een crypto-handelsdashboard waarmee een NL/EU-trader veilig kan switchen tussen paper-trading en live execution op Bitvavo, met institutionele indicatoren en AI-forecasting onder één UI. Geen black-box signaalverkoop, maar een transparante terminal die laat zien hoe elke beslissing tot stand komt — en die nooit per ongeluk live kan handelen.
Aanpak
Monorepo met FastAPI-backend (Python 3.13, uv) en React/Vite-frontend (TypeScript, pnpm). Marktdata loopt via Bybit (gratis publieke WebSocket en REST), execution via Bitvavo als primaire EU-venue. De hele stack is dual-mode: sim en live hebben aparte stores en zijn altijd switchbaar vanuit de UI, zodat productiedata nooit met paper-trades mengt.
De forecast-laag combineert Kronos (lokaal) en Chronos-Bolt als ensemble, met volatility-aware veto's. Daarbovenop draait een decision engine met een defensieve risk-stack: correlation gate, drawdown breaker, fee-aware min-expected-return, R:R-bewuste Kelly-sizer, max-open-positions cap en een kill-switch die in live-mode echte venue sell orders plaatst. Indicatoren (SMC, Keltner, Predictive Ranges, Session VWAP, Confluence) zijn van scratch geïmplementeerd op LuxAlgo-inspiratie, expliciet transparant.
LLM-gate is local-first: Ollama+Qwen3 standaard, Claude alleen als opt-in upgrade. Drie agents (regime, news, gate) beslissen onafhankelijk of een trade door mag.
Resultaat
Een werkende terminal met live candle stream, AI-forecasting, decision engine, web-dashboard met lightweight-charts, en notify-only proactive discovery over feeds en trending pairs. Sim-mode draait end-to-end; live-mode is gewired tot en met kill-switch en venue sell orders, met Bitvavo-adapter als laatste integratiestap. ntfy en Discord-webhooks voor notificaties.











