← Terminal
Roadmap

What's Built.
What's Next.

A living log of everything shipped and everything planned — from the trading engine to the analytics layer and beyond.

0
Shipped
0
In Progress
0
Planned
0
Vision
Overall progress 0%
1
Foundation Complete
Core trading infrastructure — real-time data, paper wallet, strategy engine, and the terminal dashboard.
📡 Shipped
Binance WebSocket Feed
Live BTC/USDT price stream via multiplexed WebSocket. Auto-reconnects on drop with 3-second backoff.
📈 Shipped
TradingView Chart
Candlestick chart with EMA overlays and signal markers. Live tick updates, multi-interval (1m → 4h).
Shipped
EMA Cross Strategy
Configurable short/long EMA cross. Signal fires on closed candles only — never on live ticks to prevent false triggers.
💼 Shipped
Paper Wallet
Supabase-backed $1,000 simulated balance. Leveraged long/short positions with intra-candle SL/TP checks.
🔒 Shipped
Password Gate
Session-persistent auth via localStorage. Single access key, no account system needed.
📋 Shipped
Trade History
Paginated closed-trade log with entry, close, PnL, leverage, and timestamp. Load-more pagination.
⚙️ Shipped
Strategy Settings Persistence
EMA periods, leverage, SL%, TP% saved to Supabase via POST /api/settings. Survives browser refresh.
📚 Shipped
Docs Site
Three-page docs — Overview, Strategy, API — with scroll-reveal animations, equity curve animation, and dark FinTech aesthetic.
2
Intelligence Active
Advanced strategy modes, multi-asset backtesting, and an AI-assisted optimizer.
🌊 Shipped
Swing Strategy Mode
EMA-50 trend filter, volume confirmation, risk-fraction position sizing, and reward:risk ratio — imported from BTCViewer bot format.
🤖 Shipped
Saved Bots System
Save, load, delete named bot configs. Import/export as JSON for cross-tool portability. Bot selector as backtest starting point.
🎲 Shipped
Multi-Token Backtest
Test any config across 30 tokens simultaneously with randomized candle intervals each run — prevents pattern overfitting.
🔬 Shipped
Auto-Tune Optimizer
80-candidate grid search across EMA pairs, leverage, risk levels, and candle intervals. Scores by Calmar ratio + win rate + profitable-token ratio.
Shipped
O(1) Incremental EMA
Rewrote backtest engine from O(n²) recalculation to O(1) per-candle incremental update. Eliminated Cloudflare Worker CPU timeouts.
🛡️ Shipped
Walk-Forward Validation
Every backtest now runs a second simulation on the last 30% of candles (unseen during any optimization). The OOS results appear alongside main metrics — if performance collapses on unseen data, the strategy is curve-fitted.
📉 Shipped
Trailing Stop Loss
Toggle in strategy settings. Locks in profit as price moves favorably — SL follows the peak price at the configured distance. Active both in backtest simulation (candle wick model) and in the live bot via real-time tick updates.
📊 Shipped
Sharpe & Sortino Ratio
Both ratios computed from per-trade returns and shown in the backtest secondary stats. Sortino penalises only downside deviation — a better signal than raw win rate. A Sharpe above 1 indicates returns that justify the risk taken.
🔔 Scrapped
Telegram Trade Alerts
Dropped — adds external dependency and Cloudflare Workers can't hold a persistent bot token cheaply. Not worth the complexity for a paper-trading simulator.
Safeguards Complete
Protection mechanisms for everything that can go wrong — missed stop-losses, API failures, disconnections, and runaway losses.
🔌 Shipped
Disconnection Guard
A 5-second heartbeat checks the last tick timestamp. If no price arrives for 30 seconds while a position is open, the bot closes it at the last known price and shows an alert — preventing SL/TP from running blind during a WebSocket outage.
🛑 Shipped
Missed SL/TP Recovery
On every page load, if an open position exists, the current market price is immediately compared against its SL and TP. If either was already breached while the tab was closed, the position closes instantly with a recovery toast — no trade is left orphaned.
💼 Shipped
Balance Floor Protection
Set a minimum balance in the strategy sidebar (0 = disabled). If the wallet drops to or below that amount, the bot stops itself before opening another position and fires an alert. Persisted in settings so it survives a page reload.
Shipped
API Error Circuit Breaker
After 3 consecutive API failures (open or close), the bot halts itself and fires a clear error toast explaining what happened. The counter resets on any successful API call. Prevents silent retry loops that could open duplicate positions or lose track of state during an outage.
👻 Shipped
Ghost Position Detector
Every 60 seconds, if a position is open, the bot fetches fresh DB state and checks whether price has blown past SL or TP by more than 0.5% — a clear sign the trade should have closed but didn't. When detected, it fires a warning toast and closes the position immediately.
📉 Shipped
Daily Loss Limit
Set a % drawdown cap in the strategy sidebar (0 = disabled). The bot tracks balance from session start; if cumulative loss reaches the limit, it halts and fires an alert. Restart manually once you've reviewed the situation.
🔁 Shipped
Duplicate Trade Prevention
Each open signal is stamped with a side + timestamp. If the same side fires again within 60 seconds (one candle), the second call is silently dropped before any API request is made. The dedup window resets only after a successful position close, so legitimate reversals are never blocked.
3
Analytics Complete
Deep insight into bot performance — and making backtests tell the truth about what would happen with real money.
💀 Shipped
Liquidation Simulation
Backtest now calculates the true liquidation price per position (entry ± 1/leverage). If the wick crosses that price, the position closes at a total margin loss — the account is blown and trading stops. Toggle off to compare against the old unlimited mode.
💸 Shipped
Fee & Slippage Modeling
Every entry and exit now pays Binance Futures taker fees (0.04%) and an estimated slippage (0.03%) applied to the execution price. A strategy that looks like +900% on paper drops to its real post-cost performance. Toggle on/off in Realism Settings.
💰 Shipped
Starting Capital Input
Set any starting balance (default $1,000) in the Realism Settings panel before running a backtest. Final balance, total PnL, and liquidation risk all scale to your actual capital — answer "what happens to my $100?" with a real simulation.
📉 Shipped
Drawdown Overlay
After every backtest run, a live TradingView chart renders the equity curve with a red histogram below showing peak-to-trough drawdown % for every candle — makes risk visible at a glance instead of a single max-drawdown number.
🔥 Shipped
Win/Loss Streak Tracker
The live bot tracks consecutive wins and losses in real time. A streak bar in the Active Trade tab shows 🔥 W or ❄ L runs, plus session-best win and worst loss streaks. Set a Max Consecutive Losses limit in settings and the bot auto-pauses if the streak is hit.
📤 Shipped
CSV Trade Export
A "⬇ CSV" button in the Trade History header fetches all closed trades from the database and downloads them as a .csv file — entry, close, margin, PnL, leverage, reason, duration, timestamps. Import directly into Excel or any analytics tool.
🕐 Shipped
Best-Hour Heatmap
After each backtest, a 24-slot UTC hour grid renders below the trade log. Each cell shows win rate % with green/red intensity proportional to the edge. Hover for full stats: trade count, win rate, and average PnL for that hour. Reveals the best and worst sessions for the current strategy.
🧮 Shipped
Kelly Criterion Sizing
After every backtest, the Half-Kelly optimal position size is computed from historical win rate and average win/loss ratio (f* = (p·b − q)/b, capped at ½). Displayed as a stat pill in the backtest results — tells you what fraction of capital to risk per trade for maximum geometric growth without ruin.
🎯 Shipped
Live Performance Dashboard
A persistent panel on the dashboard shows rolling 7-day, 30-day, and all-time stats: total PnL, win rate, average trade duration, best/worst trade, and alpha vs a BTC buy-and-hold baseline for the same window. Updates automatically after every closed trade.
4
Integrations Vision
External signals, webhooks, and advanced tooling — turning the simulator into a fully extensible trading platform.
🪝 Vision
TradingView Webhook
Accept inbound alerts from TradingView Pine Script strategies via a signed webhook endpoint — execute trades from any external signal source.
🗂️ Vision
Multi-Bot Portfolio
Run multiple strategy bots in parallel across different assets and timeframes. Allocate capital per-bot and track combined portfolio PnL.
📱 Vision
PWA / Mobile App
Package the terminal as a Progressive Web App with offline chart caching and a mobile-optimised layout for monitoring on the go.
🧬 Vision
Custom Strategy Sandbox
Write arbitrary strategy logic in a sandboxed TypeScript editor in the browser. Backtest it instantly against the same 30-token multi-asset engine.
5
Live Trading Vision
The path from simulation to real capital — a disciplined, gate-by-gate transition with safety rails at every step.
🔑 Vision
Exchange API Bridge
Connect to Binance Futures or Bybit via read/trade-only API keys. Keys live in Cloudflare Secrets — never stored in the database or sent to the browser.
🧪 Vision
Micro-Capital Pilot Mode
First live step: trade a fixed micro-budget (e.g. $50) with a hard loss cap. Identical strategy logic as the simulator — only the execution layer changes.
🛡️ Vision
Live Risk Circuit Breakers
Automatic kill switch if daily drawdown exceeds a set threshold. Separate live position from paper simulation so a bad run never bleeds into the test wallet.
📊 Vision
Paper vs. Live Comparison
Real-time side-by-side: paper wallet result vs. live account result for the same strategy. Measures slippage, fee drag, and execution quality in production.
🔔 Vision
Pre-Trade Confirmation Gate
In live mode, every auto-generated signal can optionally require a manual confirm within a 30-second window before hitting the exchange — keeping a human in the loop.
📈 Vision
Gradual Capital Scaling
Structured ramp: micro-pilot → $500 → $2k → full allocation. Each tier requires a minimum 30-day live profitability track record before unlocking the next level.
💸 Vision
Fee & Slippage Accounting
Factor real trading costs into the backtest engine: maker/taker fees, funding rates, and estimated slippage based on order book depth. Makes paper results match live reality.
📋 Vision
Live Trade Journal
Auto-generated trade diary for live positions: entry rationale (which EMA cross fired), exit reason, slippage delta, and a rolling Sharpe ratio for the live account.
6
Strategy Engine v2 Planned
New signal generators and smarter position management — moving beyond the single EMA cross to a richer toolkit of proven technical strategies.
📐 Planned
MACD Strategy
Add MACD (Moving Average Convergence Divergence) as a selectable strategy. Signal line crossovers on the MACD histogram fire BUY/SELL entries, with optional zero-line and histogram-trend filters. Backtestable via the same multi-token engine.
📏 Planned
Bollinger Band Mean-Reversion
Enter LONG when price touches the lower band and RSI is oversold; SHORT when price touches the upper band and RSI is overbought. A counter-trend complement to the trend-following EMA strategy — switch between them per-bot.
🕯️ Planned
Candlestick Pattern Recognition
Detect high-probability reversal and continuation patterns — engulfing candles, hammer/shooting star, morning/evening star, and inside bars — as signal confirmers or standalone entries. Computed on the live kline buffer in O(1) per candle.
📊 Planned
Volume Profile Filter
Only enter positions when volume is above its N-period average — avoiding low-conviction crosses during thin market hours. Configurable multiplier (e.g. 1.5× avg volume required). Pairs naturally with the EMA200 trend filter.
🎢 Planned
ATR-Based Dynamic SL/TP
Replace fixed-percentage stop-loss and take-profit with multiples of ATR (Average True Range) — 1.5× ATR stop, 3× ATR target. Automatically widens in volatile markets and tightens in calm ones, reducing noise-stops without user input.
🪜 Planned
Partial Take-Profit Ladder
Close 33% of position at TP1 (e.g. +3%), another 33% at TP2 (+6%), and trail the remainder with a tight stop. Locks in profit incrementally instead of going all-in on a single target that may never fully fill.
⏱️ Planned
Session-Aware Trading
Optionally restrict entries to specific UTC trading sessions (Asia 00–08, Europe 07–16, US 13–22). Based on the Best-Hour Heatmap insight — disable trading during the bot's weakest hours automatically.
🔄 Planned
Multi-Timeframe Confirmation
Only take a 15m signal if the 1h and 4h timeframes agree on trend direction (higher-timeframe EMA slope positive for longs). Eliminates low-quality entries during choppy intraday noise against the macro trend.
7
Automation & Alerts Planned
Keep the bot working while the tab is closed — scheduled jobs, push notifications, and external integrations that remove the need to babysit the dashboard.
🔔 Planned
Browser Push Notifications
Request push permission on login. Fire a notification whenever a trade opens or closes (with PnL), or when a safeguard halts the bot — so you don't need to stare at the tab to know what's happening.
💬 Done
Discord Webhook Alerts
Post a rich-embed message to a Discord channel on every trade open, close, and safeguard event. Configure the webhook URL in Settings — no bot token required, just a server channel and a 30-second setup.
Planned
Scheduled Backtest Reports
Run a weekly backtest of the active bot config automatically (via Cloudflare Cron Trigger) and store the result. Compare week-over-week to detect strategy drift — if OOS win rate drops 10%+ the bot sends an alert.
📧 Planned
Email Daily Summary
Send a digest email each morning via Resend: yesterday's trades, current balance, open position status, and a one-line health check (bot running / halted, streak, drawdown). Zero infrastructure — one API call from a Cloudflare Cron.
🪝 Planned
TradingView Webhook
Accept inbound alerts from TradingView Pine Script strategies via a signed webhook endpoint on /api/signal. Execute trades from any external signal source — decouple strategy logic from the browser entirely.
🗂️ Planned
Bot Health Monitor
A Cloudflare Worker pings the bot status endpoint every 5 minutes. If no heartbeat is received (tab closed, crash), it logs the outage and optionally fires a Discord alert — so you know when the bot went silent.
8
Intelligence v2 Vision
Adaptive algorithms that learn from results — moving from hand-tuned parameters to systems that improve themselves.
🧬 Vision
Genetic Algorithm Optimizer
Replace grid-search auto-tune with a genetic algorithm — crossover and mutation of top-performing parameter sets over multiple generations. Converges on better configs faster than brute-force while exploring a wider search space.
🌐 Vision
Funding Rate & Sentiment Filter
Pull Binance perpetual funding rates and the Crypto Fear & Greed Index as optional signal filters — suppress long entries when funding is extremely positive (longs are overcrowded) or fear index is extreme.
🤖 Vision
Regime Detection
Classify market regime (trending, ranging, volatile) using ADX and realised volatility. Automatically swap strategy parameters — wider stops and longer EMAs in trends, tighter range-bound settings in consolidation.
📉 Vision
Adaptive Position Sizing
Scale position size dynamically based on recent performance — increase size after winning streaks (up to a cap), reduce after drawdowns. Combines Kelly Criterion with a volatility-adjusted multiplier to avoid overbetting.
🗂️ Vision
Multi-Bot Portfolio Mode
Run multiple saved bots simultaneously across different assets and timeframes. Each bot gets a capital allocation. Track combined portfolio PnL, correlation between bots, and portfolio-level drawdown from one dashboard.
🧪 Vision
Custom Strategy Sandbox
Write arbitrary strategy logic in a sandboxed TypeScript editor in the browser. Backtest it instantly against the same multi-token engine. Share strategies as exportable JSON configs — no server deploy required.

