frequency-trigger-README.md 5.3 KB

频率触发器配置说明

🎯 频率触发器概述

频率触发器替代了传统的时间触发器,提供更灵活的执行频率控制。您可以根据需要设置执行间隔、时间范围等参数。

📋 配置结构

基本配置

{
  "type": "frequency",
  "interval": 300000,
  "enabled": true,
  "parameters": {
    "description": "每5分钟执行一次Delta中性策略检查",
    "startTime": "09:00",
    "endTime": "21:00",
    "timezone": "Asia/Shanghai"
  }
}

⚙️ 参数说明

核心参数

  • type: 触发器类型,设置为 "frequency"
  • interval: 执行间隔(毫秒)
  • enabled: 是否启用触发器

时间控制参数

  • startTime: 开始时间(格式:HH:MM)
  • endTime: 结束时间(格式:HH:MM)
  • timezone: 时区设置

🕐 时间间隔配置

常用间隔设置

// 每30秒执行一次
"interval": 30000

// 每1分钟执行一次
"interval": 60000

// 每5分钟执行一次
"interval": 300000

// 每10分钟执行一次
"interval": 600000

// 每30分钟执行一次
"interval": 1800000

// 每1小时执行一次
"interval": 3600000

高频交易配置

{
  "type": "frequency",
  "interval": 1000,        // 每1秒执行一次
  "enabled": true,
  "parameters": {
    "startTime": "09:00",
    "endTime": "17:00",
    "timezone": "Asia/Shanghai"
  }
}

低频监控配置

{
  "type": "frequency",
  "interval": 300000,      // 每5分钟执行一次
  "enabled": true,
  "parameters": {
    "startTime": "09:00",
    "endTime": "21:00",
    "timezone": "Asia/Shanghai"
  }
}

🌍 时区配置

支持的时区

// 中国标准时间
"timezone": "Asia/Shanghai"

// 美国东部时间
"timezone": "America/New_York"

// 美国西部时间
"timezone": "America/Los_Angeles"

// 伦敦时间
"timezone": "Europe/London"

// 东京时间
"timezone": "Asia/Tokyo"

// UTC时间
"timezone": "UTC"

⏰ 时间范围配置

交易时间设置

// 亚洲交易时间
{
  "startTime": "09:00",
  "endTime": "17:00",
  "timezone": "Asia/Shanghai"
}

// 欧美交易时间
{
  "startTime": "14:00",
  "endTime": "22:00",
  "timezone": "America/New_York"
}

// 24小时交易
{
  "startTime": "00:00",
  "endTime": "23:59",
  "timezone": "UTC"
}

// 跨天交易时间
{
  "startTime": "22:00",
  "endTime": "06:00",
  "timezone": "Asia/Shanghai"
}

🔧 配置示例

Delta中性策略频率配置

{
  "type": "frequency",
  "interval": 300000,      // 每5分钟检查一次
  "enabled": true,
  "parameters": {
    "description": "每5分钟执行一次Delta中性策略检查",
    "startTime": "09:00",   // 上午9点开始
    "endTime": "21:00",     // 晚上9点结束
    "timezone": "Asia/Shanghai"
  }
}

高频对冲配置

{
  "type": "frequency",
  "interval": 3000,        // 每3秒执行一次
  "enabled": true,
  "parameters": {
    "description": "高频对冲交易",
    "startTime": "09:30",
    "endTime": "15:30",
    "timezone": "Asia/Shanghai"
  }
}

风险监控配置

{
  "type": "frequency",
  "interval": 10000,       // 每10秒检查一次
  "enabled": true,
  "parameters": {
    "description": "风险监控检查",
    "startTime": "00:00",
    "endTime": "23:59",
    "timezone": "UTC"
  }
}

📊 执行逻辑

工作流程

  1. 启动检查 - 系统启动时立即执行一次
  2. 定时执行 - 按照设定的间隔执行
  3. 时间验证 - 检查当前时间是否在允许范围内
  4. 条件执行 - 满足条件时生成交易信号
  5. 跳过执行 - 不在时间范围内时跳过

执行日志示例

[09:00:00] 频率触发器启动: 每5分钟执行一次
[09:00:00] 立即执行一次检查
[09:00:00] 生成交易信号: frequency
[09:05:00] 定时执行检查
[09:05:00] 生成交易信号: frequency
[09:10:00] 定时执行检查
[09:10:00] 生成交易信号: frequency
[21:00:00] 定时执行检查
[21:00:00] 跳过执行,不在允许时间范围内

🎯 优势特点

相比时间触发器的优势

  • 更灵活 - 可以设置任意间隔,不限于cron表达式
  • 更精确 - 毫秒级精度控制
  • 更直观 - 直接设置间隔时间,易于理解
  • 更可控 - 可以设置执行时间范围
  • 更高效 - 减少不必要的计算开销

适用场景

  • 高频交易 - 需要秒级或毫秒级执行频率
  • 风险监控 - 需要定期检查风险指标
  • 策略调整 - 需要定期调整策略参数
  • 市场监控 - 需要持续监控市场变化

🔧 配置建议

根据策略类型选择频率

  • Delta中性策略: 5-10分钟间隔
  • 高频对冲: 1-5秒间隔
  • 风险监控: 10-30秒间隔
  • 市场监控: 1-5分钟间隔

根据市场情况调整

  • 高波动期: 增加执行频率
  • 低波动期: 减少执行频率
  • 交易时间: 正常频率
  • 非交易时间: 降低频率或停止

🚀 使用建议

  1. 初始配置: 从较长的间隔开始,逐步优化
  2. 性能监控: 监控系统资源使用情况
  3. 效果评估: 根据策略效果调整频率
  4. 风险控制: 设置合理的执行时间范围

频率触发器为您提供了更灵活和精确的策略执行控制!