Вебхуки (TradingView → бот)¶
Вебхуки позволяют отправлять оповещения TradingView во внешние сервисы, ботам или в собственные API, чтобы что-то автоматизировать. В этом руководстве показано, как настроить их и использовать с индикаторами Signal Pilot.
Учебная цель
Руководство описывает подключение вебхуков в учебных целях и для автоматизации. Автоматическая торговля несёт серьёзные риски. Это не финансовый совет.
📡 Что такое вебхук¶
Вебхук — это запрос HTTP POST, который TradingView сам отправляет по указанному вами адресу, как только срабатывает оповещение. Обычно это нужно, чтобы:
- Оповещать: отправлять оповещения в Discord, Telegram или Slack
- Вести журнал: сохранять оповещения в базе данных или в таблице
- Автоматизировать: запускать действия через собственные API
- Проверять: отслеживать, как часто и при каких условиях срабатывают оповещения
✅ Что нужно заранее¶
Прежде чем настраивать вебхук, обычно нужно вот что:
- TradingView Pro, Pro+ или Premium: у бесплатных аккаунтов доступа к вебхукам нет
- Адрес получателя: сервис, принимающий запросы HTTP POST, например вебхук Discord, собственный сервер или платформа автоматизации
- Индикатор Signal Pilot: настроенный и добавленный на график
- Базовое понимание JSON: пригодится, если хотите собрать сообщение сами; обязательным это не является
🔧 По шагам¶
Шаг 1. Получите адрес вебхука¶
Адрес зависит от того, куда должны приходить оповещения:
Вебхук в Discord
- В Discord откройте Настройки сервера → Интеграции → Вебхуки
- Нажмите «New Webhook»
- Задайте имя и выберите канал
- Скопируйте адрес вебхука (он выглядит так:
https://discord.com/api/webhooks/...)
📸 Снимок экрана появится позже
Окно создания вебхука в Discord
Мы добавим снимок окна создания вебхука в Discord с панелью интеграций и шагами настройки.
Бот в Telegram
- Найдите в Telegram «@BotFather»
- Отправьте
/newbotи следуйте подсказкам - Сохраните токен бота
- Используйте сервис-мост или собственный сервер, чтобы переслать вебхуки TradingView в Telegram
Собственный сервер или API
Своего получателя можно собрать на таких платформах:
- Webhook.site: для проб; принимает содержимое вебхука и показывает его
- Make.com (прежде Integromat): чтобы связать между собой несколько сервисов
- Zapier: для автоматизации цепочек действий
- Собственный сервер: Python с Flask, Node.js с Express и подобное
Шаг 2. Настройте оповещение в TradingView¶
- На графике с индикатором Signal Pilot нажмите значок Alert (будильник с плюсом)
- В окне оповещения:
- Условие: выберите свой индикатор Signal Pilot и условие, которое хотите отслеживать
- Параметры: поставьте «Once Per Bar Close», чтобы внутри свечи ничего не перерисовывалось
- Экспирация: задайте по своему усмотрению; чаще всего выбирают «Open-ended»
- Прокрутите вниз до вкладки «Notifications».
- Поставьте галочку в поле «Webhook URL».
- Вставьте туда адрес своего получателя
📸 Снимок экрана появится позже
Окно оповещений TradingView и поле Webhook URL
Мы добавим снимок окна настройки оповещений TradingView, где видно поле Webhook URL в разделе «Notifications».
Шаг 3. Соберите сообщение (по желанию)¶
В поле «Message» вы решаете, какие данные уйдут. TradingView понимает такие подстановки:
{
"indicator": "{{ticker}}",
"price": "{{close}}",
"time": "{{time}}",
"signal": "Pentarch Reversal Detected",
"timeframe": "{{interval}}"
}Самые ходовые подстановки TradingView:
{{ticker}}: название инструмента, например «BTCUSDT»{{close}}: текущая цена закрытия{{time}}: время срабатывания оповещения{{interval}}: таймфрейм, например «15» или «1D»{{exchange}}: название биржи
Шаг 4. Проверьте вебхук¶
- Когда оповещение создано, нажмите кнопку «Test» в его настройках.
- Посмотрите там, куда всё должно прийти: канал в Discord, webhook.site или что вы указали
- Убедитесь, что сообщение пришло с правильным оформлением
- Если ничего не пришло, проверьте:
- Верен ли адрес вебхука
- Есть ли у аккаунта TradingView доступ к вебхукам, то есть Pro+ или Premium
- Доступен ли получатель и не блокирует ли его брандмауэр
📸 Снимок экрана появится позже
Пробное сообщение, пришедшее в Discord
Мы добавим снимок канала в Discord с пробным сообщением от вебхука, где данные оповещения Signal Pilot оформлены как надо.
💬 Примеры оформления¶
Сообщение в оформлении Discord
{
"content": "🔔 **Signal Pilot Alert**",
"embeds": [{
"title": "Pentarch Reversal",
"description": "Reversal pattern detected on {{ticker}}",
"color": 65280,
"fields": [
{"name": "Price", "value": "{{close}}", "inline": true},
{"name": "Timeframe", "value": "{{interval}}", "inline": true},
{"name": "Time", "value": "{{time}}", "inline": false}
]
}]
}Простое текстовое сообщение
Signal Pilot: {{ticker}} - Harmonic Oscillator cross detected at {{close}} on {{interval}} timeframeСтруктурированный JSON для собственного API
{
"alert_type": "signal_pilot",
"indicator": "janus_atlas",
"symbol": "{{ticker}}",
"exchange": "{{exchange}}",
"timeframe": "{{interval}}",
"price": "{{close}}",
"timestamp": "{{time}}",
"condition": "Level Break Alert"
}🌐 Распространённые платформы¶
| Платформа | Когда применять | Насколько сложно настроить |
|---|---|---|
| Discord | Оповестить команду и вести журнал | Очень просто |
| Telegram | Оповещения на телефон | Средне: нужны бот и мост |
| Make.com | Связать несколько сервисов | Просто, схема собирается наглядно |
| Zapier | Связь более чем с 5000 приложений | Просто, схема собирается наглядно |
| Webhook.site | Пробы и отладка | Очень просто |
| Собственный сервер | Полный контроль и своя логика | Сложно: нужно программировать |
🔍 Если что-то не работает¶
- Адрес действительно указан в оповещении? → Если нет, впишите его
- Оповещение вообще срабатывает? → Если нет, сначала почините оповещение
- Пробовали на webhook.site? → Если нет, начните с этого. Не вышло — создайте новый адрес
- Оформление правильное? → Проверьте оформление, которого требует Discord или Telegram
- JSON корректный? → Прогоните его через проверку JSON, чтобы найти ошибку в синтаксисе
- У вас TradingView Pro+? → На бесплатных аккаунтах вебхуки недоступны
Быстрая проверка: Первую пробу всегда делайте на webhook.site. Если туда приходит, а в Discord или Telegram нет, дело в настройке на стороне получателя.
Вебхук не доходит
- Проверьте свой тариф TradingView: на бесплатных аккаунтах вебхуки недоступны
- Проверьте адрес: без лишних пробелов и с протоколом https://
- Проверьте получателя: через webhook.site убедитесь, что TradingView достаёт до вашего адреса
- Оповещение сработало?: загляните в журнал оповещений TradingView и убедитесь, что оно действительно сработало
В сообщении не те данные
- Запись подстановки: писать нужно
{{ticker}}а не{ticker} - Оформление JSON: если берёте структурированный вид, проверьте его на jsonlint.com
- Экранирование кавычек: ставьте
\"если внутри строки JSON нужны кавычки
Вебхуков приходит слишком много
- Частота оповещения: смените «Once Per Bar» на «Once Per Bar Close»
- Точность условия: сузьте условие, чтобы срабатывало реже
- Пауза: некоторые сервисы вебхуков ограничивают число принимаемых запросов
🔒 Безопасность¶
Что важно помнить о безопасности
- Адрес вебхука — чувствительные данные: обращайтесь с ним как с паролем и нигде не публикуйте
- Меняйте его время от времени: особенно если от него зависят важные процессы
- Проверяйте то, что приходит: если у вас собственный сервер, убеждайтесь, что запросы и правда от TradingView
- По возможности только HTTPS: получатель, принимающий незашифрованный HTTP, — это риск
📋 Пример сборки¶
Ситуация: Получать в канал Discord оповещения Pentarch о развороте
- Создан: вебхук Discord в канале #trading-alerts
- Настроен: Pentarch v1.0 на графике BTCUSDT с 15 минутами
- Оповещение поставлено: на условие «Pentarch: Reversal Detected»
- Частота: «Once Per Bar Close»
- Вставлен: адрес вебхука Discord в настройках оповещения
- Своё сообщение: во встроенном оформлении Discord, показанном выше
- Проверено: оповещение; сообщение появилось в Discord
- Оповещение работает: команда получает сигнал каждый раз, когда виден разворотный рисунок
(Пример настоящей сборки, приведён только для обучения. Это не финансовый совет. Результаты у разных людей разные.)