Files
aiagents-stock/docs/实时监测定时功能说明.md
T

6.1 KiB
Raw Blame History

实时监测定时自动启动/关闭功能说明

功能概述

实时监测板块新增了定时自动启动和关闭功能,可以在交易日的交易时间自动启动监测服务,在收盘后自动停止,无需手动干预。

主要功能

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 文件中
  • 支持手动编辑配置文件(不推荐)
  • 配置更改后需重启调度器生效

配置文件示例

{
  "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. 提交问题反馈

祝您使用愉快! 🎉