Перейти к содержимому
PD
Крипто-инструменты

FogelVibeTrade — автоматическое исполнение сигналов TradingView и копи-трейдинг

Бэкенд, который превращает сигналы стратегии TradingView в реальные ордера на бирже и зеркалит их по счетам множества подписчиков почти в реальном времени — управление через Telegram и админ-дашборд.

Проблема

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

Результат

Сигналы TradingView приходят на валидируемый вебхук, ставятся в очередь, а воркер за мгновения выставляет ордера каждому подписчику на его собственных ключах — с настраиваемыми TP/DCA/SL, массовым закрытием в один клик, сигналами в Telegram и еженедельными сводками.

Технологии

PythonFastAPIPostgreSQLaiogram 3AlembicBitget / Bybit APITradingView WebhooksAsync Worker QueueGitHub Actions CI/CDVPS (systemd, Nginx/Caddy)

Обзор

FogelVibeTrade — это бэкенд автоматической торговли, который связывает стратегию TradingView с реальным исполнением на бирже и зеркалит каждый сигнал сразу по счетам множества подписчиков. Стратегия срабатывает алертом на TradingView; валидируемый вебхук его принимает; воркер мгновенно выставляет соответствующий ордер на собственных ключах каждого пользователя, ведёт take-profit / DCA / stop-loss и может закрыть всех одной командой. Вся операция мониторится и управляется через Telegram и админ-дашборд. Это сервис на Python — асинхронный FastAPI на фронте, очередь задач на PostgreSQL в середине и отдельный воркер, делающий работу с биржей и сообщениями.

Проблема

Трейдер с действительно прибыльной стратегией на TradingView упирается в стену, как только пытается её масштабировать. Исполнять сигналы руками слишком медленно — входы и выходы в крипте измеряются секундами, — а предложить стратегию подписчикам умножает проблему: один и тот же сигнал должен сработать одновременно на десятках отдельных биржевых счетов, у каждого свои API-ключи и настройки риска, а решение «закрыть всё сейчас» должно дойти до всех разом. Ни один человек не выставит и не отведёт столько ордеров в окне, которое делает стратегию рабочей. Это должно быть системой.

Решение

FogelVibeTrade разделяет задачу на приём и исполнение, чтобы сигналы не терялись, а исполнение масштабировалось. Алерты TradingView Premium шлют POST на вебхук FastAPI, который проверяет пассфразу, сохраняет сигнал в PostgreSQL и ставит задачу в очередь. Отдельный воркер разбирает очередь и для каждого подписанного пользователя выставляет ордер на его собственных биржевых ключах (Bitget), применяя настраиваемые TP / DCA / SL из переменных окружения. Команда массового закрытия из интерфейса закрывает позицию у всех сразу. Telegram — это поверхность управления и мониторинга: форматированные сообщения-сигналы, уведомления о закрытии сделок и еженедельная сводка результатов — плюс трейд-бот на aiogram 3 с командами /positions, /orders, /close. Админ-дашборд управляет пользователями (торговый баланс, биржевые ключи, Telegram chat ID, % от прибыли), показывает актуальные сделки с аватарами держащих их пользователей и хранит историю ордеров с PnL.

Возможности

  • Валидируемый вебхук TradingView — приём алертов стратегии с проверкой пассфразы в надёжную очередь
  • Раздача по множеству счетов — один сигнал выставляет ордера на собственных ключах каждого подписчика
  • Исполнение на бирже Bitget (Bybit — для рыночных данных), с настраиваемыми TP / DCA / SL
  • Массовое закрытие в один клик — выход из позиции у всех пользователей одной командой
  • Управление и алерты в Telegram — форматированные сигналы, уведомления о закрытии, еженедельные сводки и бот на aiogram (/positions, /orders, /close)
  • Админ-дашборд — пользователи, биржевые ключи, chat ID, % от прибыли, актуальные сделки и история PnL
  • RSI точный как в TradingView — RSI Уайлдера (RMA) по 15m-свечам, агрегированным в 45m, совпадающий с тем, что видит стратегия на TradingView
  • Архитектура на очереди задач — приём и исполнение разделены, поэтому сигналы не теряются под нагрузкой

Архитектура

Дизайн намеренно разделён, чтобы приём никогда не блокировал исполнение. Асинхронное приложение FastAPI + uvicorn принимает вебхуки и пишет в PostgreSQL, где лежат и сигналы, и очередь задач. Отдельный процесс-воркер разбирает задачи, ходит на биржу и шлёт сообщения в Telegram — долгую, сетевую, порой нестабильную работу держат вне пути запроса, чтобы медленный вызов биржи не задержал приём сигнала. Изменения схемы идут через миграции Alembic. В проде приложение работает на 127.0.0.1 за Nginx/Caddy, чтобы TradingView мог слать POST на чистый URL без порта, и деплоится через GitHub Actions (синтакс-чек + деплой по SSH на VPS под systemd --user), с Railway как альтернативной целью. Небольшая, но важная деталь — паритет индикатора: собственный модуль RSI Уайлдера точно воспроизводит расчёт на базе RMA и агрегацию свечей из TradingView, так что числа бэкенда совпадают с тем, что трейдер видит на графике.

Результаты

  • Сигналы стратегии исполняются автоматически на всех счетах подписчиков через мгновения после срабатывания — без ручных кликов
  • Возможность мгновенного массового закрытия — выйти из позиции у всех сразу, когда того требует стратегия
  • Работа нативно в Telegram: живые сигналы, уведомления о закрытии и еженедельные отчёты
  • Модель под комиссию — процент от прибыли по каждому пользователю настраивается в админ-дашборде
  • Воспроизводимый CI/CD-деплой на VPS и задокументированная альтернатива на управляемом хостинге

Что вынес

Решение, благодаря которому заработало всё остальное, — разделение вебхука и исполнения через надёжную очередь. TradingView срабатывает один раз и ждёт быстрый 200; реальная работа — выставить и вести ордера по множеству счетов и написать в Telegram — медленная и склонная к сбоям, поэтому её место в воркере, который может повторять попытки, ни разу не теряя сигнал. Второй урок тоньше: точно повторить математику индикатора TradingView — нетривиально. RSI Уайлдера использует сглаживание RMA, а агрегацию 15-минутных свечей в 45-минутные закрытия нужно делать аккуратно, иначе бэкенд и график тихо разойдутся — а в трейдинге тихое расхождение — это потерянная позиция. Сделать оба пункта правильно — это и есть то, что превращает умный скрипт в систему, за которую трейдер готов поставить деньги.

Услуги в этом проекте

Похожие кейсы

Нужна похожая система?

Расскажите о своей задаче — я предложу архитектуру и кратчайший путь к рабочему продукту.