Сигналы и исполнение

Сигналы TradingView для бота: webhook, повторы и исполнение

Почему доставленный webhook не подтверждает сделку: разбор повторных сигналов, задержек и ограничений позиции.

Схема проверки торгового сигнала между графиком и заявкой

Чтобы сигнал TradingView стал командой торговому боту, другая система должна принять сообщение, проверить его, сверить состояние счёта и отправить заявку. Уведомление о доставленном webhook не подтверждает сделку на бирже. До подключения определите поведение при повторных, запоздавших и противоречивых сигналах.

Это помогает разобрать знакомую ситуацию: на графике один вход, а на счёте две покупки. Сигнал, доставка сообщения и исполнение заявки — разные события. Если хранить их отдельно, расхождение можно объяснить по журналу, а сообщение с графика не получит неограниченное право увеличивать позицию.

Сначала опишите смысл сигнала

Запишите инструмент, биржу, тип рынка, таймфрейм и версию стратегии. Спотовый BTC и бессрочный контракт на BTC — разные инструменты, даже если подписи графиков похожи. Уточните, проверяется условие внутри свечи или после её закрытия. Для пересечения средних нужны значения на предыдущей и текущей свечах. Фраза «быстрая средняя выше медленной» описывает состояние, которое может сохраняться много свечей подряд.

Отдельно определите поведение позиции. Второй самостоятельный сигнал увеличивает объём, заменяет ожидающую заявку или игнорируется? Что произойдёт, если выход пришёл раньше подтверждения входа? Ответы относятся к правилам стратегии. Их нельзя оставлять на усмотрение обработчика сообщений. Начать можно с шаблона описания стратегии для AI.

Что именно отправляет TradingView

Webhook передаёт HTTP POST на адрес получателя. В документации TradingView описана повторная отправка при некоторых серверных ошибках. Поэтому получатель должен отличать повторную доставку от нового торгового решения. Наличие повторных попыток не гарантирует доставку каждого сообщения.

В спецификации сообщения нужны неизменный идентификатор события, версия правил, инструмент, действие, время события и условие устаревания. При повторной доставке идентификатор остаётся прежним; у отдельного допустимого входа появляется новый. Одной пары «инструмент плюс направление» недостаточно: такая проверка заблокирует и следующую законную покупку. Секреты биржевого API, пароли и данные для вывода средств в сообщение не включают.

Пример: повтор, лимит позиции и задержка

Рассмотрим учебную спотовую стратегию на пятиминутных свечах. Подтверждённый сигнал просит купить 0,01 BTC при максимальной общей позиции 0,02 BTC. Сообщение пришло дважды. Если это одно событие, дополнительная покупка должна остаться 0,01 BTC, а не превратиться в 0,02 BTC.

Теперь предположим, что до сигнала на счёте уже находилось 0,015 BTC. Покупка полного объёма даст 0,025 BTC и нарушит лимит. Нужно заранее выбрать: отклонить вход целиком или уменьшить его до 0,005 BTC с последующей проверкой биржевых ограничений. Оба варианта проверяемы. Молчаливое решение программы оставляет владельца с неизвестным поведением.

Наконец, сообщение может прийти позже установленного срока действия. Его отклонение иногда пропустит удачное движение, но отправка заявки применит старое решение к новому состоянию рынка. Срок определяют через требования стратегии и измеренные задержки. Универсального количества секунд для минутных и дневных сигналов нет.

Разделите приём сообщения и исполнение

Получатель может подтвердить сообщение раньше, чем биржа примет или исполнит заявку. В журнале нужны отдельные переходы: получено, отклонено, поставлено в очередь, отправлено на биржу, принято, исполнено частично, завершено. Сохраняйте биржевой идентификатор заявки, фактический объём и исходный запрос.

Если отправка завершилась таймаутом, сначала выясните, приняла ли биржа заявку. Немедленная повторная покупка способна удвоить позицию. Отказ, неизвестный статус и подтверждённая отмена требуют разных действий. После перезапуска сверяйте открытые заявки, исполнения и балансы, прежде чем разрешать новые входы. Строка «успех» полезна только тогда, когда понятно, какое именно событие она подтверждает.

Проверочный список перед подключением капитала

Проверьте ошибки в симуляторе или тестовой среде биржи, которая поддерживает нужные типы заявок:

  • Отправьте одно событие дважды и получите одно предусмотренное действие.
  • Передайте новый допустимый сигнал с теми же инструментом и направлением.
  • Передайте просроченное событие и неизвестную версию правил.
  • Перезапустите систему между отправкой заявки и подтверждением исполнения.
  • Воспроизведите частичное исполнение, недостаточный баланс и неверный объём.
  • Приостановите новые входы при существующей биржевой заявке.

Для каждого сценария запишите ожидаемую позицию и оставшиеся заявки. Сравните Paper Trading и бэктест, прежде чем считать совпадение сигналов на графике доказательством готовности исполнения.

Clerix показывает процесс подготовки правил стратегии. Работа с сигналами TradingView, опубликованный webhook-адрес и автоматический импорт произвольного Pine Script находятся в разработке. Сейчас можно вручную описать логику и изучить последовательность работы Clerix. Доступность нужного подключения уточняют отдельно.

Частые вопросы

Можно вставить в Clerix любой Pine Script?

Автоматический импорт произвольного Pine Script пока не опубликован. Сначала переведите вход, выход, расчёт объёма и момент проверки сигнала в обычное описание, затем задайте однозначные тесты.

Статус «webhook доставлен» подтверждает сделку?

Нет. Это событие доставки в одном звене цепочки. Принятие заявки биржей, исполненный объём и итоговую позицию подтверждают отдельно.

Пауза робота удаляет открытые заявки?

Такого поведения нельзя предполагать. Запрет новых входов, отмена действующих биржевых заявок и закрытие позиции — отдельные действия. Проверьте каждое до использования.

Редакция Clerix

Редакционные материалы Clerix о правилах стратегий, методах проверки и ограничениях торговых симуляций.

Посмотреть, как работает Clerix