# Crypto Trading Bot Platform A simplified crypto trading bot platform for strategy testing and development using real OKX market data and virtual trading simulation. ## Overview This platform enables rapid strategy development with a monolithic architecture that supports multiple concurrent trading bots, real-time monitoring, and performance tracking. ## Key Features - **Multi-Bot Management**: Run multiple trading bots simultaneously with different strategies. - **Real-time Monitoring**: Live OHLCV charts with bot trading signals overlay. - **Modular Chart System**: Advanced technical analysis with 26+ indicators and strategy presets. - **Virtual Trading**: Simulation-first approach with realistic fee modeling. - **JSON Configuration**: Easy strategy parameter testing without code changes. - **Backtesting Engine**: Test strategies on historical market data (planned). - **Crash Recovery**: Automatic bot restart and state restoration. ## Tech Stack - **Framework**: Python 3.10+ with Dash - **Database**: PostgreSQL - **Real-time Messaging**: Redis - **Package Management**: UV - **Containerization**: Docker ## Quick Start For detailed instructions on setting up and running the project, please refer to the main documentation. **➡️ [Go to the Full Documentation](./docs/README.md)** ```bash # Quick setup for development git clone cd TCPDashboard uv sync cp env.template .env docker-compose up -d uv run python main.py ``` ## Documentation All project documentation is located in the `docs/` directory. The best place to start is the main documentation index. - **[Main Documentation](./docs/README.md)** - The central hub for all project documentation, including setup guides, architecture, and module details. - **[Setup Guide](./docs/guides/setup.md)** - Complete setup instructions for new machines. - **[Project Context](./CONTEXT.md)** - The single source of truth for the project's current state. ## Contributing We welcome contributions! Please review the **[Contributing Guidelines](./docs/CONTRIBUTING.md)** and the **[Project Context](./CONTEXT.md)** before getting started.