Vasily.onl 4510181b39 Add OKX data collector implementation and modular exchange architecture
- Introduced the `OKXCollector` and `OKXWebSocketClient` classes for real-time market data collection from the OKX exchange.
- Implemented a factory pattern for creating exchange-specific collectors, enhancing modularity and scalability.
- Added configuration support for the OKX collector in `config/okx_config.json`.
- Updated documentation to reflect the new modular architecture and provide guidance on using the OKX collector.
- Created unit tests for the OKX collector and exchange factory to ensure functionality and reliability.
- Enhanced logging and error handling throughout the new implementation for improved monitoring and debugging.
2025-05-31 20:49:31 +08:00
2025-05-29 23:04:08 +08:00
2025-05-29 23:50:41 +08:00
2025-05-29 23:50:41 +08:00
2025-05-30 17:27:32 +08:00

Crypto Trading Bot Platform

A simplified crypto trading bot platform for strategy testing and development. Test multiple trading strategies in parallel using real OKX market data with virtual trading simulation.

Overview

This platform enables rapid strategy testing within 1-2 weeks of development. Built with a monolithic architecture for simplicity, it supports 5-10 concurrent trading bots with real-time monitoring and performance tracking.

Key Features

  • Multi-Bot Management: Run 5-10 trading bots simultaneously with different strategies
  • Real-time Monitoring: Live OHLCV charts with bot trading signals overlay
  • 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
  • Crash Recovery: Automatic bot restart and state restoration

Tech Stack

  • Framework: Python 3.10+ with Dash (unified frontend/backend)
  • Database: PostgreSQL with optimized OHLCV data storage
  • Real-time: Redis pub/sub for live updates
  • Package Management: UV
  • Development: Docker for consistent environment

Quick Start

Prerequisites

  • Python 3.10+, Docker, UV package manager

Setup

📖 For detailed setup instructions, see docs/setup.md

Quick setup:

python scripts/dev.py setup        # Setup environment
python scripts/dev.py start        # Start services  
python scripts/dev.py dev-server   # Start with hot reload

Project Structure

├── app.py                   # Main Dash application
├── bot_manager.py          # Bot lifecycle management
├── database/               # PostgreSQL models and connection
├── data/                   # OKX API integration
├── components/             # Dashboard UI components
├── strategies/             # Trading strategy modules
├── config/bot_configs/     # JSON bot configurations
└── docs/                   # Project documentation

Documentation

Configuration Example

Bot configurations use simple JSON files for rapid testing:

{
  "bot_id": "ema_crossover_01",
  "strategy_file": "ema_crossover.json",
  "symbol": "BTC-USDT",
  "virtual_balance": 10000,
  "enabled": true
}

Development Timeline

Target: Functional system within 1-2 weeks

  • Phase 1 (Days 1-5): Database, data collection, basic visualization
  • Phase 2 (Days 6-10): Bot management, backtesting, trading logic
  • Phase 3 (Days 11-14): Testing, optimization, deployment

Contributing

  1. Review architecture documentation for technical approach
  2. Check task list for available work
  3. Follow project coding standards and use UV for dependencies
  4. Update documentation when adding features
Description
No description provided
Readme 5.5 MiB
Languages
Python 98.5%
PLpgSQL 1.4%