250 lines
7.9 KiB
YAML
250 lines
7.9 KiB
YAML
# Enhanced Multi-Modal Trading System Configuration
|
|
|
|
# Trading Symbols (extendable/configurable)
|
|
symbols:
|
|
- "ETH/USDT"
|
|
- "BTC/USDT"
|
|
|
|
# Timeframes for ultra-fast scalping (500x leverage)
|
|
timeframes:
|
|
- "1s" # Primary scalping timeframe
|
|
- "1m" # Short-term confirmation
|
|
- "1h" # Medium-term trend
|
|
- "1d" # Long-term direction
|
|
|
|
# Data Provider Settings
|
|
data:
|
|
provider: "binance"
|
|
cache_enabled: true
|
|
cache_dir: "cache"
|
|
historical_limit: 1000
|
|
real_time_enabled: true
|
|
websocket_reconnect: true
|
|
feature_engineering:
|
|
technical_indicators: true
|
|
market_regime_detection: true
|
|
volatility_analysis: true
|
|
|
|
# Enhanced CNN Configuration
|
|
cnn:
|
|
window_size: 20
|
|
features: ["open", "high", "low", "close", "volume"]
|
|
timeframes: ["1m", "5m", "15m", "1h", "4h", "1d"]
|
|
hidden_layers: [64, 128, 256]
|
|
dropout: 0.2
|
|
learning_rate: 0.001
|
|
batch_size: 32
|
|
epochs: 100
|
|
confidence_threshold: 0.6
|
|
early_stopping_patience: 10
|
|
model_dir: "models/enhanced_cnn" # Ultra-fast scalping weights (500x leverage)
|
|
timeframe_importance:
|
|
"1s": 0.60 # Primary scalping signal
|
|
"1m": 0.20 # Short-term confirmation
|
|
"1h": 0.15 # Medium-term trend
|
|
"1d": 0.05 # Long-term direction (minimal)
|
|
|
|
# Enhanced RL Agent Configuration
|
|
rl:
|
|
state_size: 100 # Will be calculated dynamically based on features
|
|
action_space: 3 # BUY, HOLD, SELL
|
|
hidden_size: 256
|
|
epsilon: 1.0
|
|
epsilon_decay: 0.995
|
|
epsilon_min: 0.01
|
|
learning_rate: 0.0001
|
|
gamma: 0.99
|
|
memory_size: 10000
|
|
batch_size: 64
|
|
target_update_freq: 1000
|
|
buffer_size: 10000
|
|
model_dir: "models/enhanced_rl"
|
|
# Market regime adaptation
|
|
market_regime_weights:
|
|
trending: 1.2 # Higher confidence in trending markets
|
|
ranging: 0.8 # Lower confidence in ranging markets
|
|
volatile: 0.6 # Much lower confidence in volatile markets
|
|
# Prioritized experience replay
|
|
replay_alpha: 0.6 # Priority exponent
|
|
replay_beta: 0.4 # Importance sampling exponent
|
|
|
|
# Enhanced Orchestrator Settings
|
|
orchestrator:
|
|
# Model weights for decision combination
|
|
cnn_weight: 0.7 # Weight for CNN predictions
|
|
rl_weight: 0.3 # Weight for RL decisions
|
|
confidence_threshold: 0.6 # Increased for enhanced system
|
|
decision_frequency: 30 # Seconds between decisions (faster)
|
|
|
|
# Multi-symbol coordination
|
|
symbol_correlation_matrix:
|
|
"ETH/USDT-BTC/USDT": 0.85 # ETH-BTC correlation
|
|
|
|
# Perfect move marking
|
|
perfect_move_threshold: 0.02 # 2% price change to mark as significant
|
|
perfect_move_buffer_size: 10000
|
|
|
|
# RL evaluation settings
|
|
evaluation_delay: 3600 # Evaluate actions after 1 hour
|
|
reward_calculation:
|
|
success_multiplier: 10 # Reward for correct predictions
|
|
failure_penalty: 5 # Penalty for wrong predictions
|
|
confidence_scaling: true # Scale rewards by confidence
|
|
|
|
# Training Configuration
|
|
training:
|
|
learning_rate: 0.001
|
|
batch_size: 32
|
|
epochs: 100
|
|
validation_split: 0.2
|
|
early_stopping_patience: 10
|
|
|
|
# CNN specific training
|
|
cnn_training_interval: 3600 # Train CNN every hour (was 6 hours)
|
|
min_perfect_moves: 50 # Reduced from 200 for faster learning
|
|
|
|
# RL specific training
|
|
rl_training_interval: 300 # Train RL every 5 minutes (was 1 hour)
|
|
min_experiences: 50 # Reduced from 100 for faster learning
|
|
training_steps_per_cycle: 20 # Increased from 10 for more learning
|
|
|
|
model_type: "optimized_short_term"
|
|
use_realtime: true
|
|
use_ticks: true
|
|
checkpoint_dir: "NN/models/saved/realtime_ticks_checkpoints"
|
|
save_best_model: true
|
|
save_final_model: false # We only want to keep the best performing model
|
|
|
|
# Continuous learning settings
|
|
continuous_learning: true
|
|
learning_from_trades: true
|
|
pattern_recognition: true
|
|
retrospective_learning: true
|
|
|
|
# Trading Execution
|
|
trading:
|
|
max_position_size: 0.05 # Maximum position size (5% of balance)
|
|
stop_loss: 0.02 # 2% stop loss
|
|
take_profit: 0.05 # 5% take profit
|
|
trading_fee: 0.0002 # 0.02% trading fee
|
|
min_trade_interval: 30 # Minimum seconds between trades (faster)
|
|
|
|
# Risk management
|
|
max_daily_trades: 20 # Maximum trades per day
|
|
max_concurrent_positions: 2 # Max positions across symbols
|
|
position_sizing:
|
|
confidence_scaling: true # Scale position by confidence
|
|
base_size: 0.02 # 2% base position
|
|
max_size: 0.05 # 5% maximum position
|
|
|
|
# MEXC Trading API Configuration
|
|
mexc_trading:
|
|
enabled: true # Set to true to enable live trading
|
|
trading_mode: "live" # Options: "simulation", "testnet", "live"
|
|
# - simulation: No real trades, just logging (safest)
|
|
# - testnet: Use exchange testnet if available (MEXC doesn't have true testnet)
|
|
# - live: Execute real trades with real money
|
|
api_key: "" # Set in .env file as MEXC_API_KEY
|
|
api_secret: "" # Set in .env file as MEXC_SECRET_KEY
|
|
|
|
# Position sizing (conservative for live trading)
|
|
max_position_value_usd: 10.0 # Maximum $1 per position for testing
|
|
min_position_value_usd: 5 # Minimum $0.10 per position
|
|
position_size_percent: 0.01 # 1% of balance per trade (conservative)
|
|
|
|
# Risk management
|
|
max_daily_loss_usd: 5.0 # Stop trading if daily loss exceeds $5
|
|
max_concurrent_positions: 3 # Only 1 position at a time for testing
|
|
max_trades_per_hour: 60 # Maximum 60 trades per hour
|
|
min_trade_interval_seconds: 30 # Minimum between trades
|
|
|
|
# Order configuration
|
|
order_type: "market" # Use market orders for immediate execution
|
|
timeout_seconds: 30 # Order timeout
|
|
retry_attempts: 0 # Number of retry attempts for failed orders
|
|
|
|
# Safety features
|
|
require_confirmation: false # No manual confirmation for live trading
|
|
emergency_stop: false # Emergency stop all trading
|
|
|
|
# Supported symbols for live trading
|
|
allowed_symbols:
|
|
- "ETH/USDT"
|
|
- "BTC/USDT"
|
|
|
|
# Trading hours (UTC)
|
|
trading_hours:
|
|
enabled: false # Disable time restrictions for crypto
|
|
start_hour: 0 # 00:00 UTC
|
|
end_hour: 23 # 23:00 UTC
|
|
|
|
# Memory Management
|
|
memory:
|
|
total_limit_gb: 28.0 # Total system memory limit
|
|
model_limit_gb: 4.0 # Per-model memory limit
|
|
cleanup_interval: 1800 # Memory cleanup every 30 minutes
|
|
|
|
# Web Dashboard
|
|
web:
|
|
host: "127.0.0.1"
|
|
port: 8050
|
|
debug: false
|
|
update_interval: 500 # Milliseconds
|
|
chart_history: 200 # Number of candles to show
|
|
|
|
# Enhanced dashboard features
|
|
show_timeframe_analysis: true
|
|
show_confidence_scores: true
|
|
show_perfect_moves: true
|
|
show_rl_metrics: true
|
|
|
|
# Logging
|
|
logging:
|
|
level: "INFO"
|
|
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
|
file: "logs/enhanced_trading.log"
|
|
max_size: 10485760 # 10MB
|
|
backup_count: 5
|
|
|
|
# Component-specific logging
|
|
orchestrator_level: "INFO"
|
|
cnn_level: "INFO"
|
|
rl_level: "INFO"
|
|
training_level: "INFO"
|
|
|
|
# Model Directories
|
|
model_dir: "models"
|
|
data_dir: "data"
|
|
cache_dir: "cache"
|
|
logs_dir: "logs"
|
|
|
|
# GPU/Performance
|
|
gpu:
|
|
enabled: true
|
|
memory_fraction: 0.8 # Use 80% of GPU memory
|
|
allow_growth: true # Allow dynamic memory allocation
|
|
|
|
# Monitoring and Alerting
|
|
monitoring:
|
|
tensorboard_enabled: true
|
|
tensorboard_log_dir: "logs/tensorboard"
|
|
metrics_interval: 300 # Log metrics every 5 minutes
|
|
performance_alerts: true
|
|
|
|
# Performance thresholds
|
|
min_confidence_threshold: 0.3
|
|
max_memory_usage: 0.9 # 90% of available memory
|
|
max_decision_latency: 10 # 10 seconds max per decision
|
|
|
|
# Backtesting (for future implementation)
|
|
backtesting:
|
|
start_date: "2024-01-01"
|
|
end_date: "2024-12-31"
|
|
initial_balance: 10000
|
|
commission: 0.0002
|
|
slippage: 0.0001
|
|
|
|
model_paths:
|
|
realtime_model: "NN/models/saved/optimized_short_term_model_realtime_best.pt"
|
|
ticks_model: "NN/models/saved/optimized_short_term_model_ticks_best.pt"
|
|
backup_model: "NN/models/saved/realtime_ticks_checkpoints/checkpoint_epoch_50449_backup/model.pt" |