Inside Command Center
Electron shell + local Flask dashboard + Python trading stack. One process tree on your machine — not a browser bookmark and not a remote service.
Research → optimize → deploy
Typical path through the app. Each stage reads and writes the same optimization config.
Backtest tab historical run → metrics under outputs/backtest_results/ │ ▼ Watcher intensity 1–5 → updates best_parameters_so_far │ in core/optimization_config.json ▼ Live Watcher paper testnet and live testnet execution │ ▼ Settings keys, alerts, version, rollback
| Module | Role |
|---|---|
| Backtest | Spawns core/backtest.py runs from the dashboard. Persists per-run folders for charts, trades, and comparator views. |
| Watcher | Long-running optimization loop (watcher.py). Intensity controls depth and frequency. Can run in backtest-only mode before live. |
| Live Watcher | Connects to Binance testnet. Uses the same parameter set the watcher last wrote. Paper mode before mainnet. |
| Settings | Exchange keys, notification channels, Getting started checklist, installed version, update check. |
| Feedback | Structured tickets (fb-…) with diagnostics. Optional Discord bridge for staff — not required for customers. |
| Updates | Pulls update_manifest.json from your release channel. Applies zip in-place; snapshots to backups/product_snapshots/ first. |
On disk after install
Where the important files live. Full paths are relative to the install directory.
Config
core/optimization_config.json — strategy parameters (shared)Secrets
.env — license key, API keys (never uploaded)Results
outputs/backtest_results/ — run historyData
data/ — market data cacheBackups
backups/product_snapshots/ — pre-update snapshotsConfiguration model
The watcher writes best_parameters_so_far into core/optimization_config.json.
Backtest and live watcher read that file — you do not fork separate live-only configs unless you choose to.