故障排查

TradingView 通知排程会连 webhook 一起静音:自动下单没反应的新成因

2026-07-30·9 分钟阅读

Alert 还是绿色的 Active、Alert Manager 里也看得到触发记录, 你的 webhook 却整天没收到任何一笔信号——这一次的成因可能是 TradingView 在 2026 年 7 月新增的通知排程。 没有人先跟你讲的是:那个排程很可能不是你替这个 alert 设的, 是它自己套上来的。

这篇不重讲 webhook 的网络层排查。IP 白名单、port、3 秒逾时、 交易所拒单那几层,站上已经有 完整的五层流程图 在处理,这篇不重复。这篇只做一件事:把通知排程这个 2026 年 7 月才出现的成因讲清楚,并且明确标出哪一句是官方写的、 哪一句是我们推导的。

先讲结论
官方白纸黑字写了:通知排程会抑制所有外部通知管道,包括 webhook。被抑制的触发不会消失,它会静默写进 alert log——所以你会看到一个 「有触发、没送出、也没有错误信息」的状态。 自动化的 alert 请维持全天候排程。(官方原文对照见下一节。)
2026-07-07
TradingView 通知排程公告发布日
含 webhook
官方明写的抑制范围
0
官方 webhook 错误清单里对应「被静音」的类别数

TradingView 对通知排程与 webhook 只写了一句话,但那句话是决定性的

这个功能叫 notification schedule,官方简中版译成「通知排程」。 它让你替单一个 alert 指定允许发送推送、email 或 webhook 的日期与时间。听起来是纯粹的体验改善——直到你读到公告里 给自动化交易者的那一段。

官方原文官方简中版译文
「Notification schedules suppress all outbound channels, including webhooks.」「通知排程会抑制所有外部通知管道,包括 Webhook。」
「If your alerts are connected to automated trading systems, keep them on a 24/7 schedule to avoid interrupting execution.」「如果您的快讯连接到自动化交易系统,请保持全天候排程, 以避免中断交易执行。」

来源:TradingView 官方博客〈Notification scheduling for alerts has arrived〉,2026 年 7 月 7 日发布;简中译文取自同一篇公告的官方简中版本(查证日期 2026 年 7 月 30 日)。

这两句是官方自己写的,不是谁推导出来的, 而且官方在公告里主动点名了 webhook。 所以这一句的份量要看重——它是这篇文章唯一需要的官方授权, 剩下的都是从它推出去的。

被静音的触发不会消失,它会安静地写进 alert log

公告对机制的描述是:alert 在排程时间之外触发时, TradingView 会静音那则通知,但仍然持续监控 alert 条件, 而该事件仍会静默记录在你的 alert log 里。 也就是说,触发记录是完整的——缺的只有送出这一段。

这正是最难查的那种坏法。它不会吵、不会退回、不会在你检查的时候爆—— 你打开 Alert Manager,触发记录一笔一笔都在, 于是你自然会往下游找原因,去看服务器 log、去看交易所拒单, 然后在那边耗掉一整天。

官方文件讲到哪里为止

官方 webhook 设置文件写了 alert log 里有一个 Webhook status 栏, 可以用来监看送达状况。但官方没有写「被排程静音的那一笔, Webhook status 栏会显示什么」——是空白、是某个新状态、 还是根本不出现,公告与说明文件都没有交代。

可以确定的是另一件事:官方那份〈What do errors mean when sending webhooks?〉列了 10 类错误,全部是接收端、网络或 URL 的问题 (3xx/4xx/5xx、逾时、URL 不合法、TLS、连线被拒、私有 IP、未知错误),没有任何一类对应「被排程静音」。 由「根本没送出」推导,被静音就不会产生送出错误—— 这句是推论,不是官方写出来的原文。

真正的地雷是 sticky settings:你没设,它自己套上来

如果通知排程只在你主动设置时生效,这篇文章就不必写。 问题出在同一则公告的下半段——官方同时上了一个叫 sticky settings(官方简中版译成「固定设置」)的便利功能。

官方写了什么

公告的原文是:sticky settings 会「automatically remembers your last-used schedule and applies it by default when you create your next alert, where applicable」, 官方简中版译成「系统会自动记住您上次使用的排程, 并在创建下一个快讯时(适用情况下)预设套用该设置」。 官方同时提供三个现成选项:工作日、标准工作时间(上午 9:00 至下午 6:00)、 以及自定义排程。

这句话的来源内容
官方原文(公告)通知排程会抑制所有外部通知管道,包括 webhook。
官方原文(公告)sticky settings 会把你上次用的排程,预设套用到下一个新建的 alert。
我们的推论所以你替手动盯盘设了一次 9:00 至 18:00, 接下来新建的自动化 alert 会带着同一个排程出生,非交易时段的触发被连坐静音。

