Vasily.onl 5b4547edd5 Add force_update_candles configuration to OKX data collector
- Introduced `force_update_candles` option in `okx_config.json` to control candle update behavior.
- Updated `OKXCollector` to handle candle storage based on the `force_update_candles` setting, allowing for either updating existing records or preserving them.
- Enhanced logging to reflect the action taken during candle storage, improving traceability.
- Updated database schema to include `updated_at` timestamp for better tracking of data changes.
2025-06-02 12:41: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%