95 lines
3.4 KiB
Python
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()) |