Drag to pan · scroll to zoom · click a node to inspect
🚀
main.py
App entry · sets app version
🪟
ui.main_window
SpikeWatchApp · QSettings · status bar
🧩
ui.widgets
TradeItemWidget row
📈
ui.charts
pyqtgraph windows
⚙️
core.engine
1 asyncio loop · aiohttp · Sem(20)
📡
core.signals
Qt bus · 9 signals
🧬
core.trade_state
step(trade,bar,params) · shared
🧠
core.strategy_base
Strategy ABC · @register · run_backtest
📦
core.strategies_pkg
3 built-ins · auto-register
📐
core.utils
MetricsResult · Sharpe·Sortino·Calmar
🔌
data.exchange_api
aiohttp · fetch_klines · paginate
🚦
data.rate_limit
RateLimiter · 429 backoff
💾
data.trade_store
SQLite WAL · CSV mirror · filters
🟡
Binance USDT-M Futures
fapi.binance.com · public
🟠
Bitget USDT Futures v2
api.bitget.com · public
Imports / dependency
Solid sky-blue arrow → static import / instantiation.
Runtime data flow
Dashed green arrow → REST / DB / runtime data movement.
Qt signal
Dashed pink arrow → SignalEmitter → UI slot (cross-thread).