# 实时监测定时自动启动/关闭功能说明 ## 功能概述 实时监测板块新增了定时自动启动和关闭功能,可以在交易日的交易时间自动启动监测服务,在收盘后自动停止,无需手动干预。 ## 主要功能 ### 1. 智能交易时间识别 - **自动识别交易日**: 系统会自动判断当前是否为交易日(默认为周一至周五) - **交易时间检测**: 实时检测当前是否在交易时间段内 - **多市场支持**: 支持中国A股、美股、港股三个市场的交易时间 ### 2. 自动启动/停止 - **定时启动**: 在开盘时间自动启动监测服务 - **定时停止**: 在收盘时间自动停止监测服务(可选) - **智能检测**: 每分钟自动检测交易状态,实时调整监测状态 ### 3. 灵活配置 - **市场选择**: 可选择 CN(中国A股)、US(美股)、HK(港股) - **交易日设置**: 自定义交易日(默认周一至周五) - **提前启动**: 可设置在开盘前提前启动(0-30分钟) - **延后停止**: 可设置在收盘后延后停止(0-30分钟) - **自动停止开关**: 可选择收盘后是否自动停止 ## 默认交易时间 ### 中国A股 (CN) - **上午**: 09:30 - 11:30 - **下午**: 13:00 - 15:00 - **交易日**: 周一至周五 ### 美股 (US) - **交易时间**: 21:30 - 04:00(北京时间) - **交易日**: 周一至周五 ### 港股 (HK) - **上午**: 09:30 - 12:00 - **下午**: 13:00 - 16:00 - **交易日**: 周一至周五 ## 使用方法 ### 1. 启用定时调度 1. 进入 **股票监测管理** 页面 2. 在监测服务状态下方找到 **⏰ 定时自动启动/关闭** 区域 3. 点击展开 **⚙️ 定时调度设置** 4. 勾选 **启用定时调度** 复选框 ### 2. 配置市场和时间 **市场选择区域:** - 选择您要监测的市场(CN/US/HK) - 查看对应市场的交易时间 - 自定义交易日(如需要) **调度参数区域:** - **启用定时调度**: 总开关 - **收盘后自动停止**: 是否在交易时间结束后自动停止 - **提前启动**: 在开盘前多少分钟启动(默认5分钟) - **延后停止**: 在收盘后多少分钟停止(默认5分钟) ### 3. 保存并启动 1. 配置完成后点击 **💾 保存设置** 2. 点击 **▶️ 启动调度器** 按钮 3. 系统将开始自动调度 ### 4. 状态监控 在定时调度区域顶部可以看到实时状态: - **定时已启用/未启用**: 定时调度功能的启用状态 - **调度器运行中/未运行**: 调度器的运行状态 - **交易日/非交易日**: 当前日期是否为交易日 - **交易时间内/下次交易时间**: 当前是否在交易时间,以及下次交易时间 ## 工作原理 ### 智能检测机制 调度器每分钟执行一次检测: 1. 检查当前是否为交易日 2. 检查当前是否在交易时间内 3. 如果在交易时间且监测服务未运行,则自动启动 4. 如果不在交易时间且监测服务正在运行且启用了自动停止,则自动停止 ### 配置文件 - 调度配置保存在 `monitor_schedule_config.json` 文件中 - 支持手动编辑配置文件(不推荐) - 配置更改后需重启调度器生效 ## 配置文件示例 ```json { "enabled": true, "market": "CN", "trading_hours": { "CN": [ {"start": "09:30", "end": "11:30"}, {"start": "13:00", "end": "15:00"} ], "US": [ {"start": "21:30", "end": "04:00"} ], "HK": [ {"start": "09:30", "end": "12:00"}, {"start": "13:00", "end": "16:00"} ] }, "trading_days": [1, 2, 3, 4, 5], "auto_stop": true, "pre_market_minutes": 5, "post_market_minutes": 5 } ``` ## 注意事项 ### 1. 独立运行 - 定时调度器独立于手动启动/停止按钮 - 即使调度器在运行,仍可手动控制监测服务 - 手动操作不会影响调度器的自动检测 ### 2. 节假日处理 - 当前版本仅支持按周几判断交易日 - 不会自动识别法定节假日 - 遇到节假日需要手动停止调度器或监测服务 ### 3. 性能影响 - 调度器每分钟检测一次,资源消耗极低 - 不会影响监测服务的正常运行 - 建议在服务器或长期运行的电脑上使用 ### 4. 跨天交易 - 支持跨天的交易时间(如美股) - 时间判断会自动处理跨天情况 ## 使用场景 ### 场景1: 上班族自动监测 - 设置为中国A股市场 - 启用定时调度 - 工作日交易时间自动监测,下班后自动停止 ### 场景2: 24小时服务器运行 - 根据关注的市场设置交易时间 - 启用自动停止,节省服务器资源 - 仅在交易时间运行监测 ### 场景3: 多市场混合监测 - 如果监测多个市场的股票,选择主要市场 - 或不启用自动停止,手动控制 - 根据需要切换市场设置 ## 故障排查 ### 调度器无法启动 1. 检查是否已启用定时调度 2. 查看控制台是否有错误信息 3. 尝试重启应用 ### 没有自动启动监测 1. 确认调度器正在运行 2. 检查当前是否为交易日和交易时间 3. 查看配置是否正确保存 ### 配置无法保存 1. 检查文件写入权限 2. 查看是否有文件锁定 3. 尝试手动删除配置文件重新生成 ## 技术说明 ### 核心文件 - `monitor_scheduler.py`: 调度器核心模块 - `monitor_service.py`: 监测服务(已集成调度器) - `monitor_manager.py`: UI管理界面(包含调度设置) - `monitor_schedule_config.json`: 配置文件(自动生成) ### 依赖库 - `schedule`: Python定时任务库 - `threading`: 多线程支持 ### 扩展性 代码设计支持以下扩展: - 添加更多市场 - 自定义交易时间 - 接入节假日API - 邮件/通知提醒 ## 更新日志 ### v1.0.0 (2024-10-16) - ✅ 初始版本发布 - ✅ 支持中国A股、美股、港股三个市场 - ✅ 实现交易日和交易时间自动判断 - ✅ 支持自动启动和停止 - ✅ 提供完整的UI配置界面 - ✅ 智能检测机制,每分钟自动调整 ## 反馈与支持 如有问题或建议,请: 1. 检查本文档的故障排查部分 2. 查看控制台输出的错误信息 3. 提交问题反馈 --- **祝您使用愉快!** 🎉