#!/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())