Files
gogo2/run_enhanced_training_dashboard.py

95 lines
3.4 KiB
Python

#!/usr/bin/env python3
"""
Run Dashboard with Enhanced Training System Enabled
This script starts the trading dashboard with the enhanced real-time
training system automatically enabled and running.
"""
import sys
import os
import asyncio
import logging
from datetime import datetime
# Add project root to path
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from core.orchestrator import TradingOrchestrator
from core.data_provider import DataProvider
from core.trading_executor import TradingExecutor
from web.clean_dashboard import create_clean_dashboard
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
async def main():
"""Start dashboard with enhanced training enabled"""
try:
logger.info("=" * 70)
logger.info("STARTING DASHBOARD WITH ENHANCED TRAINING SYSTEM")
logger.info("=" * 70)
# 1. Initialize components with enhanced training
logger.info("1. Initializing components...")
data_provider = DataProvider()
trading_executor = TradingExecutor()
# 2. Create orchestrator with enhanced training ENABLED
logger.info("2. Creating orchestrator with enhanced training...")
orchestrator = TradingOrchestrator(
data_provider=data_provider,
enhanced_rl_training=True # 🔥 THIS ENABLES ENHANCED TRAINING
)
# 3. Verify enhanced training is available
logger.info("3. Verifying enhanced training system...")
if orchestrator.enhanced_training_system:
logger.info("✅ Enhanced training system available")
logger.info(f" - Training enabled: {orchestrator.training_enabled}")
# 4. Start enhanced training
logger.info("4. Starting enhanced training system...")
start_result = orchestrator.start_enhanced_training()
if start_result:
logger.info("✅ Enhanced training started successfully")
else:
logger.warning("⚠️ Enhanced training start failed")
else:
logger.warning("⚠️ Enhanced training system not available")
# 5. Create dashboard
logger.info("5. Creating dashboard...")
dashboard = create_clean_dashboard(
data_provider=data_provider,
orchestrator=orchestrator,
trading_executor=trading_executor
)
# 6. Connect training system to dashboard
logger.info("6. Connecting training system to dashboard...")
orchestrator.set_training_dashboard(dashboard)
# 7. Start dashboard
logger.info("7. Starting dashboard...")
logger.info("🎉 Dashboard with enhanced training is now running!")
logger.info(" - Enhanced training: ENABLED")
logger.info(" - Real-time learning: ACTIVE")
logger.info(" - Dashboard URL: http://127.0.0.1:8051")
# Keep running
await asyncio.sleep(3600) # Run for 1 hour
except KeyboardInterrupt:
logger.info("Dashboard stopped by user")
except Exception as e:
logger.error(f"Error starting dashboard: {e}")
import traceback
logger.error(traceback.format_exc())
if __name__ == "__main__":
asyncio.run(main())