Roadmap
What's been built,
what's coming next
A living record of every shipped feature and every planned improvement. Updated as work is completed.
Shipped
Fast ×5 (scalpers), Medium ×5 (balanced), Slow ×4 (swing traders). Each archetype has distinct EMA/RSI ranges, leverage caps, and position limits.
Leverage selected per trade: 1x / 2x / 5x / 10x based on signal strength, capped by archetype DNA. Not random — higher conviction means higher leverage.
Each bot holds up to 5 concurrent independent positions, each with its own TP, SL, and leverage. Positions close individually when their level is hit.
TP and SL set in ATR units per archetype. Margin capped so worst-case SL loss never exceeds available wallet — leveraged bots cannot go negative.
TP/SL ratio enforced ≥ 1.5:1 in DNA generation and mutation. No bot can inherit a statistically losing setup across generations.
EMA and RSI seeded once from full candle history, then updated in O(1) per closed candle. Replaced full O(n) recalculation that ran on every tick.
Ranking uses totalValue = wallet + Σ(margin + unrealizedPnL) across all open positions. Bots with profitable open trades rank correctly.
Fires when short EMA crosses above/below long EMA and price confirms direction. Weighted by trendWeight DNA parameter.
Fires on RSI < 30 (oversold long) or RSI > 70 (overbought short). Weighted by meanRevWeight DNA. Slow bots need both signals to align.
Bots with wallet < $800 (−20%) are kicked immediately. Replaced with a mutation of the best same-archetype performer. Archetype diversity is always preserved.
Each DNA parameter independently mutated by up to ±15% of the leader's value. Integer parameters (EMA periods, etc.) rounded and bounded.
btcusdt@kline_1m — each message triggers a full engine tick. Exponential backoff reconnect: 1s → 2s → 4s → … → 30s cap.
Binance REST fetches 720 1m candles on startup with 3-attempt retry. Seeds indicator state before the first live tick. Upgraded from 200 candles (~3h).
State saved every 30 ticks. Cloud sync every 30 seconds. Cloud takes precedence on load. Backward-compatible migration from old single-position save format.
Trade Republic-inspired aesthetic: #080808 background, Inter only, minimal borders, no gradients or heavy shadows. Consistent across app, project hub, and presentation.
Arena list now uses flex:1 + min-height:0 so it always fills available space. Trade log is fixed at 240px and can never push bots off screen.
Trade log split into two tabs within a fixed-height container. Active tab shows a live badge with open position count.
Hover any bot to see current thought, confidence, and DNA parameters. Click to open full modal: ROI, win rate, all positions with TP/SL, last 10 trades.
Leader's positions shown as solid price lines. Hovering any bot shows their levels as dimmed overlay lines. No setData() on buffer overflow.
Reset button opens a password modal. Hard reset only proceeds with correct admin credentials — prevents accidental wipes.
Toast slides in from left for every trade open and close. Shows agent name, direction, leverage, price, and PnL. Auto-dismissed after 4.5 seconds.
Comprehensive reference page: archetypes, signal engine, leverage system, DNA parameter table, performance design, persistence, and tech stack.
Custom 9-slide deck built without Reveal.js. Keyboard navigation, progress bar, no CDN dependency, no password leak.
Unlimited bandwidth, no monthly cap. Zero config — static files served directly from public/ directory. Auto-deploys on every push to main.
This page. Living record of shipped features and planned improvements. Updated as work is completed.
Near-term
0.05% fee on notional (margin × leverage) charged on both open and close. Deducted directly from wallet so it compounds realistically over many trades.
Fast −15% (wallet < $850), Medium −20% (wallet < $800), Slow −25% (wallet < $750). Slow bots trade rarely so a single bad trade no longer unfairly triggers elimination.
Skip new entries when ATR is below a threshold (low-volatility chop). EMA crossovers in ranging markets generate false signals — this would reduce whipsaw losses significantly.
A line chart showing average ROI per archetype over time. The genetic algorithm is invisible right now — this would show convergence, generational improvement, and which archetype dominates.
Persist the best-ever bot stats: highest peak ROI, longest survival, most trades, best single trade. Adds narrative — watching a bot survive for days creates attachment.
Add MACD (Moving Average Convergence Divergence) as a third optional signal. Bots could weight it via a macdWeight DNA parameter, adding a momentum-confirmation layer.
Price touching the lower/upper band as a mean reversion trigger. Complements RSI — gives bots a volatility-aware entry condition rather than just momentum.
Long-term
New bots inherit each DNA parameter from one of two parent bots, selected probabilistically. More biologically accurate than single-parent mutation and creates genuinely novel strategy combinations.
Extend to ETH/USDT and SOL/USDT alongside BTC. Bots could specialize by pair as part of their archetype, or compete across pairs in a broader arena.
Run the full arena against stored historical candle data at high speed. Would let the genetic algorithm evolve through hundreds of generations in minutes rather than days.
Generate a downloadable receipt of realized profits with Austrian Capital Gains Tax (KeSt) at 27.5% applied. Useful if the system is adapted for real paper trading.
Connect the winning bot's signals to a real exchange paper trading API. The arena would become a live strategy incubator rather than a pure simulation.
DNA hover card, chart interaction, and the agent modal are desktop-only today. Full touch support with tap-to-expand and swipeable trade log panels.