前言国内期货量化策略上线后程序 7×24 跑在服务器天勤TqApi主循环里wait_update()推进每根 5 分钟 K 线收盘可能算出「螺纹钢均线金叉」这类交易信号有人把信号原文直接推到钉钉群同时柜台还可能回报断线、拒单、成交。若全部即时推送群消息一分钟几十条「金叉/死叉」真正重要的「行情停更半小时」「连续资金不足拒单」反而被淹没。天勤在tqsdk.lib提供TqNotify在wait_update循环里用get_notifies()批量取服务器侧通知适合接连接、柜台类事件。业务交易信号、风控触发则应走自建结构化日志再按级别限频分流。下面说明怎么拆通道、怎么设冷却时间让手机只响该响的。一、TqNotify 做什么fromtqsdkimportTqApi,TqAuth,TqKq,TqNotify apiTqApi(accountTqKq(),authTqAuth(账户,密码))notifyTqNotify(api)whileTrue:api.wait_update()forninnotify.get_notifies():handle_server_notify(n)# 按 n 的内容分类get_notifies()返回自上次调用以来新增的通知列表无新通知则[]。适合接柜台、连接类事件不适合每根 K 线都发。二、三级分流建议级别内容通道限频L0 静默常规信号、心跳仅写文件无上限L1 日报成交汇总、日终权益邮件/群摘要日 1 次L2 即时断线、连续拒单、emergency钉钉/短信同类型 5 分钟 1 条业务信号target 变化记 jsonl默认不推送。只有emergency或risk_ratio超阈值才升 L2。三、限频实现示意importtime _last_alert{}defalert_l2(key,msg,cooldown300):nowtime.time()ifnow-_last_alert.get(key,0)cooldown:return_last_alert[key]now send_dingtalk(msg)对TqNotify解析出的同类断线通知也用keydisconnect限频避免重连抖动连发。四、与手写监控的关系夜盘监控专题里的quote.datetimestale、volume_left僵死等应汇总成 L2而不是每个 symbol 单独轰炸。成交可用 L0 记全量L1 只发日累计。五、测试环境隔离modesim的 webhook 指向测试群配置从环境变量读避免模拟盘告警进生产群与日志脱敏同一习惯。六、业务信号该记什么但不推送建议在 jsonl 里记eventsignal、bar_datetime、symbol、target、pos、reason默认不调用钉钉。只有eventemergency或risk_ratio超阈值才升 L2。均线金叉一天可能十几次推送毫无意义连续三次last_msg含资金不足则必须推送。七、夜盘值守摘要模板L1 日终一条 Markdown 摘要即可当日balance起止成交笔数、手续费拒单次数 Top3last_msg断线次数由定时任务在夜盘结束触发不打扰白天。八、TqNotify 与自建监控的组合TqNotify偏柜台与连接quote.datetimestale、volume_left僵死等需自建规则。两者都走handle_notify用不同key限频避免双通道重复发同一件事。总结告警太吵是因为把研究信号和运维事件混在一个通道里。天勤TqNotify负责收服务器通知适合断线、柜台类事件均线信号等应写结构化日志并默认静默。给 L2 即时告警加同类冷却时间日终再用 L1 摘要成交与权益手机才不会在夜盘被无效消息占满。FAQ1TqNotify 和 get_trade 区别Notify 是服务端通知流成交以get_trade为准。2能否过滤 notify 内容在handle_server_notify里按字段丢弃无关项。3信号要不要推送看团队习惯默认建议只记日志。4Webhook 怎么接在alert_l2里用requests.post调钉钉机器人即可URL 放环境变量勿写进仓库。本文基于天勤 TqSdk 公开 API 整理不构成投资建议。
期货量化告警太吵怎么控频:天勤 TqNotify 与业务信号分级
前言国内期货量化策略上线后程序 7×24 跑在服务器天勤TqApi主循环里wait_update()推进每根 5 分钟 K 线收盘可能算出「螺纹钢均线金叉」这类交易信号有人把信号原文直接推到钉钉群同时柜台还可能回报断线、拒单、成交。若全部即时推送群消息一分钟几十条「金叉/死叉」真正重要的「行情停更半小时」「连续资金不足拒单」反而被淹没。天勤在tqsdk.lib提供TqNotify在wait_update循环里用get_notifies()批量取服务器侧通知适合接连接、柜台类事件。业务交易信号、风控触发则应走自建结构化日志再按级别限频分流。下面说明怎么拆通道、怎么设冷却时间让手机只响该响的。一、TqNotify 做什么fromtqsdkimportTqApi,TqAuth,TqKq,TqNotify apiTqApi(accountTqKq(),authTqAuth(账户,密码))notifyTqNotify(api)whileTrue:api.wait_update()forninnotify.get_notifies():handle_server_notify(n)# 按 n 的内容分类get_notifies()返回自上次调用以来新增的通知列表无新通知则[]。适合接柜台、连接类事件不适合每根 K 线都发。二、三级分流建议级别内容通道限频L0 静默常规信号、心跳仅写文件无上限L1 日报成交汇总、日终权益邮件/群摘要日 1 次L2 即时断线、连续拒单、emergency钉钉/短信同类型 5 分钟 1 条业务信号target 变化记 jsonl默认不推送。只有emergency或risk_ratio超阈值才升 L2。三、限频实现示意importtime _last_alert{}defalert_l2(key,msg,cooldown300):nowtime.time()ifnow-_last_alert.get(key,0)cooldown:return_last_alert[key]now send_dingtalk(msg)对TqNotify解析出的同类断线通知也用keydisconnect限频避免重连抖动连发。四、与手写监控的关系夜盘监控专题里的quote.datetimestale、volume_left僵死等应汇总成 L2而不是每个 symbol 单独轰炸。成交可用 L0 记全量L1 只发日累计。五、测试环境隔离modesim的 webhook 指向测试群配置从环境变量读避免模拟盘告警进生产群与日志脱敏同一习惯。六、业务信号该记什么但不推送建议在 jsonl 里记eventsignal、bar_datetime、symbol、target、pos、reason默认不调用钉钉。只有eventemergency或risk_ratio超阈值才升 L2。均线金叉一天可能十几次推送毫无意义连续三次last_msg含资金不足则必须推送。七、夜盘值守摘要模板L1 日终一条 Markdown 摘要即可当日balance起止成交笔数、手续费拒单次数 Top3last_msg断线次数由定时任务在夜盘结束触发不打扰白天。八、TqNotify 与自建监控的组合TqNotify偏柜台与连接quote.datetimestale、volume_left僵死等需自建规则。两者都走handle_notify用不同key限频避免双通道重复发同一件事。总结告警太吵是因为把研究信号和运维事件混在一个通道里。天勤TqNotify负责收服务器通知适合断线、柜台类事件均线信号等应写结构化日志并默认静默。给 L2 即时告警加同类冷却时间日终再用 L1 摘要成交与权益手机才不会在夜盘被无效消息占满。FAQ1TqNotify 和 get_trade 区别Notify 是服务端通知流成交以get_trade为准。2能否过滤 notify 内容在handle_server_notify里按字段丢弃无关项。3信号要不要推送看团队习惯默认建议只记日志。4Webhook 怎么接在alert_l2里用requests.post调钉钉机器人即可URL 放环境变量勿写进仓库。本文基于天勤 TqSdk 公开 API 整理不构成投资建议。