增加龙虎榜批量分析功能,修复一些小bug

This commit is contained in:
oficcejo
2025-10-20 15:40:14 +08:00
parent 1bddf393e0
commit b7a8bb10b3
60 changed files with 3579 additions and 883 deletions
@@ -0,0 +1,194 @@
# 实时监测定时功能 - 更新日志
## 版本 1.0.0 (2024-10-16)
### 🎉 新增功能
#### 1. 定时调度器模块 (`monitor_scheduler.py`)
- ✅ 创建完整的交易时间调度器类 `TradingTimeScheduler`
- ✅ 支持交易日自动判断(基于周几)
- ✅ 支持交易时间段检测
- ✅ 智能启动/停止监测服务
- ✅ 配置文件持久化(`monitor_schedule_config.json`
- ✅ 独立线程运行,不影响主服务
#### 2. 多市场支持
-**中国A股 (CN)**
- 上午: 09:30 - 11:30
- 下午: 13:00 - 15:00
-**美股 (US)**
- 交易时间: 21:30 - 04:00(北京时间)
-**港股 (HK)**
- 上午: 09:30 - 12:00
- 下午: 13:00 - 16:00
#### 3. 灵活配置选项
- ✅ 启用/禁用定时调度
- ✅ 市场选择(CN/US/HK
- ✅ 自定义交易日(默认周一至周五)
- ✅ 收盘后自动停止开关
- ✅ 提前启动时间(0-30分钟)
- ✅ 延后停止时间(0-30分钟)
#### 4. UI界面增强
**monitor_manager.py:**
- ✅ 新增 `display_scheduler_section()` 函数
- ✅ 实时状态展示(4个状态指示器)
- ✅ 完整的配置界面(可折叠)
- ✅ 市场选择和参数设置
- ✅ 保存/启动/停止控制按钮
**monitor_ui.py:**
- ✅ 在简单监测面板添加定时状态显示
- ✅ 快速查看调度器运行状态
#### 5. 监测服务集成
**monitor_service.py:**
- ✅ 新增 `get_scheduler()` 方法
- ✅ 与调度器模块无缝集成
- ✅ 支持自动和手动控制共存
### 📊 状态监控
实时显示以下状态:
1. **定时启用状态**: 🟢 已启用 / ⚪ 未启用
2. **调度器运行状态**: 🔄 运行中 / ⏸️ 未运行
3. **交易日状态**: 📅 交易日 / 📅 非交易日
4. **交易时间状态**: ⏰ 交易时间内 / ⏰ 下次交易时间
### 🔧 技术实现
#### 核心机制
- **智能检测**: 每分钟自动检测交易状态
- **自动调整**: 根据交易时间自动启动/停止服务
- **独立运行**: 调度器在独立线程中运行
- **配置持久化**: JSON文件保存配置
#### 文件结构
```
monitor_scheduler.py # 调度器核心模块
monitor_service.py # 监测服务(已集成)
monitor_manager.py # 管理界面(含配置UI)
monitor_ui.py # 简单面板(含状态显示)
monitor_schedule_config.json # 配置文件(自动生成)
```
#### 依赖库
- `schedule`: 定时任务调度
- `threading`: 多线程支持
- `json`: 配置文件处理
- `datetime`: 时间处理
### 📝 文档
新增以下文档文件:
1. **实时监测定时功能说明.md** - 完整功能说明文档
2. **实时监测定时功能快速开始.md** - 5分钟快速上手指南
3. **实时监测定时功能更新日志.md** - 本文件
### 🎯 功能特点
#### 优点
- ✅ 全自动运行,无需人工干预
- ✅ 支持多市场、多时区
- ✅ 配置灵活,可自定义
- ✅ UI友好,状态清晰
- ✅ 独立运行,不影响手动操作
- ✅ 配置持久化,重启保留
- ✅ 资源消耗低(每分钟检测一次)
#### 限制
- ⚠️ 不支持自动识别法定节假日(需手动处理)
- ⚠️ 仅支持基于周几的交易日判断
- ⚠️ 调度器配置只能选择一个市场
### 📋 使用场景
1. **上班族自动监测**
- 工作日自动在交易时间启动
- 收盘后自动停止,节省资源
2. **服务器24小时运行**
- 仅在交易时间运行监测
- 非交易时间自动停止
3. **多市场交易者**
- 切换不同市场的交易时间
- 根据主要市场设置
### 🔄 未来计划
#### 计划中的功能
- 📅 接入节假日API,自动识别非交易日
- 🌐 支持更多国际市场
- 📊 交易时间统计和报告
- 📧 定时任务执行通知
- ⏰ 盘前盘后时段支持
- 🔔 自定义时间段监测
#### 优化方向
- 性能优化:减少检测频率选项
- UI优化:更直观的时间轴显示
- 配置优化:支持导入导出配置
- 日志优化:详细的执行日志记录
### 🐛 已知问题
暂无已知问题
### 🔄 兼容性
- ✅ 兼容现有监测服务
- ✅ 不影响手动启动/停止
- ✅ 支持与现有功能并行使用
- ✅ 向后兼容,可选择性启用
### 📦 安装和更新
#### 新用户
无需额外操作,`schedule` 库已包含在 `requirements.txt`
#### 现有用户
1. 拉取最新代码
2. 确保 `requirements.txt` 中包含 `schedule>=1.2.0`
3. 如需要,运行 `pip install -r requirements.txt`
4. 重启应用即可使用
### 💡 使用建议
1. **首次使用**
- 建议先使用默认配置
- 启用定时调度并观察运行
- 根据需要调整参数
2. **生产环境**
- 确保服务器时区正确
- 定期检查调度器状态
- 节假日前手动停止调度器
3. **最佳实践**
- 设置适当的监测间隔
- 启用邮件通知获取提醒
- 定期查看监测日志
### 🙏 致谢
感谢所有用户的反馈和建议!
---
## 更新历史
### v1.0.0 (2024-10-16)
- 🎉 初始版本发布
- ✅ 完整的定时调度功能
- ✅ 多市场支持
- ✅ UI配置界面
- ✅ 完整文档
---
**如有问题或建议,欢迎反馈!** 💬