前两列逐字出自 TradingView 官方博客 2026 年 7 月 7 日的通知排程公告;第三列是把前两句串起来的推导结果(查证日期 2026 年 7 月 30 日)。

这条推论的保留在哪里

官方在 sticky settings 那句话里留了 where applicable这个保留字,而官方没有定义哪些情况算 applicable。 所以连「一定会套用」这件事都不能替官方保证—— 它可能只在同类型 alert 之间继承,也可能有其他排除条件。

不要把这条推论当成官方保证
「排程会抑制 webhook」与「sticky settings 会沿用上次的排程」这两句都是 官方写的原文。但「所以你的自动化 alert 会被连坐静音」是 由这两句推导出来的结论,TradingView 没有用任何一句话直接这样写。 请把它当作有充分佐证的推论,而不是官方白纸黑字的保证—— 实际动手前,自己去 Alert Manager 确认一次。

「仅一次」alert 有例外,但那个例外救不了自动化

公告有替一次性 alert 留一条后路:如果 Once Only 的 alert 在静音期间触发,系统不会在没有通知你的情况下把它停用; 事件会被记录,alert 保持启用,并在下次于排程时间内符合条件时才发送通知。 这是官方原文写的机制,不是我们的解读。

对手动盯盘的人来说这是好设计——你的一次性 alert 不会被白白消耗掉。 但对自动下单来说,这句话要反过来读——它把一笔信号推到了另一个时间点。

它保住的是 alert,不是那笔交易
「下次符合条件时才发送」意味着信号会延到另一根 K 线、 另一个价格才出现。对一个看突破或看均线交叉进场的策略, 那已经不是同一笔交易了。这个推论官方没有写—— 公告只交代了机制,没有交代它对自动下单的后果。

六个通知管道,官方只说「所有外部管道」

公告介绍功能时点名了三个管道:推送、email、webhook。 但给自动化交易者的警语用的字是 all outbound channels, 范围比那三个大——而 TradingView 说明文件里列出的通知管道其实有六个。

通知管道官方公告是否明文点名被排程抑制
Webhook URL是,公告直接写出 webhook
Email是,功能说明句有点名
App notification(手机推送)是,功能说明句有点名
Toast notification(浏览器弹窗)公告没有点名,只被涵盖在「所有外部管道」里
Sound(触发音效)公告没有点名,只被涵盖在「所有外部管道」里
Plain text(短信用的纯文本信)公告没有点名,只被涵盖在「所有外部管道」里

管道清单来源:TradingView Help Center〈Introduction to TradingView alerts〉的 How to receive alert notifications 一节;抑制范围来源:2026 年 7 月 7 日通知排程公告。官方没有定义 outbound 的范围,后三列的判定是「公告未点名」而不是「不受影响」(查证日期 2026 年 7 月 30 日)。

这张表是给你比对用的,不用背。对自动化读者真正重要的只有第一列:webhook 被官方明文点名了。 其余四个管道官方没有逐一交代,那就不要替官方补完—— 尤其 Sound 与 Toast 是在你自己的浏览器里播的, 它们算不算 outbound,官方没有写。

怎么确认你的自动化 alert 有没有被通知排程静音

公告写了一个可以直接观察的信号:有启用排程的 alert, 会在 Alert Manager 的状态旁边显示一个日历图示, 把鼠标移上去就会在提示框里看到启用的日期、时间与时区。 反过来说也成立——没有排程的 alert 不会有这个图示。

  • 打开 Alert Manager,逐一看你所有负责自动下单的 alert,状态旁边有没有日历图示。
  • 有图示的就 hover 上去,确认显示的日期与时间是不是全天候。 看到「工作日」或「上午 9:00 至下午 6:00」就是中招了。
  • 把自动化 alert 的排程改成全天候,这是官方在公告里直接给的建议。
  • 改完之后,回头确认你最近新建的每一个 alert—— sticky settings 的影响不只一个,它会一路沿用下去。

这几步是依官方公告描述的界面整理的,我们没有替这个功能做过实机操作, 实际版面与图示位置可能已经改过。另外要讲清楚一件事: 截至 2026 年 7 月 30 日查证,Help Center 的 〈Introduction to TradingView alerts〉整篇没有提到通知排程, 这个功能目前只有那则博客公告写过。

所以排程是用哪个时区当基准——图表时区、账户设置、还是交易所时区——官方没有可引用的说明。公告只说 tooltip 会显示时区, 没有说那个时区跟着谁。跨时区交易的人请以自己在 tooltip 里看到的为准。

这一层该补进哪张 webhook 排查流程图

