Crypto Trading Bot

Автоматическая торговля фьючерсами + AI-контент для Telegram-канала

Содержание

  1. Обзор проекта
  2. Модуль 1: Trading Engine
  3. Модуль 2: AI Content Generator
  4. Модуль 3: Subscription System
  5. Архитектура системы
  6. База данных
  7. Стек технологий
  8. Риск-менеджмент
  9. Безопасность
  10. Фазы разработки

1. Обзор проекта

Система состоит из трёх взаимосвязанных модулей, работающих как единый Telegram-бот с автоматической торговлей криптовалютными фьючерсами на бирже Bybit.

Ключевая идея

Бот читает торговые сигналы из Telegram-каналов, парсит их через AI (GPT-4o), автоматически открывает и управляет сделками на бирже Bybit, генерирует уникальный контент для публичного канала и монетизирует через подписки и реферальные ссылки.

Для кого

Владелец бота (трейдер) получает: автоматизацию торговли по сигналам, пассивный доход с публичного канала (реферальная программа Bybit + продажа подписок), полный контроль через Telegram-интерфейс.

Telegram-каналы с сигналами AI-парсер (GPT-4o) Trading Engine Bybit Futures
Результаты сделок AI Content Generator Публичный TG-канал Подписчики + рефералы

2. Модуль 1: Trading Engine

Автоматическая торговля фьючерсами на основе сигналов из Telegram-каналов. Полный цикл: чтение → парсинг → валидация → торговля → управление позицией.

2.1 Чтение сигналов (Telethon)

Telethon userbot подключается к указанным Telegram-каналам и слушает новые сообщения в реальном времени. Каждое сообщение сохраняется в raw_messages и отправляется в очередь Redis для обработки.

2.2 AI-парсинг сигналов (OpenAI GPT-4o)

Текст сообщения отправляется в OpenAI GPT-4o с промптом для извлечения торговых параметров. AI возвращает структурированный JSON.

Извлекаемые параметры:

2.3 Валидация и нормализация

2.4 Жизненный цикл сделки

pendingopeningopenpartially_closedclosederror / cancelled

2.5 Операции

ОперацияДействия на бирже
Open (новый сигнал)Risk check → Transfer SPOT→FUTURES → Set leverage → Market/Limit order → Place SL + TP orders
Update SLCancel old SL order → Place new SL order
Partial Close (TP hit)Reduce position size → Update remaining contracts
Full CloseClose position → Transfer FUTURES→SPOT → Calculate PnL
Reconciler (30 сек)Проверка реального состояния позиций на бирже, синхронизация с DB

3. Модуль 2: AI Content Generator

Автоматическая генерация уникального контента для публичного Telegram-канала на основе рыночных данных и результатов торговли.

3.1 Типы контента

ТипЧастотаОписание
Market Analysis2 раза/деньОбзор рынка, ключевые уровни, тренды
Trade ResultsПосле профитных сделокРезультаты закрытых сделок с аналитикой
News Digest1 раз/деньДайджест крипто-новостей

3.2 Pipeline

Aggregator: сбор данных (24ч) GPT-4o: генерация текста Publisher: отправка в канал

4. Модуль 3: Subscription System

Монетизация через продажу доступа к приватному каналу с торговыми сигналами и аналитикой.

Функционал

  • Платные подписки (месячные/квартальные/годовые)
  • Автоматическое управление доступом
  • Реферальная программа Bybit
  • Уведомления об истечении подписки
  • Trial-период для новых подписчиков

Монетизация

  • Подписки на доступ к сигналам
  • Реферальные комиссии от Bybit
  • Процент от торговых объёмов рефералов
  • Масштабирование через контент и аудиторию

5. Архитектура системы

┌─────────────────────────────────────────────────────────┐ │ TELEGRAM │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Signal │ │ Bot │ │ Public │ │ │ │ Channels │ │ Commands │ │ Channel │ │ │ └────┬─────┘ └────┬─────┘ └────▲─────┘ │ └───────┼──────────────┼─────────────┼────────────────────┘ │ │ │ ┌───────▼──────┐ ┌─────▼─────┐ ┌────┴──────┐ │ Telethon │ │ aiogram │ │ Publisher │ │ Listener │ │ Handlers │ │ (Telethon)│ └───────┬──────┘ └─────┬─────┘ └────▲──────┘ │ │ │ ┌───────▼──────────────▼─────────────┴────────────────────┐ │ APPLICATION LAYER │ │ ┌────────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ Signal │ │ Trading │ │ AI Content │ │ │ │ Parser │ │ Engine │ │ Generator │ │ │ │ (GPT-4o) │ │ (State │ │ (GPT-4o) │ │ │ │ │ │ Machine)│ │ │ │ │ └─────┬──────┘ └────┬─────┘ └──────┬───────────┘ │ │ │ │ │ │ │ ┌─────▼──────────────▼───────────────▼─────────┐ │ │ │ SERVICE LAYER │ │ │ │ Risk Manager │ Scheduler │ Notifications │ │ │ │ AI Client │ Reconciler│ Encryption │ │ │ └──────────────────────┬───────────────────────┘ │ └─────────────────────────┼───────────────────────────────┘ │ ┌─────────────────────────▼───────────────────────────────┐ │ DATA LAYER │ │ ┌──────────────┐ ┌────────┐ ┌───────────────┐ │ │ │ PostgreSQL │ │ Redis │ │ Bybit API │ │ │ │ (10 tables) │ │ Queue │ │ (ccxt) │ │ │ └──────────────┘ └────────┘ └───────────────┘ │ └─────────────────────────────────────────────────────────┘

