Vasily.onl 476bd67f14 3.4 Implement user-defined indicator management system and enhance chart capabilities
- Introduced a comprehensive user indicator management system in `components/charts/indicator_manager.py`, allowing users to create, edit, and manage custom indicators with JSON persistence.
- Added new default indicators in `components/charts/indicator_defaults.py` to provide users with immediate options for technical analysis.
- Enhanced the chart rendering capabilities by implementing the `create_chart_with_indicators` function in `components/charts/builder.py`, supporting both overlay and subplot indicators.
- Updated the main application layout in `app.py` to include a modal for adding and editing indicators, improving user interaction.
- Enhanced documentation to cover the new indicator system, including a quick guide for adding new indicators and detailed usage examples.
- Added unit tests to ensure the reliability and functionality of the new indicator management features.
2025-06-04 13:01:57 +08:00
2025-05-29 23:04:08 +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%