#!/usr/bin/env python3 """ Run Ultra-Fast Scalping Dashboard (500x Leverage) This script starts the custom scalping dashboard with: - Full-width 1s ETH/USDT candlestick chart - 3 small ETH charts: 1m, 1h, 1d - 1 small BTC 1s chart - Ultra-fast 100ms updates for scalping - Real-time PnL tracking and logging - Enhanced orchestrator with real AI model decisions """ import argparse import logging import sys from pathlib import Path # Add project root to path project_root = Path(__file__).parent sys.path.insert(0, str(project_root)) from core.config import setup_logging from core.data_provider import DataProvider from core.enhanced_orchestrator import EnhancedTradingOrchestrator from web.old_archived.scalping_dashboard import create_scalping_dashboard # Setup logging setup_logging() logger = logging.getLogger(__name__) def main(): """Main function for scalping dashboard""" # Parse command line arguments parser = argparse.ArgumentParser(description='Ultra-Fast Scalping Dashboard (500x Leverage)') parser.add_argument('--episodes', type=int, default=1000, help='Number of episodes (for compatibility)') parser.add_argument('--max-position', type=float, default=0.1, help='Maximum position size') parser.add_argument('--leverage', type=int, default=500, help='Leverage multiplier') parser.add_argument('--port', type=int, default=8051, help='Dashboard port') parser.add_argument('--host', type=str, default='127.0.0.1', help='Dashboard host') parser.add_argument('--debug', action='store_true', help='Enable debug mode') args = parser.parse_args() logger.info("STARTING SCALPING DASHBOARD") logger.info("Session-based trading with $100 starting balance") logger.info(f"Configuration: Leverage={args.leverage}x, Max Position={args.max_position}, Port={args.port}") try: # Initialize components logger.info("Initializing data provider...") data_provider = DataProvider() logger.info("Initializing trading orchestrator...") orchestrator = EnhancedTradingOrchestrator(data_provider) logger.info("LAUNCHING DASHBOARD") logger.info(f"Dashboard will be available at http://{args.host}:{args.port}") # Start the dashboard dashboard = create_scalping_dashboard(data_provider, orchestrator) dashboard.run(host=args.host, port=args.port, debug=args.debug) except KeyboardInterrupt: logger.info("Dashboard stopped by user") return 0 except Exception as e: logger.error(f"ERROR: {e}") import traceback traceback.print_exc() return 1 if __name__ == "__main__": exit_code = main() sys.exit(exit_code if exit_code else 0)