3.8 KiB
3.8 KiB
Crypto Trading Bot Dashboard
A simple control dashboard for managing and monitoring multiple cryptocurrency trading bots simultaneously. Test different trading strategies in parallel using real OKX market data and virtual trading simulation.
Features
- Multi-Bot Management: Run up to 5 trading bots simultaneously with different strategies
- Real-time Monitoring: Live price charts with bot buy/sell decision markers
- Performance Tracking: Monitor virtual balance, P&L, trade count, and timing for each bot
- Backtesting: Test strategies on historical data with accelerated execution
- Simple Configuration: JSON-based bot configuration files
- Hot Reloading: System remembers active bots and restores state on restart
Tech Stack
- Backend: Python with existing OKX, strategy, and trader modules
- Frontend: Plotly Dash for rapid development
- Database: PostgreSQL with SQLAlchemy ORM
- Package Management: UV
- Development: Docker for consistent environment
Quick Start
Prerequisites
- Python 3.10+
- Docker and Docker Compose
- UV package manager
Development Setup
Complete setup workflow
python scripts/dev.py setup # Setup environment and dependencies
python scripts/dev.py start # Start Docker services
uv run python tests/test_setup.py # Verify everything works
Development workflow
python scripts/dev.py dev-server # Start with hot reload (recommended)
python scripts/dev.py run # Start without hot reload
python scripts/dev.py status # Check service status
python scripts/dev.py stop # Stop services
Dependency management
uv add "new-package>=1.0.0" # Add new dependency
uv sync --dev # Install all dependencies
Project Structure
Dashboard/
├── app.py # Main Dash application
├── bot_manager.py # Bot lifecycle management
├── database/
│ ├── models.py # SQLAlchemy models
│ └── connection.py # Database connection
├── data/
│ └── okx_integration.py # OKX API integration
├── components/
│ ├── dashboard.py # Dashboard components
│ └── charts.py # Chart components
├── backtesting/
│ └── engine.py # Backtesting framework
├── config/
│ └── bot_configs/ # Bot configuration files
├── strategies/ # Trading strategy modules
├── trader/ # Virtual trading logic
└── docs/ # Project documentation
Documentation
- Product Requirements - Detailed project requirements and specifications
- Implementation Tasks - Step-by-step development task list
- API Documentation - Module and API documentation
Bot Configuration
Create bot configuration files in config/bot_configs/:
{
"bot_id": "ema_crossover_01",
"strategy": "EMA_Crossover",
"parameters": {
"fast_period": 12,
"slow_period": 26,
"symbol": "BTC-USDT"
},
"virtual_balance": 10000
}
Development Status
This project is in active development. See the task list for current implementation progress.
Current Phase: Setup and Infrastructure
- Development environment setup
- Database schema design
- Basic bot management system
- OKX integration
- Dashboard UI implementation
- Backtesting framework
Contributing
- Check the task list for available tasks
- Follow the project's coding standards and architectural patterns
- Use UV for package management
- Write tests for new functionality
- Update documentation when adding features