231 lines
5.9 KiB
Markdown
231 lines
5.9 KiB
Markdown
# Streamlined 2-Action Trading System
|
|
|
|
## Overview
|
|
|
|
The trading system has been simplified and streamlined to use only 2 actions (BUY/SELL) with intelligent position management, eliminating the complexity of HOLD signals and separate training modes.
|
|
|
|
## Key Simplifications
|
|
|
|
### 1. **2-Action System Only**
|
|
- **Actions**: BUY and SELL only (no HOLD)
|
|
- **Logic**: Until we have a signal, we naturally hold
|
|
- **Position Intelligence**: Smart position management based on current state
|
|
|
|
### 2. **Simplified Training Pipeline**
|
|
- **Removed**: Separate CNN, RL, and training modes
|
|
- **Integrated**: All training happens within the web dashboard
|
|
- **Flow**: Data → Indicators → CNN → RL → Orchestrator → Execution
|
|
|
|
### 3. **Streamlined Entry Points**
|
|
- **Test Mode**: System validation and component testing
|
|
- **Web Mode**: Live trading with integrated training pipeline
|
|
- **Removed**: All standalone training modes
|
|
|
|
## Position Management Logic
|
|
|
|
### Current Position: FLAT (No Position)
|
|
- **BUY Signal** → Enter LONG position
|
|
- **SELL Signal** → Enter SHORT position
|
|
|
|
### Current Position: LONG
|
|
- **BUY Signal** → Ignore (already long)
|
|
- **SELL Signal** → Close LONG position
|
|
- **Consecutive SELL** → Close LONG and enter SHORT
|
|
|
|
### Current Position: SHORT
|
|
- **SELL Signal** → Ignore (already short)
|
|
- **BUY Signal** → Close SHORT position
|
|
- **Consecutive BUY** → Close SHORT and enter LONG
|
|
|
|
## Threshold System
|
|
|
|
### Entry Thresholds (Higher - More Certain)
|
|
- **Default**: 0.75 confidence required
|
|
- **Purpose**: Ensure high-quality entries
|
|
- **Logic**: Only enter positions when very confident
|
|
|
|
### Exit Thresholds (Lower - Easier to Exit)
|
|
- **Default**: 0.35 confidence required
|
|
- **Purpose**: Quick exits to preserve capital
|
|
- **Logic**: Exit quickly when confidence drops
|
|
|
|
## System Architecture
|
|
|
|
### Data Flow
|
|
```
|
|
Live Market Data
|
|
↓
|
|
Technical Indicators & Pivot Points
|
|
↓
|
|
CNN Model Predictions
|
|
↓
|
|
RL Agent Enhancement
|
|
↓
|
|
Enhanced Orchestrator (2-Action Logic)
|
|
↓
|
|
Trading Execution
|
|
```
|
|
|
|
### Core Components
|
|
|
|
#### 1. **Enhanced Orchestrator**
|
|
- 2-action decision making
|
|
- Position tracking and management
|
|
- Different thresholds for entry/exit
|
|
- Consecutive signal detection
|
|
|
|
#### 2. **Integrated Training**
|
|
- CNN training on real market data
|
|
- RL agent learning from live trading
|
|
- No separate training sessions needed
|
|
- Continuous improvement during live trading
|
|
|
|
#### 3. **Position Intelligence**
|
|
- Real-time position tracking
|
|
- Smart transition logic
|
|
- Consecutive signal handling
|
|
- Risk management through thresholds
|
|
|
|
## Benefits of 2-Action System
|
|
|
|
### 1. **Simplicity**
|
|
- Easier to understand and debug
|
|
- Clearer decision logic
|
|
- Reduced complexity in training
|
|
|
|
### 2. **Efficiency**
|
|
- Faster training convergence
|
|
- Less action space to explore
|
|
- More focused learning
|
|
|
|
### 3. **Real-World Alignment**
|
|
- Mimics actual trading decisions
|
|
- Natural position management
|
|
- Clear entry/exit logic
|
|
|
|
### 4. **Development Speed**
|
|
- Faster iteration cycles
|
|
- Easier testing and validation
|
|
- Simplified codebase maintenance
|
|
|
|
## Model Updates
|
|
|
|
### CNN Models
|
|
- Updated to 2-action output (BUY/SELL)
|
|
- Simplified prediction logic
|
|
- Better training convergence
|
|
|
|
### RL Agents
|
|
- 2-action space for faster learning
|
|
- Position-aware reward system
|
|
- Integrated with live trading
|
|
|
|
## Configuration
|
|
|
|
### Entry Points
|
|
```bash
|
|
# Test system components
|
|
python main_clean.py --mode test
|
|
|
|
# Run live trading with integrated training
|
|
python main_clean.py --mode web --port 8051
|
|
```
|
|
|
|
### Key Settings
|
|
```yaml
|
|
orchestrator:
|
|
entry_threshold: 0.75 # Higher threshold for entries
|
|
exit_threshold: 0.35 # Lower threshold for exits
|
|
symbols: ['ETH/USDT']
|
|
timeframes: ['1s', '1m', '1h', '4h']
|
|
```
|
|
|
|
## Dashboard Features
|
|
|
|
### Position Tracking
|
|
- Real-time position status
|
|
- Entry/exit history
|
|
- Consecutive signal detection
|
|
- Performance metrics
|
|
|
|
### Training Integration
|
|
- Live CNN training
|
|
- RL agent adaptation
|
|
- Real-time learning metrics
|
|
- Performance optimization
|
|
|
|
### Performance Metrics
|
|
- 2-action system specific metrics
|
|
- Position-based analytics
|
|
- Entry/exit effectiveness
|
|
- Threshold optimization
|
|
|
|
## Technical Implementation
|
|
|
|
### Position Tracking
|
|
```python
|
|
current_positions = {
|
|
'ETH/USDT': {
|
|
'side': 'LONG', # LONG, SHORT, or FLAT
|
|
'entry_price': 3500.0,
|
|
'timestamp': datetime.now()
|
|
}
|
|
}
|
|
```
|
|
|
|
### Signal History
|
|
```python
|
|
last_signals = {
|
|
'ETH/USDT': {
|
|
'action': 'BUY',
|
|
'confidence': 0.82,
|
|
'timestamp': datetime.now()
|
|
}
|
|
}
|
|
```
|
|
|
|
### Decision Logic
|
|
```python
|
|
def make_2_action_decision(symbol, predictions, market_state):
|
|
# Get best prediction
|
|
signal = get_best_signal(predictions)
|
|
position = get_current_position(symbol)
|
|
|
|
# Apply position-aware logic
|
|
if position == 'FLAT':
|
|
return enter_position(signal)
|
|
elif position == 'LONG' and signal == 'SELL':
|
|
return close_or_reverse_position(signal)
|
|
elif position == 'SHORT' and signal == 'BUY':
|
|
return close_or_reverse_position(signal)
|
|
else:
|
|
return None # No action needed
|
|
```
|
|
|
|
## Future Enhancements
|
|
|
|
### 1. **Dynamic Thresholds**
|
|
- Adaptive threshold adjustment
|
|
- Market condition based thresholds
|
|
- Performance-based optimization
|
|
|
|
### 2. **Advanced Position Management**
|
|
- Partial position sizing
|
|
- Risk-based position limits
|
|
- Correlation-aware positioning
|
|
|
|
### 3. **Enhanced Training**
|
|
- Multi-symbol coordination
|
|
- Advanced reward systems
|
|
- Real-time model updates
|
|
|
|
## Conclusion
|
|
|
|
The streamlined 2-action system provides:
|
|
- **Simplified Development**: Easier to code, test, and maintain
|
|
- **Faster Training**: Convergence with fewer actions to learn
|
|
- **Realistic Trading**: Mirrors actual trading decisions
|
|
- **Integrated Pipeline**: Continuous learning during live trading
|
|
- **Better Performance**: More focused and efficient trading logic
|
|
|
|
This system is designed for rapid development cycles and easy adaptation to changing market conditions while maintaining high performance through intelligent position management. |