Обзор
Движок обработки сигналов в реальном времени MagicTradeBot спроектирован для одновременного анализа тысяч торговых символов с минимальной задержкой. Система обрабатывает более 30 различных алгоритмов сигналов на каждый символ, объединяя исторические данные свечей (kline) с живыми обновлениями тиков и определяя прибыльные торговые возможности в тот самый момент, когда они возникают.
Основная архитектура
Пайплайн многсимвольной обработки
Бот поддерживает непрерывный конвейер обработки, который:
- Загружает и кэширует исторические данные свечей для каждого отслеживаемого символа
- Стримит живые тики для обновления самой свежей свечи в реальном времени
- Параллельно выполняет более 30 алгоритмов сигналов для каждого символа
- Фильтрует сигналы в зависимости от включённых настроек
- Запускает действия (размещение ордеров или рассылку) при совпадении условий
Поток данных
Исторические Kline → Кэш-слой → Движок обработки сигналов
↓ ↑
Живой поток тиков ──────────────────────────────┘
↓
Алгоритмы сигналов (30+) → Включённые фильтры → Роутер действий
↓ ↓
Выход сигнала ┌───────────┴───────────┐
↓ ↓
Размещение ордера Рассылка
(если в volatility_ (если в volatility_
action list) action_broadcast list)
Поддерживаемые типы сигналов (30+)
Сигналы тренда и импульса
Базовые направленные сигналы
- UP — Обнаружено бычье движение
- DOWN — Обнаружено медвежье движение
Объём и ценовое действие
- PUMP — Резкий рост волатильности вверх + взрыв объёма
- CRASH — Резкий спад волатильности вниз + обвал объёма
- SPIKE_PUMP — Экстремальный скачок цены вверх (требует
enable_spike_detection = true) - SPIKE_CRASH — Экстремальный скачок цены вниз (требует
enable_spike_detection = true)
Сигналы разворота и восстановления
- RECOVERY — Быстрый отскок после значительного падения
- REVERSAL — Подтверждённый разворот тренда
- STOP_HUNT_RECOVERY — Охота за стопами с последующим восстановлением
- FISHER_STOP_HUNT_RECOVERY — Восстановление, подтверждённое Fisher Transform
- STOP_HUNT_REVERSAL — Охота за стопами с последующим разворотом
- FISHER_STOP_HUNT_REVERSAL — Разворот, подтверждённый Fisher Transform
Накопление и распределение
- ACCUMULATION — Боковик с незаметной скупкой
- FISHER_ACCUMULATION — Накопление, подтверждённое Fisher Transform
- DISTRIBUTION — Фаза распределения, предвещающая нисходящий тренд
- FISHER_DISTRIBUTION — Распределение, подтверждённое Fisher Transform
Сигналы пробоя
- BREAKOUT_UP / FISHER_BREAKOUT_UP
- BREAKOUT_DOWN / FISHER_BREAKOUT_DOWN
Поддержка и сопротивление
- SUPPORT_ABSORPTION — Поглощение цены на сильной поддержке
- RESISTANCE_ABSORPTION — Поглощение цены у сопротивления
Сигналы технических индикаторов
На основе RSI
- RSI_BUY — Перепроданность (требует
enable_oversold_signal = true) - RSI_SELL — Перекупленность (требует
enable_overbought_signal = true)
Анализ объёма
- VOLUME_SPIKE_BUY
- VOLUME_SPIKE_SELL
Импульс и скорость
- MOMENTUM_BUY, MOMENTUM_SELL
- VELOCITY_BUY, VELOCITY_SELL
ATR, Bollinger, MACD, дивергенции
- ATR_BREAKOUT_BUY / ATR_BREAKOUT_SELL
- BB_BUY / BB_SELL
- MACD_BUY / MACD_SELL
- DIVERGENCE_BUY / DIVERGENCE_SELL
Продвинутые мультифакторные сигналы
- COMBINED_BUY / COMBINED_SELL
- MTF_BUY / MTF_SELL
- CVD_BUY / CVD_SELL
- VWAP_BUY / VWAP_SELL
- RS_BUY / RS_SELL
- REGIME_BUY / REGIME_SELL
- CHOP_BUY / CHOP_SELL
- OFI_BUY / OFI_SELL
- ICHIMOKU_BUY / ICHIMOKU_SELL
Долгосрочные сигналы Smart Money
- LONGTERM_SMART_LONG_SIGNAL
- LONGTERM_SMART_SHORT_SIGNAL
Рабочий процесс обработки сигналов
Шаг 1: Подготовка данных
- Загрузка исторических kline из кэша или API
- Проверка полноты данных (пробелы, пропущенные свечи)
- Слияние последних тиков в активную свечу
- Расчёт технических индикаторов (RSI, MACD, ATR, Bollinger и др.)
- Вычисление производных метрик (дельта объёма, скорость, импульс)
Шаг 2: Выполнение алгоритмов сигналов
Движок одновременно запускает все включённые алгоритмы. Каждый алгоритм анализирует подготовленный набор данных и выдаёт сигналы с параметрами: тип, направление, сила, временная метка, уровень уверенности.
Шаг 3: Фильтрация сигналов
Перед действием сигналы проходят несколько фильтров:
- Проверка включения — сигнал должен быть разрешён в конфиге (например,
SPIKE_CRASHтребуетenable_spike_detection) - Фильтр действий по волатильности — совпадение с
supported_volatility_actionдля автоторговли - Фильтр рассылки — совпадение с
supported_volatility_action_broadcastдля уведомлений
Шаг 4: Выполнение действий
Автоматическое размещение ордеров
ЕСЛИ signal.type В supported_volatility_action:
→ Разместить ордер по направлению сигнала
→ Применить правила риск-менеджмента
→ Залогировать детали ордера
Рассылка сигнала
ЕСЛИ signal.type В supported_volatility_action_broadcast:
→ Отформатировать данные сигнала
→ Отправить в Discord / Telegram / WhatsApp / другие каналы
Пример конфигурации
# Триггеры для автоматических ордеров
supported_volatility_action:
- "BUY"
- "SELL"
- "PUMP"
- "CRASH"
# Триггеры для рассылки (более широкий набор для уведомлений)
supported_volatility_action_broadcast:
- "BUY"
- "SELL"
- "PUMP"
- "CRASH"
- "OFI_BUY"
- "OFI_SELL"
- "VOLUME_SPIKE_BUY"
- "VOLUME_SPIKE_SELL"
- "DIVERGENCE_BUY"
- "DIVERGENCE_SELL"
Примечание: После изменения настроек сигналов пересинхронизируйте символы (удалите из symbols.json и импортируйте заново). Для мониторинга без автоторговли используйте более широкую рассылку, чем список действий.
Характеристики производительности
Дизайн нулевой задержки
- Кэширование в памяти для сокращения вызовов API
- Поток тиков обновляет только активную свечу
- Полностью параллельная обработка символов и алгоритмов
- Оптимизированные вычисления с повторным использованием промежуточных значений
Масштабируемость
- Одновременная работа с тысячами символов
- Обработка 30+ алгоритмов на символ за миллисекунды
- Поддержка нескольких таймфреймов на символ
- Горизонтальное масштабирование дополнительными узлами
Надёжность
- Отказоустойчивость — работа продолжается при сбое отдельных сигналов
- Валидация данных перед обработкой <>Graceful degradation — пропуск проблемных символов
- Детальное логирование ошибок для отладки
Варианты использования
- Высокочастотная торговля — SPIKE, PUMP, CRASH для мгновенных входов/выходов
- Следование за Smart Money — отслеживание институциональных паттернов через LONGTERM_SMART
- Мультистратегический портфель — запуск комбинаций по группам символов
- Управление рисками — только рассылка для ручного контроля
- Сканирование рынка — мониторинг сотен символов в поиске редких возможностей
Лучшие практики
- Начинайте консервативно — включайте сначала мало сигналов
- Разделяйте торговлю и мониторинг — список рассылки шире списка действий
- Обязательный бэктест — проверяйте комбинации сигналов перед реальной торговлей
- Контролируйте ресурсы — убедитесь в достаточной мощности для 30+ сигналов на символ
- Анализируйте логи — отслеживайте, какие сигналы показывают лучший результат
- Настраивайте пороги — подстраивайте чувствительность под текущие рыночные условия
Технические требования
- Стабильное WebSocket-соединение для стриминга тиков
- Достаточный объём RAM для кэша kline всех символов
- Низколатентная сеть до API бирж
- Многоядерный CPU для параллельной обработки
- Постоянное хранили
- Постоянное хранилище для истории сигналов и аналитики