Open Ideas

Concepts under consideration — not committed to any phase yet.

01

Dollar-Cost Averaging Mode

A separate DCA engine that buys a fixed dollar amount at a fixed interval, independent of EMA signals. Useful for long-only accumulation strategies alongside the active bot.

02

Strategy Leaderboard

A public (anonymous) leaderboard showing top-performing bot configs by 30-day return. Opt-in only. Inspires new parameter ideas without exposing private strategies.

03

Orderbook Depth Snapshot

Pull the top 20 levels of Binance orderbook at signal time. If bid/ask imbalance is strongly against the intended direction, delay or skip the entry. A lightweight microstructure filter with no ML required.

04

Correlation-Based Token Selection

When running multi-token backtests or live multi-bot mode, automatically exclude tokens with >0.85 rolling correlation to each other — so the portfolio isn't just running the same bet N times with different tickers.

05

On-Chain Metrics Feed

Ingest Glassnode or Coinglass on-chain data (exchange inflows, long/short ratio, open interest) as dashboard overlays. No trading signals — purely informational context for manual review before market open.

06

Dark / Light Mode

Optional light theme — not a priority given the terminal aesthetic, but useful for daytime readability. Implemented via CSS custom properties and a single toggle class on <html>.

07

Backtest Comparison Mode

Run two different bot configs against the exact same token set and date range, then overlay their equity curves side by side. Makes A/B testing parameter changes visual instead of numeric.

08

News Event Blackout

Integrate a macro events calendar (FOMC, CPI, non-farm payrolls). Automatically suspend new entries in the ±2 hour window around high-impact events where spread and slippage spike unpredictably.