100 строки
4.1 KiB
XML
100 строки
4.1 KiB
XML
# Trade Autopilot — continuation prompt
|
|
|
|
Repository: viktor138irk/trade
|
|
Server IP: 194.67.116.46
|
|
|
|
Project goal: build a fast event-driven market research and trading assistant based on public news and public signal sources.
|
|
|
|
Current implementation status:
|
|
- FastAPI backend added in app/main.py
|
|
- Demo account service added in app/demo_account.py
|
|
- Database setup added in app/db.py
|
|
- SQLAlchemy models added in app/models.py
|
|
- Demo account is now persisted in PostgreSQL
|
|
- CoinEx public market-data client and live WebSocket stream added in app/coinex.py
|
|
- Live dashboard added in app/static/index.html
|
|
- Dashboard now renders live 1-minute candles from /ws/market/{market}
|
|
- Dockerfile, docker-compose.yml, requirements.txt, .env.example and .gitignore added
|
|
- docker-compose includes api, postgres and redis services
|
|
- README includes local/server startup and live chart notes
|
|
|
|
Default mode: demo mode. Demo mode uses a virtual demo account and simulated orders. Live trading can be enabled only explicitly with environment variables and API credentials.
|
|
|
|
Mode names:
|
|
- demo: virtual demo account, simulated balance, simulated orders, PnL, trade history, reset balance
|
|
- live: future real exchange execution, disabled by default and protected by explicit flags
|
|
|
|
Demo account implementation:
|
|
- Initial virtual balance configurable by DEMO_INITIAL_BALANCE, default 10000 USDT
|
|
- PostgreSQL tables:
|
|
- demo_account_state
|
|
- demo_trades
|
|
- Endpoints:
|
|
- GET /api/v1/demo/account
|
|
- POST /api/v1/demo/reset
|
|
- POST /api/v1/demo/trades
|
|
- Current limitation: position accounting is basic and needs proper inventory/average-entry logic
|
|
|
|
CoinEx market-data implementation:
|
|
- HTTP base URL: https://api.coinex.com/v2
|
|
- Spot WebSocket base URL: wss://socket.coinex.com/v2/spot
|
|
- Current endpoints:
|
|
- GET /api/v1/market/kline
|
|
- GET /api/v1/market/ticker
|
|
- WS /ws/market/{market}
|
|
- WebSocket endpoint now uses CoinEx deals.subscribe live stream
|
|
- If CoinEx WebSocket fails, backend falls back to HTTP ticker polling
|
|
|
|
Live charts implementation:
|
|
- Dashboard is served at /
|
|
- Uses TradingView Lightweight Charts from CDN
|
|
- Historical candles load from CoinEx HTTP kline
|
|
- Current 1-minute candle updates from backend live_price events
|
|
- Dashboard shows live price, source, latest stream event, demo balance and equity
|
|
- Next: add trade markers, signal markers and equity curve
|
|
|
|
Exchange integration plan:
|
|
- CoinEx adapter for market data, account status and guarded order placement
|
|
- Live trading flag: TRADE_MODE=demo|live
|
|
- CoinEx credentials must be stored only in environment variables
|
|
- Live mode must require ENABLE_LIVE_TRADING=true plus TRADE_MODE=live
|
|
- Add risk checks before every live order
|
|
- Add emergency stop flag to block all new live orders
|
|
|
|
Planned MVP modules:
|
|
- collector: RSS/news/public signal ingestion
|
|
- normalizer: cleaning, deduplication, timestamps, source score
|
|
- signal_engine: asset detection, market mapping, sentiment, confidence
|
|
- pair_selector: choose candidate market using news relevance, liquidity, spread, volatility and session time
|
|
- strategy_engine: create trade decision with explanation
|
|
- risk_engine: max loss per day, max position size, stop-loss, take-profit, cooldown, emergency stop flag
|
|
- execution: demo execution by default, CoinEx live execution only when explicitly enabled
|
|
- monitoring: logs, metrics, health checks
|
|
- dashboard: live charts, current market, signals, trades, demo account, risk state
|
|
|
|
Preferred stack:
|
|
- Python 3.12+
|
|
- FastAPI
|
|
- PostgreSQL
|
|
- Redis
|
|
- Docker Compose
|
|
- GitHub Actions
|
|
- Lightweight frontend dashboard using React or server-rendered page with TradingView Lightweight Charts
|
|
|
|
Development rules:
|
|
- Start with demo mode and backtests
|
|
- Live trading is opt-in only
|
|
- Keep secrets out of git. Use .env and server env vars
|
|
- Every major change must update this file
|
|
- Every strategy must log the reason for each decision
|
|
- Keep changes small and reviewable
|
|
|
|
Next steps:
|
|
1. Add tests and CI
|
|
2. Add proper demo position accounting
|
|
3. Verify CoinEx WS payload in production logs and adjust parser if needed
|
|
4. Add trade markers on dashboard
|
|
5. Add first RSS/news collector
|
|
6. Add risk config and emergency stop
|
|
7. Add guarded CoinEx live execution adapter
|