6. База данных

PostgreSQL 16 с 10 таблицами. SQLAlchemy 2.0 async ORM + Alembic миграции.

ТаблицаНазначениеКлючевые поля
users Пользователи бота telegram_id, role (owner/subscriber), is_active
exchange_accounts API-ключи бирж (зашифрованные) user_id, exchange, api_key_enc, api_secret_enc, is_testnet
signal_channels Мониторируемые Telegram-каналы channel_id, title, is_active, auto_trade
raw_messages Все сообщения из каналов channel_id, message_id, text, received_at
signals Распарсенные торговые сигналы direction, pair, entry_price, stop_loss, leverage, confidence, status
trades Сделки (state machine) signal_id, account_id, status, entry_price, exit_price, pnl, pnl_pct
trade_take_profits TP-уровни для каждой сделки trade_id, level, price, close_pct, order_id, hit_at
trade_logs Аудит действий по сделке trade_id, action, details (JSONB), created_at
content_messages AI-сгенерированный контент content_type, text, published_at, channel_id
bot_settings Runtime конфигурация key (unique), value, updated_at

ER-диаграмма связей

users ──┬── exchange_accounts (1:N) │ └── trades (через exchange_accounts) signal_channels ── raw_messages (1:N) │ signals (1:1 с raw_message) │ trades (1:1 с signal) ├── trade_take_profits (1:N) └── trade_logs (1:N)

7. Стек технологий

КатегорияТехнологияВерсияНазначение
ЯзыкPython3.12Основной язык
Telegram Botaiogram3.24Бот-интерфейс (команды, кнопки)
Telegram ClientTelethon1.37+Чтение каналов, публикация контента
ORMSQLAlchemy2.0Async ORM + миграции (Alembic)
DatabasePostgreSQL16Основное хранилище
Cache/QueueRedis7Очереди, кеш, throttling
Exchange APIccxt4.xУнифицированный API бирж
AIOpenAIGPT-4oПарсинг сигналов, генерация контента
SchedulerAPScheduler3.10Периодические задачи
Admin PanelSQLAdmin + FastAPI0.20+Веб-панель управления
Encryptioncryptography (Fernet)43+Шифрование API-ключей
DockerDocker Compose2.xКонтейнеризация

8. Риск-менеджмент

Правило 1% (фиксированный риск на сделку)

На каждую сделку рискуем не более 1% от общего депозита. Это ключевое правило, обеспечивающее выживание даже при серии убыточных сделок.

risk_amount = total_balance * 0.01  (1%)
sl_distance_pct = |entry_price - stop_loss| / entry_price
position_value = risk_amount / sl_distance_pct
contracts = position_value / entry_price
ПараметрЛимитОписание
Риск на сделку1% депозитаМаксимальный убыток при срабатывании SL
Max открытых сделок10Ограничение количества одновременных позиций
Max экспозиция30% депозитаСуммарный размер всех открытых позиций
Margin modeIsolatedКаждая позиция изолирована (не Cross)
Max leverage20xПотолок плеча (даже если сигнал рекомендует больше)
Min confidence0.7Минимальная уверенность AI для автоторговли

9. Безопасность

Шифрование

  • API-ключи бирж шифруются Fernet (AES-128-CBC)
  • Ключ шифрования в переменной окружения
  • Расшифровка только в момент использования
  • Ключи никогда не логируются

Доступ

  • Только owner может торговать и настраивать
  • Non-root Docker containers
  • Rate limiting (Redis-based throttling)
  • SQL injection prevention (SQLAlchemy ORM)

API-ключи биржи

  • Только Futures торговля (без вывода средств)
  • IP whitelist на стороне биржи
  • Отдельный субаккаунт для бота

Инфраструктура

  • PostgreSQL без внешнего доступа
  • Redis без внешнего доступа
  • HTTPS (Let's Encrypt)
  • Security headers в admin panel

10. Фазы разработки

ФазаЧто делаемРезультат
1 Скаффолдинг + DB + Config + Docker Рабочий Docker-стек, бот отвечает на /start
2 Exchange abstraction + Bybit adapter /balance работает, переводы SPOT↔FUTURES
3 Telethon + Signal parser + AI Читает каналы, парсит сигналы, сохраняет в DB
4 Trading engine + Risk manager Автоматическое открытие/закрытие сделок
5 Content generator + Publisher AI-контент в канале с реферальными ссылками
6 Admin panel + Hardening + Deploy Веб-панель, тесты, деплой на VPS

Crypto Trading Bot — Project Specification v1.0