Алерт состоит из четырех частей: источника данных, условия, правила частоты и канала доставки. TradingView сохраняет эту конфигурацию на сервере и проверяет ее при поступлении новых данных. Когда условие становится истинным с учетом выбранной частоты, платформа записывает событие в журнал и отправляет уведомление.
Главная практическая деталь: алерт не читает настройки прямо с открытого графика каждый раз. Он использует серверную копию контекста, который существовал в момент создания. Поэтому изменение периода индикатора, таймфрейма или кода Pine Script не обновляет уже работающий сигнал.
Что именно сохраняет TradingView
Для простого ценового алерта достаточно тикера, уровня и оператора: пересечение, выход выше, выход ниже или вход в диапазон. Для индикатора и стратегии контекст шире.
Обычно в снимок входят:
- точный тикер вместе с префиксом биржи, например
BINANCE:BTCUSDT; - таймфрейм графика;
- версия и параметры индикатора;
- выбранный plot,
alertcondition()или вызовalert(); - частота срабатывания;
- срок жизни;
- текст сообщения и каналы доставки.
В официальном введении в алерты TradingView отдельно указывает: ценовые условия не зависят от интервала, а условия по индикаторам, стратегиям и объектам рисования зависят. Причина проста — значение индикатора на минутном и часовом графике рассчитывается по разным барам.
| Элемент | Где берется | Что будет после изменения графика |
|---|---|---|
| Цена инструмента | Поток выбранного тикера | Продолжит проверяться тот же тикер |
| Таймфрейм индикатора | График при создании | Останется прежним |
| Параметры индикатора | Снимок настроек | Останутся прежними |
| Код Pine Script | Серверная копия | Новая версия не подхватится |
| Сообщение | Поле Message | Не изменится без редактирования алерта |
Как событие проходит от цены до уведомления
Поток не заканчивается на выполнении условия. После расчета TradingView применяет правило частоты, формирует сообщение, пишет результат в Alert Log и только затем обращается к выбранным каналам. Из-за этого фраза «алерт не сработал» может описывать две разные проблемы: события нет в журнале или событие есть, но push, письмо либо webhook не дошли.
Такое разделение полезно при диагностике. Если запись есть в журнале, условие сработало. Искать ошибку в формуле индикатора уже не нужно — проверяйте разрешения браузера, мобильные уведомления, почту или ответ webhook-сервера. Подробный порядок проверки собран в статье почему алерты TradingView не срабатывают.
Чем отличаются основные типы алертов
Ценовые алерты
Это условия по серии цены: достижение уровня, пересечение, движение вверх или вниз. Они подходят для контроля ключевых уровней без Pine Script. Условие привязано к выбранному символу, но не требует расчета пользовательского индикатора.
Нужно различать «цена коснулась уровня» и «свеча закрылась за уровнем». Первое событие может появиться внутри бара и исчезнуть к закрытию. Второе требует логики по закрытому бару — встроенного условия или Pine-кода.
Технические алерты по индикаторам
TradingView может следить за plot встроенного или пользовательского индикатора, за alertcondition() и за вызовами alert(). В последнем случае автор скрипта сам определяет текст и момент вызова.
Если пользовательский индикатор перерисовывается, алерт наследует эту особенность. Сигнал на открытой свече может быть логичным в реальном времени, но отсутствовать после перезагрузки графика. Перед автоматизацией полезно проверить причины по руководству почему индикатор перерисовывается.
Алерты стратегии
Стратегия может уведомлять об исполнении моделируемых заявок и о вызовах alert(). Это не подтверждение сделки у брокера. Стратегия работает в модели исполнения TradingView, а реальная заявка живет в инфраструктуре брокера или биржи.
В справке по Strategy Alerts уточняется, что серверная копия стратегии рассчитывается независимо от графика и не отправляет уведомления по историческим ордерам. События начинаются после создания алерта.
Алерты списка наблюдения
Один watchlist alert применяет одинаковое условие к нескольким символам. Каждый символ считается отдельно, но у общего алерта есть совокупная нагрузка. Для широкого списка условие должно быть достаточно редким, иначе поток событий упрется в защитные ограничения.
Как выбрать частоту
Название частоты определяет не рыночный таймфрейм, а то, сколько событий разрешено внутри бара.
| Частота | Когда использовать | Основной риск |
|---|---|---|
| Only Once | Разовое достижение цели | После события алерт больше не следит за рынком |
| Once Per Bar | Один ранний сигнал внутри бара | Значение может измениться до закрытия |
| Once Per Bar Close | Сигнал после подтверждения свечи | Уведомление приходит позже |
| All | Каждый вызов alert() |
Дубли и автоматическая остановка при слишком частых событиях |
Для ручного наблюдения ранний сигнал внутри бара часто полезен. Для webhook-цепочки, статистики и воспроизводимого журнала чаще безопаснее закрытие бара. Это не универсальное правило: стратегия на тиковых данных может требовать более быстрой реакции, но тогда обработчик обязан удалять дубли и ограничивать частоту.
Почему изменение индикатора не обновляет алерт
Серверная копия нужна для стабильности. Если бы действующий алерт зависел от каждой случайной правки открытого графика, пользователь не мог бы восстановить условия события. Цена этой стабильности — ручное пересоздание.
После любой из следующих правок удалите старый алерт и создайте новый:
- изменили входной параметр индикатора;
- поменяли таймфрейм;
- сохранили новую версию Pine Script;
- выбрали другой источник данных;
- исправили логику
request.security(); - сменили тип свечей, если скрипт использует значения графика.
Перед удалением сохраните скриншот или короткое описание конфигурации. Так проще сравнить старый и новый результат.
Как устроено сообщение
В поле Message можно передавать обычный текст или подстановки: тикер, цену, время, интервал и значения plot. Список зависит от типа алерта. Официальная инструкция по настройке подтверждает, что специальные placeholders заменяются актуальными значениями в момент события.
Для человека достаточно читаемого сообщения:
BTCUSDT пересек уровень 65000 на интервале 15m
Для машины нужен стабильный JSON:
{
"event": "level_cross",
"symbol": "{{exchange}}:{{ticker}}",
"price": "{{close}}",
"time": "{{time}}",
"interval": "{{interval}}",
"version": 1
}
Поле version кажется лишним, пока формат не меняется. Когда появится второй обработчик или новая схема, версия позволит поддержать оба варианта без молчаливой ошибки.
Практическая настройка надежного алерта
- Откройте обычные свечи и точный тикер нужной биржи.
- Выберите таймфрейм, на котором должно считаться условие.
- Проверьте индикатор на нескольких исторических и текущих барах.
- Сформулируйте событие одним предложением: что именно должно стать истинным.
- Выберите частоту. Для подтвержденного сигнала начните с закрытия бара.
- Добавьте в сообщение тикер, интервал, время и версию формата.
- Включите два канала на время теста, например журнал и push или журнал и webhook.
- Дождитесь реального события либо создайте безопасное тестовое условие рядом с текущей ценой.
- Сверьте Alert Log с полученным уведомлением.
- После изменения скрипта пересоздайте алерт.
Что алерт не гарантирует
Алерт гарантирует попытку зафиксировать и доставить событие в рамках сервиса. Он не гарантирует цену исполнения, отсутствие проскальзывания, прием заявки брокером или бесперебойность стороннего webhook-сервера.
В торговой автоматизации между алертом и заявкой нужен отдельный контур: прием, проверка JSON, защита от повторов, контроль времени события, расчет риска, отправка через официальный API и сверка результата. Обзор платформы и ее ограничений есть в карточке TradingView, а техническая сторона доставки разобрана в материале что такое webhook TradingView.
Вывод
Алерт TradingView — не «сигнал с открытого графика», а сохраненная серверная конфигурация. Надежность начинается с точного тикера, таймфрейма и частоты, а заканчивается проверкой журнала и канала доставки. Если меняется код или настройка индикатора, старый алерт нужно пересоздать. Если уведомление участвует в торговле, его следует воспринимать как входное событие, а не как готовую заявку.
