AI Traders
Webhooks
В разработке

TradingView → HL в один клик

Настройте уникальный эндпоинт для своей стратегии. TradingView отправляет сигнал, AI Traders проверяет риск-гейт и исполняет ордер на Hyperliquid — всё с HMAC-подписью и журналом решений.

Webhook — это мост из вашей торговой стратегии (TradingView, собственный алгоритм) прямо в Hyperliquid. Вы отправляете сигнал (buy/sell/close), AI Traders превращает его в ордер с проверкой безопасности и исполнением через вашу сетку.

Как работают webhooks

Webhook получает HTTP POST с сигналом: пара, размер, действие (купить/продать/закрыть). Каждый webhook подписан HMAC-SHA256 — это защита от подделки и гарантия, что запрос пришёл действительно от вас или вашего инструмента. AI Traders проверяет подпись перед обработкой.

После проверки подписи сигнал проходит риск-гейт (как обычная стратегия): размер позиции, плечо, дневной лимит убытков, сумма капитала. Если webhook нарушает гейт — ордер отклоняется с пометкой в журнале решений. Это архитектурная защита от случайного лома стратегии через интеграцию.

Пример

Пример: сигнал из TradingView в ордер на BTC

Стратегия на TradingView: BTC-перп longma-crossover · Webhook URL создан в AI Traders · HMAC-ключ скопирован · лимит капитала на вебхук 500 USDC

  1. 1В TradingView: Alert Message заполнена JSON: {"action":"buy","symbol":"BTC","size":"100","limit_price":42500}
  2. 2Скользящие (EMA 9 × EMA 21) пересекаются — BTC готов к лонгу. TradingView генерирует алёрт.
  3. 3POST на эндпоинт: {"action":"buy",...} с HMAC-подписью. AI Traders проверяет подпись — OK. Размер 100 USDC в пределах лимита.
  4. 4Риск-гейт: текущее плечо 0×, +100 USDC = ~0,5× (под контролем). Дневной убыток ~0 USDC. Гейт пройден.
  5. 5Ордер BTC-перп buy 100 USDC @ limit 42500 отправлен на Hyperliquid. Журнал решений: "TradingView webhook, HMAC OK, gating pass, order 42500."
  6. 6BTC упал до 42480, ордер исполнился. Позиция открыта с базовой ценой 42480, рассчитана как обычно.

Сигнал из TradingView → ордер на Hyperliquid за <500 мс. Всё с проверками и логированием. Если бы webhook нарушил гейт (например, размер >500 USDC), отклонился бы без исполнения.

Что внутри

Уникальный эндпоинт на стратегию

Каждый webhook имеет собственный URL и HMAC-ключ. Если ключ скомпрометирован, перевыпустите его — старый аннулируется немедленно, прошлые запросы остаются в логе, но не исполняют ничего.

HMAC-SHA256 обязателен

Каждый запрос несёт подпись в заголовке. Неподписанные или с неправильной подписью отклоняются. Это предотвращает случайное исполнение от того же домена TradingView через CORS или от кого-то с адресом вашего webhook.

Риск-гейт для каждого webhook

Общий gating как у ботов: размер позиции, плечо (≤ 2× по умолчанию), дневной лимит убытков, лимит капитала. Webhook может быть отклонён даже с валидной подписью.

JSON-шаблон для TradingView

Готовая структура нагрузки: action, symbol, size (номинал USDC или % от капитала), опционально limit_price. Копируй в Alert Message TradingView — работает.

Лимит запросов на эндпоинт

По умолчанию 60 запросов в минуту. Для ручных TradingView-алёртов этого хватает. Для высокочастотных стратегий — запрос на повышение, рассмотрим кейс.

Полный журнал отклонений

Каждый отклонённый webhook (плохая подпись, нарушение гейта, лимит QPS, синтаксис JSON) логируется с причиной. Смотрите в дашборде: что сработало, что — нет и почему.

Важно

Webhook отклоняется, если нарушает риск-гейт, даже если TradingView считает сигнал правильным. Это не ошибка — это защита. Протестируйте webhook в бумажном режиме (или используйте Test webhook в дашборде с mock-сигналом), прежде чем отправлять live-сигналы. Если HMAC-ключ утёк, перевыпустите его немедленно — старый аннулируется и больше не исполнит ничего.

Как настроить за 2 минуты

01

Создайте эндпоинт webhook

В дашборде AI Traders, раздел Webhooks: кнопка «Create». Получите URL и HMAC-ключ. Скопируйте и сохраните — ключ показывается один раз.

02

Скопируйте JSON-шаблон

AI Traders предлагает готовый JSON-шаблон. Отредактируйте поля под вашу стратегию (action, symbol, size) и скопируйте целиком.

03

Вставьте в TradingView Alert Message

В Pine Script alert() или UI TradingView Alert → Create Alert → Message. Вставьте JSON с вашими параметрами. Webhook URL должен быть в сообщении или заголовке.

04

Проверьте в дашборде

Кнопка «Test webhook» отправляет тестовый сигнал. Смотрите вердикт риск-гейта и журнал решений. Если OK — webhook live; первый реальный сигнал проверьте вручную в журнале.

Вопросы про webhooks

Что делать, если HMAC-ключ утёк?+
Немедленно перевыпустите ключ в настройках эндпоинта. Старый ключ аннулируется и больше не авторизует запросы. Запросы со старой подписью останутся в логе, но исполняться не будут. Новый ключ генерируется и готов к использованию на месте.
Можно ли обойти риск-гейт через webhook?+
Нет. Риск-гейт архитектурно выше webhook: сначала проверка подписи, потом риск-гейт, потом исполнение. Если webhook нарушает гейт, он отклоняется, даже если подпись верна. Это защита по умолчанию.
Какой формат нагрузки ждёт AI Traders?+
JSON: {"action":"buy"|"sell"|"close", "symbol":"BTC"|"ETH"|..., "size":"100"|"0.5%" (номинал USDC или процент от капитала), "limit_price":42500 (опционально; без него — market order)}. AI Traders предоставляет шаблон в дашборде.
Лимит 60/мин мал для моей стратегии?+
Для ручных TradingView-алёртов 60/мин — переизбыток. Если нужна большая частота (для алгоритма, который генерирует сигналы каждые несколько секунд), напишите нам с описанием стратегии — рассмотрим повышение лимита.
Можно ли использовать webhook для сигналов не из TradingView?+
Да, webhook работает с любым HTTP-клиентом: собственный скрипт, Zapier, другие платформы. Главное — правильная JSON-структура и HMAC-подпись. Если у вас есть source code, показываем примеры на Python/Node.js в документации.
Что будет, если webhook отклонится?+
Ордер не исполнится. Причина записывается в журнал решений: неверная подпись, нарушение гейта, лимит QPS и т.д. Дашборд показывает разбор по дате/времени. Повторный webhook с теми же параметрами может пройти, если причина отклонения устранена (например, освободился дневной лимит убытков).