run_dashboard.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/usr/bin/env python3
  2. """
  3. 启动交易策略监控面板
  4. """
  5. import os
  6. import sys
  7. from pathlib import Path
  8. # 添加项目路径到Python路径
  9. project_root = Path(__file__).parent
  10. sys.path.insert(0, str(project_root / "src"))
  11. from leadlag.web_dashboard import TradingDashboard
  12. def main():
  13. """启动Web Dashboard"""
  14. # 数据库路径 - 优先使用测试数据库
  15. test_db_path = project_root / "test_trading_data.db"
  16. main_db_path = project_root / "trading_data.db"
  17. # 选择存在的数据库文件
  18. if test_db_path.exists():
  19. db_path = test_db_path
  20. print("🧪 使用测试数据库")
  21. elif main_db_path.exists():
  22. db_path = main_db_path
  23. print("📊 使用主数据库")
  24. else:
  25. db_path = main_db_path
  26. print("⚠️ 数据库文件不存在,将创建新数据库")
  27. print("=" * 60)
  28. print("🚀 启动交易策略监控面板")
  29. print("=" * 60)
  30. print(f"📁 数据库路径: {db_path}")
  31. print(f"🌐 本地访问: http://127.0.0.1:5000")
  32. print(f"🌐 公网访问: http://0.0.0.0:5000")
  33. print("=" * 60)
  34. # 检查数据库是否存在
  35. if not db_path.exists():
  36. print("⚠️ 警告: 数据库文件不存在,请先运行交易策略生成数据")
  37. print(f" 数据库将在策略运行时自动创建: {db_path}")
  38. print()
  39. # 创建并启动dashboard
  40. dashboard = TradingDashboard(str(db_path))
  41. try:
  42. dashboard.run(host='0.0.0.0', port=5000, debug=False)
  43. except KeyboardInterrupt:
  44. print("\n👋 监控面板已停止")
  45. except Exception as e:
  46. print(f"❌ 启动失败: {e}")
  47. sys.exit(1)
  48. if __name__ == '__main__':
  49. main()