Что webhook отправляет при срабатывании алерта?
Запрос POST на ваш адрес, а в теле запроса - сообщение оповещения. Включают отправку при создании или редактировании оповещения. В примере из документации Pine Script на вкладке Notifications окна создания оповещения выбирают пункт Webhook URL и вставляют адрес. Названия взяты из английской документации.
Условия отправки записаны в справке:
- Порты. Если в адресе указан порт, подходят только 80 и 443, запросы на другие порты отклоняются.
- Время. Если удалённый сервер обрабатывает запрос дольше трёх секунд, запрос отменяется.
- Сеть. Протокол IPv6 для webhook пока не поддерживается.
- Доступ. Отправка разрешена только при включённой двухфакторной аутентификации.
- Данные. Справка просит не класть в тело логины, пароли и другие чувствительные сведения.
Что именно сработало, решает условие оповещения: уровень цены, линия индикатора или другой торговый сигнал. Webhook передаёт сообщение этого оповещения дальше, и только. Какие индикаторы обычно ставят на график, разобрано в руководстве лучшие индикаторы TradingView.
Чем отличаются текст и JSON в сообщении?
Заголовком типа содержимого. Если сообщение оповещения - валидный JSON, запрос уходит с типом application/json, во всех остальных случаях с типом text/plain. Обычный текст при этом формат по умолчанию.
Три учебных сообщения, тикер условный:
| Сообщение оповещения | Валидный JSON? | Тип содержимого |
|---|---|---|
{"event":"level_cross","symbol":"EXAMPLE"} | да | application/json |
EXAMPLE пересёк уровень | нет, обычный текст | text/plain |
{event:level_cross} | нет, ключ и значение без двойных кавычек | text/plain |
Третья строка самая коварная. Сообщение выглядит как объект, но правилам JSON не отвечает, поэтому уйдёт как обычный текст. Документация Pine Script просит ставить ключи и строковые значения именно в двойные кавычки, не в одинарные.
Какой формат нужен, зависит от получателя. Справка TradingView напоминает, что многие приложения ждут от webhook именно JSON, и советует сначала открыть документацию сервиса, с которым вы связываете оповещение. Пример оттуда же: Slack ждёт JSON с ключом text.
Проверить сообщение можно заранее. Документация Pine Script советует отправить оповещение на свою почту, посмотреть, как выглядит текст, и вставить его в онлайн-валидатор JSON.
Как проходит оповещение из TradingView в Telegram?
Через посредника. Он получает webhook от TradingView, приводит сообщение к формату Telegram и пересылает боту. Так отвечает документация Pine Script и называет причину: отправлять оповещения в Telegram напрямую сложно из-за различий протоколов и требований к формату.
Что это за требования, видно в документации Telegram Bot API. Запрос к боту идёт по HTTPS на адрес, в который входят токен бота и имя метода. Текст отправляет метод sendMessage, в его описании есть идентификатор чата и сам текст длиной от 1 до 4096 символов. Привести сообщение оповещения к такому запросу и должен посредник.
Связка TradingView webhook и Telegram по документации Pine Script собирается в три шага:
- Выбрать посредника. В пример приведены платформы Zapier, Integromat и Pipedream, а программистам предложен свой серверный скрипт на Node.js или Python.
- В оповещении TradingView указать адрес, который выдал посредник.
- Настроить посредника: он переделывает входящий запрос под Telegram API и отправляет сообщение боту методом sendMessage.
Токен бота входит в адрес Bot API, поэтому его место - в настройках посредника. В сообщение оповещения его не кладут: токен - такие же чувствительные данные, как логины и пароли, о которых предупреждает справка TradingView.
Как отличить срабатывание от доставки?
Проверьте три отметки по очереди: сработало ли условие, принял ли запрос сервер, появилось ли сообщение у получателя. Успех одного шага не доказывает следующий. TradingView прямо пишет, что webhook иногда не доходит до адреса, и советует смотреть колонку Webhook status в журнале оповещений.
| Что видите | Какое звено проверять | Что смотреть |
|---|---|---|
| Записи в журнале оповещений нет | условие | само условие оповещения |
| Запись есть, в Webhook status ошибка | доставка запроса POST | адрес, порт, время ответа сервера |
| Ошибки нет, сообщения в Telegram нет | посредник и бот | формат сообщения, чат, токен |
По словам справки, большинство ошибок связано с принимающим сервером. Ошибки 4xx означают, что запрос отправлен, но сервер его отклонил. Среди возможных причин названы несуществующий адрес, ошибка авторизации, неверный JSON в теле и превышение числа запросов, которое допускает сервер. Ошибки 5xx - запрос корректный, но сервер не смог его обработать. Отдельно стоит таймаут: сервер не ответил за три секунды.
Третья строка таблицы - уже не зона TradingView. Запрос принят, дальше работает посредник, и причину ищут в его настройках и в ответе Telegram. Как создать само оповещение, описано в ответе как пользоваться TradingView, а параметры графика - в ответе как настроить TradingView.
Риски и ограничения. Ответ собран по справке TradingView, документации Pine Script и документации Telegram Bot API на 03.10.2026. Условия сервис может менять, поэтому порты, время ответа и доступность функции сверяйте в самой справке. Тарифы здесь не разбираются. Доставку каждого webhook справка не обещает, так что важные оповещения проверяйте по журналу. Оповещение сообщает о выполненном условии и не является торговой рекомендацией. Торговля связана с риском потери капитала, прошлые результаты не гарантируют будущих. Материал образовательный, это не индивидуальная инвестиционная рекомендация.
Источники
- How to configure webhook alerts, справка TradingView - запрос POST, тип содержимого, порты, три секунды, Webhook status, двухфакторная аутентификация.
- What do errors mean when sending webhooks, справка TradingView - ошибки 4xx, 5xx и таймаут.
- Alerts FAQ, документация Pine Script - JSON в сообщениях, отправка оповещений в Telegram через посредника.
- Telegram Bot API - запросы по HTTPS, адрес с токеном, метод sendMessage.





