Webhook отправлен, а сделки нет: как найти этап, на котором остановилась заявка
Сообщение «Webhook отправлен» не описывает всю жизнь торговой заявки. Между условием стратегии и изменением позиции есть несколько этапов, каждый со своим результатом. Поиск ошибки становится проще, если сначала определить последний подтверждённый этап.
Разделите цепочку на четыре события
- Стратегия сформировала сигнал с конкретным инструментом и объёмом.
- Источник отправил HTTP-запрос на адрес Connector.
- Connector обработал сообщение и обратился к брокеру.
- Брокер зарегистрировал поручение, после чего оно исполнилось полностью, частично либо осталось без исполнения.
Ответ сервера на втором или третьем этапе не заменяет подтверждение четвёртого. Даже правильно принятая лимитная заявка может ждать подходящей цены. Поэтому проверять только уведомление на графике недостаточно.
Если сигнал идёт из TradingView
Сначала убедитесь, что нужное оповещение активно и его сообщение соответствует ожидаемому формату. TradingView указывает, что Webhook отправляет POST-запрос, требует включённой двухфакторной аутентификации и отменяет запрос, если сервер обрабатывает его дольше трёх секунд. Актуальные требования приведены в инструкции по Webhook.
Отдельно проверьте, не осталось ли оповещение на старой версии параметров. При создании оповещения TradingView сохраняет снимок скрипта, его настроек, инструмента и интервала; последующие изменения графика не обновляют этот экземпляр автоматически. Это описано в документации Alerts.
Если сообщение дошло до Connector
Сверьте инструмент, направление, количество и цену, если она передаётся. Проверьте действующее подключение, права токена и доступность выбранного счёта. Для формата конкретного брокера используйте инструкцию InvestConnector; тикер графика и обозначение инструмента у брокера не всегда можно подставлять друг вместо друга без проверки.
Затем откройте заявки и операции в приложении брокера. Ищите не только завершённую сделку, но и активное, частично исполненное или отклонённое поручение. Если заявка лимитная, сравните её цену с доступным рынком и условиями исполнения.
Почему опасно сразу нажимать повтор
При сетевом таймауте результат может быть неизвестен: сервер мог принять запрос, а ответ не дошёл. Повтор без сверки способен создать дополнительное поручение. Сначала установите состояние первого события и сохраните время, инструмент и объём; только затем решайте вопрос о новой отправке.
Для диагностики не публикуйте токены и персональный адрес Connector. Передавайте в поддержку очищенное описание события и текст ошибки. Для системной работы используйте журнал сверки, а особенности ожидания цены разобраны в статье про лимитные заявки.