gogo2/README_LAUNCH_MODES.md
Dobromir Popov 310f3c5bf9 wip
2025-05-24 09:59:11 +03:00

328 lines
10 KiB
Markdown

# Trading System - Launch Modes Guide
## Overview
The unified trading system now provides clean, modular launch modes optimized for scalping and multi-timeframe analysis.
## Available Modes
### 1. Test Mode
```bash
python main_clean.py --mode test
```
- Tests enhanced data provider with multi-timeframe indicators
- Validates feature matrix creation (26 technical indicators)
- Checks data provider health and caching
- **Use case**: System validation and debugging
### 2. CNN Training Mode
```bash
python main_clean.py --mode cnn --symbol ETH/USDT
```
- Trains CNN models only
- Prepares multi-timeframe, multi-symbol feature matrices
- Supports timeframes: 1s, 1m, 5m, 1h, 4h
- **Use case**: Isolated CNN model development
### 3. RL Training Mode
```bash
python main_clean.py --mode rl --symbol ETH/USDT
```
- Trains RL agents only
- Focuses on 1s scalping data
- Optimized for short-term decision making
- **Use case**: Isolated RL agent development
### 4. Combined Training Mode
```bash
python main_clean.py --mode train --symbol ETH/USDT
```
- Trains both CNN and RL models sequentially
- First runs CNN training, then RL training
- **Use case**: Full model pipeline training
### 5. Live Trading Mode
```bash
python main_clean.py --mode trade --symbol ETH/USDT
```
- Runs live trading with 1s scalping focus
- Real-time data streaming integration
- **Use case**: Production trading execution
### 6. Web Dashboard Mode
```bash
python main_clean.py --mode web --demo --port 8050
```
- Enhanced scalping dashboard with 1s charts
- Real-time technical indicators visualization
- Scalping demo mode with realistic decisions
- **Use case**: System monitoring and visualization
## Key Features
### Enhanced Data Provider
- **26 Technical Indicators** including:
- Trend: SMA, EMA, MACD, ADX, PSAR
- Momentum: RSI, Stochastic, Williams %R
- Volatility: Bollinger Bands, ATR, Keltner Channels
- Volume: OBV, MFI, VWAP, Volume profiles
- Custom composites for trend/momentum
### Scalping Optimization
- **Primary timeframe: 1s** (falls back to 1m, 5m)
- High-frequency decision making
- Precise buy/sell marker positioning
- Small price movement detection
### Memory Management
- **8GB total memory limit** with per-model limits
- Automatic cleanup and GPU/CPU fallback
- Model registry with memory tracking
### Multi-Timeframe Architecture
- **Unified feature matrix**: (n_timeframes, window_size, n_features)
- Common feature set across all timeframes
- Consistent shape validation
## Quick Start Examples
### Test the enhanced system:
```bash
python main_clean.py --mode test
# Expected output: Feature matrix (2, 20, 26) with 26 indicators
```
### Start scalping dashboard:
```bash
python main_clean.py --mode web --demo
# Access: http://localhost:8050
# Shows 1s charts with scalping decisions
```
### Prepare CNN training data:
```bash
python main_clean.py --mode cnn
# Prepares multi-symbol, multi-timeframe matrices
```
### Setup RL training environment:
```bash
python main_clean.py --mode rl
# Focuses on 1s scalping data
```
## Technical Improvements
### Fixed Issues
**Feature matrix shape mismatch** - Now uses common features across timeframes
**Buy/sell marker positioning** - Properly aligned with chart timestamps
**Chart timeframe** - Optimized for 1s scalping with fallbacks
**Unicode encoding errors** - Removed problematic emoji characters
**Launch configuration** - Clean, modular mode selection
### New Capabilities
🚀 **Enhanced indicators** - 26 vs previous 17 features
🚀 **Scalping focus** - 1s timeframe with dense data points
🚀 **Separate training** - CNN and RL can be trained independently
🚀 **Memory efficiency** - 8GB limit with automatic management
🚀 **Real-time charts** - Enhanced dashboard with multiple indicators
## Integration Notes
- **CNN modules**: Connect to `run_cnn_training()` function
- **RL modules**: Connect to `run_rl_training()` function
- **Live trading**: Integrate with `run_live_trading()` function
- **Custom indicators**: Add to `_add_technical_indicators()` method
## Performance Specifications
- **Data throughput**: 1s candles with 200+ data points
- **Feature processing**: 26 indicators in < 1 second
- **Memory usage**: Monitored and limited per model
- **Chart updates**: 2-second refresh for real-time display
- **Decision latency**: Optimized for scalping (< 100ms target)
## 🚀 **VSCode Launch Configurations**
### **1. Core Trading Modes**
#### **Live Trading (Demo)**
```json
"name": "Live Trading (Demo)"
"program": "main.py"
"args": ["--mode", "live", "--demo", "true", "--symbol", "ETH/USDT", "--timeframe", "1m"]
```
- **Purpose**: Safe demo trading with virtual funds
- **Environment**: Paper trading mode
- **Risk**: Zero (no real money)
#### **Live Trading (Real)**
```json
"name": "Live Trading (Real)"
"program": "main.py"
"args": ["--mode", "live", "--demo", "false", "--symbol", "ETH/USDT", "--leverage", "50"]
```
- **Purpose**: Real trading with actual funds
- **Environment**: Live exchange API
- **Risk**: High (real money)
### **2. Training & Development Modes**
#### **Train Bot**
```json
"name": "Train Bot"
"program": "main.py"
"args": ["--mode", "train", "--episodes", "100"]
```
- **Purpose**: Standard RL agent training
- **Duration**: 100 episodes
- **Output**: Trained model files
#### **Evaluate Bot**
```json
"name": "Evaluate Bot"
"program": "main.py"
"args": ["--mode", "eval", "--episodes", "10"]
```
- **Purpose**: Model performance evaluation
- **Duration**: 10 test episodes
- **Output**: Performance metrics
### **3. Neural Network Training**
#### **NN Training Pipeline**
```json
"name": "NN Training Pipeline"
"module": "NN.realtime_main"
"args": ["--mode", "train", "--model-type", "cnn", "--epochs", "10"]
```
- **Purpose**: Deep learning model training
- **Framework**: PyTorch
- **Monitoring**: Automatic TensorBoard integration
#### **Quick CNN Test (Real Data + TensorBoard)**
```json
"name": "Quick CNN Test (Real Data + TensorBoard)"
"program": "test_cnn_only.py"
```
- **Purpose**: Fast CNN validation with real market data
- **Duration**: 2 epochs, 500 samples
- **Output**: `test_models/quick_cnn.pt`
- **Monitoring**: TensorBoard metrics
### **4. 🔥 Realtime RL Training + Monitoring**
#### **Realtime RL Training + TensorBoard + Web UI**
```json
"name": "Realtime RL Training + TensorBoard + Web UI"
"program": "train_realtime_with_tensorboard.py"
"args": ["--episodes", "50", "--symbol", "ETH/USDT", "--web-port", "8051"]
```
- **Purpose**: Advanced RL training with comprehensive monitoring
- **Features**:
- Real-time TensorBoard metrics logging
- Live web dashboard at http://localhost:8051
- Episode rewards, balance tracking, win rates
- Trading performance metrics
- Agent learning progression
- **Data**: 100% real ETH/USDT market data from Binance
- **Monitoring**: Dual monitoring (TensorBoard + Web UI)
- **Duration**: 50 episodes with real-time feedback
### **5. Monitoring & Visualization**
#### **TensorBoard Monitor (All Runs)**
```json
"name": "TensorBoard Monitor (All Runs)"
"program": "run_tensorboard.py"
```
- **Purpose**: Monitor all training sessions
- **Features**: Auto-discovery of training logs
- **Access**: http://localhost:6006
#### **Realtime Charts with NN Inference**
```json
"name": "Realtime Charts with NN Inference"
"program": "realtime.py"
```
- **Purpose**: Live trading charts with ML predictions
- **Features**: Real-time price updates + model inference
- **Models**: CNN + RL integration
### **6. Advanced Training Modes**
#### **TRAIN Realtime Charts with NN Inference**
```json
"name": "TRAIN Realtime Charts with NN Inference"
"program": "train_rl_with_realtime.py"
"args": ["--episodes", "100", "--max-position", "0.1"]
```
- **Purpose**: RL training with live chart integration
- **Features**: Visual training feedback
- **Position limit**: 10% portfolio allocation
## 📊 **Monitoring URLs**
### **Development**
- **TensorBoard**: http://localhost:6006
- **Web Dashboard**: http://localhost:8051
- **Training Status**: `python monitor_training.py`
### **Production**
- **Live Trading Dashboard**: Integrated in trading interface
- **Performance Metrics**: Real-time P&L tracking
- **Risk Management**: Position size and drawdown monitoring
## 🎯 **Quick Start Recommendations**
### **For CNN Development**
1. **Start**: "Quick CNN Test (Real Data + TensorBoard)"
2. **Monitor**: Open TensorBoard at http://localhost:6006
3. **Validate**: Check `test_models/` for output files
### **For RL Development**
1. **Start**: "Realtime RL Training + TensorBoard + Web UI"
2. **Monitor**: TensorBoard (http://localhost:6006) + Web UI (http://localhost:8051)
3. **Track**: Episode rewards, balance progression, win rates
### **For Production Trading**
1. **Test**: "Live Trading (Demo)" first
2. **Validate**: Confirm strategy performance
3. **Deploy**: "Live Trading (Real)" with appropriate risk management
## ⚡ **Performance Features**
### **GPU Acceleration**
- Automatic CUDA detection and utilization
- Mixed precision training support
- Memory optimization for large datasets
### **Real-time Data**
- Direct Binance API integration
- Multi-timeframe data synchronization
- Live price feed with minimal latency
### **Professional Monitoring**
- Industry-standard TensorBoard integration
- Custom web dashboards for trading metrics
- Real-time performance tracking
## 🛡️ **Safety Features**
### **Pre-launch Tasks**
- **Kill Stale Processes**: Automatic cleanup before launch
- **Port Management**: Intelligent port allocation
- **Resource Monitoring**: Memory and GPU usage tracking
### **Real Market Data Policy**
- **No Synthetic Data**: All training uses authentic exchange data
- **Live API Integration**: Direct connection to cryptocurrency exchanges
- **Data Validation**: Quality checks for completeness and consistency
- **Multi-timeframe Sync**: Aligned data across all time horizons
---
**Launch configuration** - Clean, modular mode selection
**Professional monitoring** - TensorBoard + custom dashboards
**Real market data** - Authentic cryptocurrency price data
**Safety features** - Risk management and validation
**GPU acceleration** - Optimized for high-performance training