Dynamic Grid Trading System - Modular Architecture
Overview
This project has been refactored into a modular architecture for better maintainability, testability, and extensibility. The system implements a dynamic grid trading strategy with adaptive spacing, regime detection, and comprehensive backtesting capabilities.
Architecture
Module Structure
workspace/
├── main.py # Main entry point and CLI
├── config.py # Configuration and constants
├── models.py # Data models (Order, etc.)
├── persistence.py # Database persistence layer
├── market.py # Market data handling and indicators
├── order_manager.py # Order management (Sim + Live)
├── detectors.py # Technical analysis detectors
├── grid_manager.py # Grid management logic
├── strategy.py # Main strategy orchestrator
├── visualizer.py # HTML report generation
├── test_modules.py # Unit tests
└── dynamic_grid_v2.py # Original monolithic file (deprecated)
Module Responsibilities
config.py
Default configuration parameters
Parameter recommendations and rationale
Configuration validation
models.py
Order dataclass with validation
Business logic for order state management
Type safety and data integrity
persistence.py
SQLite database operations
CRUD operations for orders, trades, events, PnL
Data migration and backup utilities
market.py
Real-time market data handling
OHLC candle construction
Technical indicators (ATR, etc.)
Market statistics
order_manager.py
Abstract base class for order managers
SimOrderManager for backtesting
OKXOrderManager for live trading (skeleton)
Position and balance tracking
detectors.py
RegimeDetector using ADX for trend/range detection