5.9 KiB
5.9 KiB
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
# 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
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
current_positions = {
'ETH/USDT': {
'side': 'LONG', # LONG, SHORT, or FLAT
'entry_price': 3500.0,
'timestamp': datetime.now()
}
}
Signal History
last_signals = {
'ETH/USDT': {
'action': 'BUY',
'confidence': 0.82,
'timestamp': datetime.now()
}
}
Decision Logic
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.