Repo Structure
opentrader/
├── app/
│ ├── main.py # FastAPI entrypoint
│ ├── routes/api.py # Main HTTP API surface under /api
│ ├── opentrader.py # CLI runtime for trade, trailing, status, sync
│ ├── config.py # Typed config loader from config.toml
│ ├── dash_app.py # Dashboard UI layout and callbacks
│ ├── dashboard.py # Shared dashboard agent/log state
│ ├── trade_history.py # SQLite-backed closed trades + pending entries
│ ├── adapters/
│ │ ├── base.py
│ │ ├── binance.py
│ │ └── hyperliquid.py
│ ├── market/
│ │ ├── fetcher.py # OHLCV + 24h ticker fetchers
│ │ ├── scanner.py # MarketContext full-watchlist scan
│ │ ├── context.py # HTF/MTF/LTF market analysis
│ │ ├── context_db.py # SQLite persistence for market snapshots/state
│ │ └── warning_system.py # Position warning logic
│ └── strategies/
│ ├── __init__.py # _registry (strategies) + _scanners (alert-first)
│ ├── base.py
│ ├── mr_combined.py # Range/mean-reversion strategy
│ ├── pump_momentum.py # Alert-first momentum scanner
│ └── pump_signals_db.py # SQLite persistence for pump signals/outcomes
├── config/
│ └── config.toml # Exchange, risk, universe, strategies, schedules
├── docs/
│ ├── src/ # English mdBook docs
│ └── vi/src/ # Vietnamese mdBook docs
├── scripts/
│ ├── ops_runner.sh # Background operational automation
│ ├── pump_outcome_eval.py # Evaluate pump signal outcomes over time
│ └── market_context_history.py # Query or inspect stored MarketContext snapshots
└── openclaw/
├── cron/jobs.json # Scout scan + pump scan jobs
├── workspace-coo/AGENTS.md
├── workspace-finance/AGENTS.md
├── workspace-scout/AGENTS.md
└── skills/sniper/SKILL.md
Notes:
app/trend/andscripts/trend_scan.shwere removed.- Strategy config sections now live under
[strategy.*], not[bot.*]. - The dashboard/runtime state is split between in-memory agent state and SQLite-backed historical tables.