Движок обработки сигналов в реальном времени для высокоскоростной автоматизации торговли

  • Home
  • Documentation
  • Обработка сигналов в реальном времени

Обзор

Движок обработки сигналов в реальном времени 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: Подготовка данных

  1. Загрузка исторических kline из кэша или API
  2. Проверка полноты данных (пробелы, пропущенные свечи)
  3. Слияние последних тиков в активную свечу
  4. Расчёт технических индикаторов (RSI, MACD, ATR, Bollinger и др.)
  5. Вычисление производных метрик (дельта объёма, скорость, импульс)

Шаг 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
  • Мультистратегический портфель — запуск комбинаций по группам символов
  • Управление рисками — только рассылка для ручного контроля
  • Сканирование рынка — мониторинг сотен символов в поиске редких возможностей

Лучшие практики

  1. Начинайте консервативно — включайте сначала мало сигналов
  2. Разделяйте торговлю и мониторинг — список рассылки шире списка действий
  3. Обязательный бэктест — проверяйте комбинации сигналов перед реальной торговлей
  4. Контролируйте ресурсы — убедитесь в достаточной мощности для 30+ сигналов на символ
  5. Анализируйте логи — отслеживайте, какие сигналы показывают лучший результат
  6. Настраивайте пороги — подстраивайте чувствительность под текущие рыночные условия

Технические требования

  • Стабильное WebSocket-соединение для стриминга тиков
  • Достаточный объём RAM для кэша kline всех символов
  • Низколатентная сеть до API бирж
  • Многоядерный CPU для параллельной обработки
  • Постоянное хранили
  • Постоянное хранилище для истории сигналов и аналитики

📎 Related Topics