Vasily.onl 4936e5cd73 Implement enhanced data collection system with health monitoring and management
- Introduced `BaseDataCollector` and `CollectorManager` classes for standardized data collection and centralized management.
- Added health monitoring features, including auto-restart capabilities and detailed status reporting for collectors.
- Updated `env.template` to include new logging and health check configurations.
- Enhanced documentation in `docs/data_collectors.md` to provide comprehensive guidance on the new data collection system.
- Added unit tests for `BaseDataCollector` and `CollectorManager` to ensure reliability and functionality.
2025-05-30 20:33:56 +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%