站上那张 webhook 五层诊断流程图 写在这个功能上线之前,所以它没有收录这个成因。 更麻烦的是,被排程静音的 alert 会走进那张图第 2 层的 「没有错误信息」分支,然后被导向「问题比较可能在你的服务器或网络端」——方向刚好是错的

1
Alert Manager 里这个 alert 的状态旁边,有没有日历图示?
没有日历图示这个 alert 没有启用排程,通知排程不是你的成因,回去走原本的五层流程图。
有日历图示这个 alert 有排程。往下确认排程涵盖的时间。
2
把鼠标移到日历图示上,提示框显示的是全天候吗?
不是全天候(例如工作日或 9:00 至 18:00)成因找到了。排程时间之外的触发被静音,webhook 没有送出, 而且不会产生任何送出错误。把排程改成全天候。
是全天候排程没有挡住这个 alert。往下确认送出这一层。
3
触发记录有,但 webhook 完全没送出,且没有任何错误信息?
有错误信息那是送出失败不是被静音,两者是不同的问题。 照官方那份 10 类 webhook 错误说明对号入座。
信号有到,只是很慢那是延迟不是静音,成因与可修的范围完全不同。

这里有一个分辨的关键,值得单独讲:被静音跟送出失败长得完全不一样。送出失败会在 alert log 留下错误,被静音不会留下任何错误, 因为它从来没有尝试送出。至于信号有到但很慢,那又是第三种情况—— 站上另一篇 webhook 延迟拆解 处理的是那个。

诚实的一段:这是新功能,我们没有实单资料

我们没有替这个功能做过任何实测,这篇也不会假装有。上面每一句官方陈述都附了来源与查证日期,每一句推论都标了是推论。 我们没有实单记录可以告诉你「排程静音在真实交易里造成了多少漏单」—— 那种数字我们拿不出来,所以不写。

另外,这是 2026 年 7 月 7 日才上线的功能。 这篇整理的是那个时间点的官方说法,不是永久不变的规格—— TradingView 没有承诺行为不会改,实际动手前建议自己再去公告与 Help Center 查一次。

这篇的内容是一个快照
官方对通知排程的说明目前只存在于一则博客公告,Help Center 还没收录。 这代表细节(哪些管道算 outbound、where applicable 的范围、时区基准) 都还有变动空间。把这篇当成排查的起点,不是最终规格书。

最后补一件跟工具有关的事,也顺便自曝限制。 任何执行端——包括我们自己的——能告诉你的只有「我没有收到」。 举例来说,TVSBot 会把每一笔实际收到的信号留下记录可以逐笔回放, 但它分不出来你的信号是被排程静音、是 TradingView 没送、还是网络掉了。

那个差别只能回 TradingView 的 alert log 看。这种 上游不给你送达确认 的结构性限制是设计在 TradingView 那一端的——换掉执行端也不会消失。

常见问题

我没有动过任何排程设置,也会中吗?
官方写了 sticky settings 会把你上次使用的排程 预设套用到下一个新建的 alert。所以只要你曾经替任何一个 alert 设过排程, 后来新建的 alert 就有可能带着它出生。官方在这句话里加了where applicable,但没有定义那是什么范围—— 最快的做法是直接去 Alert Manager 看有没有日历图示。
被静音的信号后来会补送吗?
公告没有提到任何补送机制。它写的是事件会静默记录在 alert log、 alert 条件继续被监控。唯一写到「之后才送」的是Once Only 的一次性 alert——那也不是补送, 是等到下次符合条件且落在排程时间内才送。 对进场信号来说,那已经是另一个价格了。
怎么分辨是被排程静音,还是 webhook 送出失败?
看有没有错误。官方那份 webhook 错误说明列了 10 类, 全部是接收端、网络或 URL 的问题,没有一类对应被静音。送出失败会留下错误,被静音不会—— 因为它从来没有尝试送出。这句是从「根本没送出」推导的, 不是官方原文。
那我干脆完全不要用通知排程?
官方自己给的建议就是这个方向:「keep them on a 24/7 schedule」——负责自动下单的 alert 维持全天候。排程本身没有错,它是替手动盯盘设计的功能; 问题只出在同一个账户里手动与自动的 alert 混在一起, 而设置会自己沿用。
免费方案要担心这件事吗?
TradingView 当年宣布 webhook 功能时,官方写的是「Feature available to paid users only.」(此功能仅提供付费用户使用),所以免费方案本来就没有 webhook 可以被静音。 如果你在免费方案上找不到 webhook 设置,那是方案本身的限制、 跟通知排程无关——站上的五层流程图把那一层放在第 0 层。

Get started

想把今天学到的东西自动化跑起来?

TVSBot 用你自己的 API key 接 TradingView 的 webhook 到 7 家交易所,非托管、可先 dry-run、每笔信号都留记录可逐笔回放,风控设在账户层级。

免费开始