面向严肃交易者的 Webhook 可靠性
直接在 TradingView 里填 Discord 或 Telegram Webhook 能用,直到它不能用。SignalTo 补上生产级信号流程所需的重试层、可观测性和路由能力。
- 每个策略独立端点——隔离告警并路由到不同通道。
- 可配置的指数退避自动重试——瞬态故障无需人工干预即可恢复。
- 完整事件时间线:已接收 → 已排队 → 已送达或失败,含 HTTP 状态码。
- 去重窗口防止快市中重复告警淹没你的频道。
SignalTo 如何处理你的 Webhook
- 01
TradingView 发送告警
策略触发后,TradingView 将 Webhook 载荷 POST 到你的 SignalTo 端点 URL。
- 02
SignalTo 校验并入队
解析载荷、应用去重、格式化消息,并入队投递到你配置的通道。
- 03
失败重试,全程记录
目标通道不可用时 SignalTo 自动重试,每次尝试都记录在推送仪表盘中。
TradingView Webhook 硬性要求
TradingView 对每条 Webhook URL 强制执行以下规则。违反任一条,告警会静默失败或在日志中显示错误。
| 要求 | TradingView 的规定 |
|---|---|
| 仅 HTTPS | http:// 会被拒绝,SSL 证书必须有效。 |
| 端口 80 或 443 | 带 :3000、:8080 等非标准端口的 URL 会被拒绝。 |
| 公网 IPv4 | 不支持 localhost、内网 IP 或仅 IPv6 的主机。 |
| 3 秒内响应 | 端点须在 3 秒内返回 HTTP 200,否则记为投递失败。 |
| 已开启 2FA | 仅开启双因素认证的账户才能使用 Webhook 告警。 |
JSON 告警示例
Message 字段为合法 JSON 时,TradingView 会以 application/json 发送。可用占位符传入实时行情。
{
"symbol": "{{ticker}}",
"action": "{{strategy.order.action}}",
"price": "{{close}}",
"exchange": "{{exchange}}"
}TradingView Webhook 常见问题
- 免费版 TradingView 支持 Webhook 吗?
- 不支持。Basic(免费)计划无法在告警中使用 Webhook URL,需 Essential 或更高套餐。
- 为什么有时成功有时失败?
- 多半是 3 秒超时。接收端若在返回 200 前做重活,偶发变慢就会被判失败。应先快速确认,再异步处理。
- SignalTo 会替我下单吗?
- 不会。SignalTo 只把告警通知转发到 Telegram、Discord 或飞书,不接触券商账户、不下单。
- 能直接把 Discord Webhook 填进 TradingView 吗?
- 有时可以,但 Discord 需要特定 JSON 格式,纯文本常失败。SignalTo 等中继可格式化载荷并加重试与日志。
- 该用什么 JSON 格式?
- 取决于接收端。用 SignalTo 时,含 symbol、action、price 的简单 JSON 即可,见上方示例。
- 有免费试用吗?
- 有——7 天、1 个 Webhook 端点、2 个投递通道、每月 1000 条信号,无需信用卡。