import logging import os from core.config import setup_logging, get_config from core.trading_executor import TradingExecutor from core.orchestrator import TradingOrchestrator from core.standardized_data_provider import StandardizedDataProvider from web.clean_dashboard import CleanTradingDashboard def main(): # Mitigate OpenMP duplicate runtime crash on Windows by allowing duplicates # This avoids hard crashes from multiple linked OpenMP runtimes. os.environ.setdefault('KMP_DUPLICATE_LIB_OK', 'TRUE') setup_logging() cfg = get_config() data_provider = StandardizedDataProvider() trading_executor = TradingExecutor() orchestrator = TradingOrchestrator(data_provider=data_provider) dashboard = CleanTradingDashboard( data_provider=data_provider, orchestrator=orchestrator, trading_executor=trading_executor ) logging.getLogger(__name__).info("Starting Clean Trading Dashboard at http://127.0.0.1:8050") dashboard.run_server(host='127.0.0.1', port=8050, debug=False) if __name__ == '__main__': main()