6.1 KiB
6.1 KiB
实时监测定时自动启动/关闭功能说明
功能概述
实时监测板块新增了定时自动启动和关闭功能,可以在交易日的交易时间自动启动监测服务,在收盘后自动停止,无需手动干预。
主要功能
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. 启用定时调度
- 进入 股票监测管理 页面
- 在监测服务状态下方找到 ⏰ 定时自动启动/关闭 区域
- 点击展开 ⚙️ 定时调度设置
- 勾选 启用定时调度 复选框
2. 配置市场和时间
市场选择区域:
- 选择您要监测的市场(CN/US/HK)
- 查看对应市场的交易时间
- 自定义交易日(如需要)
调度参数区域:
- 启用定时调度: 总开关
- 收盘后自动停止: 是否在交易时间结束后自动停止
- 提前启动: 在开盘前多少分钟启动(默认5分钟)
- 延后停止: 在收盘后多少分钟停止(默认5分钟)
3. 保存并启动
- 配置完成后点击 💾 保存设置
- 点击 ▶️ 启动调度器 按钮
- 系统将开始自动调度
4. 状态监控
在定时调度区域顶部可以看到实时状态:
- 定时已启用/未启用: 定时调度功能的启用状态
- 调度器运行中/未运行: 调度器的运行状态
- 交易日/非交易日: 当前日期是否为交易日
- 交易时间内/下次交易时间: 当前是否在交易时间,以及下次交易时间
工作原理
智能检测机制
调度器每分钟执行一次检测:
- 检查当前是否为交易日
- 检查当前是否在交易时间内
- 如果在交易时间且监测服务未运行,则自动启动
- 如果不在交易时间且监测服务正在运行且启用了自动停止,则自动停止
配置文件
- 调度配置保存在
monitor_schedule_config.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: 多市场混合监测
- 如果监测多个市场的股票,选择主要市场
- 或不启用自动停止,手动控制
- 根据需要切换市场设置
故障排查
调度器无法启动
- 检查是否已启用定时调度
- 查看控制台是否有错误信息
- 尝试重启应用
没有自动启动监测
- 确认调度器正在运行
- 检查当前是否为交易日和交易时间
- 查看配置是否正确保存
配置无法保存
- 检查文件写入权限
- 查看是否有文件锁定
- 尝试手动删除配置文件重新生成
技术说明
核心文件
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配置界面
- ✅ 智能检测机制,每分钟自动调整
反馈与支持
如有问题或建议,请:
- 检查本文档的故障排查部分
- 查看控制台输出的错误信息
- 提交问题反馈
祝您使用愉快! 🎉