Webhook TradingView: как передать оповещение

Обложка статьи «Webhook TradingView: как передать оповещение»: Схема пути оповещения: окно с графиком, блок обработки сообщения и окно чата, соединённые стрелками слева направо.

Что 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 собирается в три шага:

  1. Выбрать посредника. В пример приведены платформы Zapier, Integromat и Pipedream, а программистам предложен свой серверный скрипт на Node.js или Python.
  2. В оповещении TradingView указать адрес, который выдал посредник.
  3. Настроить посредника: он переделывает входящий запрос под 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 справка не обещает, так что важные оповещения проверяйте по журналу. Оповещение сообщает о выполненном условии и не является торговой рекомендацией. Торговля связана с риском потери капитала, прошлые результаты не гарантируют будущих. Материал образовательный, это не индивидуальная инвестиционная рекомендация.

Источники

График TradingView с сигналами Buy и Sell индикатора Midas
Midas multi-индикатор for TradingViewОдин из самых продвинутых индикаторов для трейдинга
  • Сигналы без перерисовки
  • Интерактивный теханализ
  • 7 стратегий на выбор
Midas multi-индикатор for TradingViewСигнал, стоп и 3 цели - прямо на графике
  • Сигнал фиксируется по закрытию свечи
  • Стоп и 3 цели строятся автоматически
  • План сделки виден до входа