Документы Скачать
Home / Docs / Основные характеристики и использование / Руководство по интеграции RedisMarketBridge | Архитектура мульти-бот криптотрейдинга без

Руководство по интеграции RedisMarketBridge | Архитектура мульти-бот криптотрейдинга без

MagicTradeBot v6.0 — Руководство по интеграции RedisMarketBridge

Рыночные данные в реальном времени. Ноль вызовов API на бота. Без риска ограничения частоты запросов.

Продукт MagicTradeBot v6.0 Модуль Интеграция RedisMarketBridge Уровень Бесплатный (3 биржи) · Pro (12 бирж) Поддержка discord.gg/magictradebot · support@magictradebot.com

Содержание

  1. Введение
  2. Обзор архитектуры
  3. Предварительные требования
  4. Установка и настройка
  5. Включение Redis в MagicTradeBot
  6. Запуск нескольких ботов
  7. Схема ключей Redis
  8. Шаблоны развертывания
  9. Настройка движка сигналов
  10. Устранение неполадок
  11. Обновление до Pro
  12. Краткий справочник

1. Введение

MagicTradeBot v6.0 представляет нативную интеграцию с Redis, обеспечивающую принципиально новую архитектуру для одновременного запуска нескольких ботов. Подключаясь к RedisMarketBridge как к общему уровню рыночных данных, каждый бот в вашем парке читает живые рыночные данные из Redis вместо прямых вызовов API бирж — независимо от того, сколько ботов запущено.

Почему это важно

Без Redis: 10 ботов на Binance = 10-кратное потребление лимита частоты запросов. 100 ботов = почти гарантированное ограничение.

С Redis: 1,000 ботов на Binance = тот же 1 слот лимита частоты, используемый RedisMarketBridge. Ваши боты невидимы для биржи.

RedisMarketBridge — это единственный источник истины. Все боты потребляют данные из него за микросекунды — без сетевых往返ов, без необходимости в ключах API на каждого бота.

1.1 Что такое RedisMarketBridge?

RedisMarketBridge — это самостоятельно размещаемый конвейер рыночных данных с открытым исходным кодом (MIT), который:

  • Подключается к 12 биржам одновременно, используя одного выделенного параллельного рабочего на биржу
  • Получает и нормализует рыночные данные: тикеры, свечи, ставки финансирования, движение стакана заявок, спреды между биржами
  • Обрабатывает данные через 6-фазный конвейер — от сырого тика до структурированного сигнала с управлением TTL
  • Записывает всё в Redis, используя согласованную схему ключей, читаемую на любом языке
  • Вычисляет сигналы — RSI, MACD, Полосы Боллинджера, VWAP, CVD, OFI — и сохраняет их вместе с сырыми данными

1.2 Как MagicTradeBot v6.0 Это Использует

Когда режим Redis включен в MagicTradeBot, каждый экземпляр бота меняет свою стратегию получения данных:

Режим Источник данных Redis отключен (поведение v5) Каждый бот напрямую вызывает API биржи на каждом тике Redis включен (v6.0) Все боты читают из общего экземпляра Redis, заполняемого RedisMarketBridge

Торговая логика, обработка сигналов, размещение ордеров и управление рисками не изменились. Меняется только уровень приема данных — и разница в производительности огромна.


2. Обзор архитектуры

2.1 Полный стек

API Binance   ──→  Рабочий поток RMB  ──┐
API Bybit     ──→  Рабочий поток RMB  ──┤
API Gate.io   ──→  Рабочий поток RMB  ──┤
API HTX       ──→  Рабочий поток RMB  ──┤  →  Redis  (единственный источник истины)
API KuCoin    ──→  Рабочий поток RMB  ──┤
API Kraken    ──→  Рабочий поток RMB  ──┤
… всего 12    ──→  Рабочий поток RMB  ──┘
                                             ↓
                          ┌──────────────────────────────┐
                          │  MagicTradeBot Бот 1          │
                          │  MagicTradeBot Бот 2          │  Все читают из Redis
                          │  MagicTradeBot Бот 3          │  Ноль прямых вызовов бирж
                          │  MagicTradeBot Бот N  (∞)     │
                          └──────────────────────────────┘

Все боты читают из Redis. Ни одного прямого вызова API биржи из кода бота. Биржа общается только с RedisMarketBridge.

2.2 6-фазный конвейер

RedisMarketBridge обрабатывает рыночные данные через шесть последовательных фаз, прежде чем они достигнут ваших ботов:

Фаза Название Что записывается в Redis TTL
01 Синхронизация символов Все торгуемые символы фьючерсов: размер тика, размер шага, мин. кол-во, точность цены Нет
02 Данные свечей Исторические + живые OHLCV свечи для всех символов по всем настроенным интервалам 600s
03 Тиковые данные Живая цена, объем, спрос/предложение. Три варианта: по символу, агрегат всех цен, межбиржевой 15s
04 Ставки финансирования Текущая ставка финансирования по символу и бирже. Вычислен межбиржевой разрыв. Подняты флаги аномалий 3600s
05 Движение Сглаженный процент движения цены за окна 5m/10m/20m. Агрегированный тренд рынка по бирже 90s
06 Сигналы RSI, MACD, Полосы Боллинджера, VWAP, CVD, OFI по символу и интервалу. Оценка возможности арбитража + топ-N рейтинг 300s

3. Предварительные требования

3.1 Необходимое программное обеспечение

Компонент Версия / Примечания
MagicTradeBot v6.0 или новее (требуется для режима Redis)
RedisMarketBridge v1.0+ (открытый исходный код, бесплатно) или бинарный файл Pro v1.5
Redis Рекомендуется 7.x — также поддерживаются Redis Stack или Upstash
Docker / Docker Compose Необязательно, но настоятельно рекомендуется для настройки Redis
Цепочка инструментов Rust Требуется только при сборке RedisMarketBridge из исходников

3.2 Ключи API бирж

RedisMarketBridge использует только публичные конечные точки для рыночных данных — ключи API не требуются для тикеров, свечей или ставок финансирования. Ключи API являются необязательными и нужны только для:

  • Повышенных лимитов частоты на некоторых биржах (Binance, OKX)
  • Доступа к частным данным (не используется в конвейере рыночных данных)
  • Будущих торговых функций, если они включены

⚠️ ВАЖНО — Ключи API ботов

MagicTradeBot по-прежнему требует ключи API бирж для размещения ордеров. Только прием рыночных данных выгружается в RedisMarketBridge. Ключи API ваших ботов используются исключительно для размещения, мониторинга и отмены ордеров.


4. Установка и настройка

4.1 Шаг 1 — Запуск Redis

Самый простой способ — Docker Compose. Создайте docker-compose.yml:

version: '3.8'
services:
  redis:
    image: redis:7-alpine
    container_name: rmb-redis
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data
    command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru
    restart: unless-stopped

volumes:
  redis-data:
docker compose up -d redis
# Проверка:
redis-cli ping   # → PONG

4.2 Шаг 2 — Загрузка RedisMarketBridge

Бесплатный уровень (открытый исходный код, MIT):

git clone https://github.com/magictradebot/redis-market-bridge
cd redis-market-bridge
cargo build --release
# Бинарный файл: ./target/release/redis-market-bridge

Уровень Pro (загрузка бинарного файла):

После покупки лицензии Pro на magictradebot.com загрузите предварительно собранный бинарный файл для вашей ОС. Шаг сборки не требуется. Тот же бинарный файл работает для бесплатных функций — ваш лицензионный ключ мгновенно активирует функции Pro.

4.3 Шаг 3 — Настройка RedisMarketBridge

Вся конфигурация находится в каталоге settings/:

Файл Назначение
application.yaml Режим движка, лицензионный ключ, режим отладки
connection.yaml Хост Redis, порт, пароль, настройки TLS
exchanges.yaml К каким биржам подключаться, учетные данные
market_data.yaml Интервалы свечей, частоты обновления, размеры чанков, лимиты частоты
signal_engine.yaml Включение/выключение отдельных сигналов, настройка периодов индикаторов
excluded_symbols.yaml Списки исключения символов по биржам
notifications.yaml Вебхук Discord / Telegram для оповещений о состоянии

connection.yaml — Подключение Redis

Redis:
  Host: "127.0.0.1"    # или IP вашего сервера Redis
  Port: 6379
  Password: ""          # Установите, если включена аутентификация Redis
  TLS: false
  Database: 0
  PoolSize: 20          # Увеличьте для большого количества ботов

exchanges.yaml — Конфигурация бирж

Раскомментируйте каждую биржу, которую хотите включить. Все конечные точки рыночных данных являются публичными — ключи API необязательны:

Exchanges:

  - Name: "binance"
    Credentials:
      ApiKey: ""        # Необязательно — для более высоких лимитов частоты
      ApiSecret: ""
    Proxy:
      Enabled: false

  - Name: "bybit"
    Credentials:
      ApiKey: ""
      ApiSecret: ""

  # Уровень Pro — раскомментируйте для активации:
  #- Name: "okx"
  #  Credentials:
  #    ApiKey: ""
  #    ApiSecret: ""
  #    Passphrase: ""   # ТРЕБУЕТСЯ для OKX

  #- Name: "gateio"
  #- Name: "htx"
  #- Name: "kucoin"    # Требуется кодовая фраза
  #- Name: "kraken"
  #- Name: "bingx"
  #- Name: "phemex"
  #- Name: "mexc"      # ⚠️ Внимание: перезапущена в марте 2026 — внимательно следите
  #- Name: "hyperliquid"

⚠️ Внимание к MEXC

API фьючерсов MEXC было отключено с 2022 по 2026 год и перезапущено в марте 2026 года. RedisMarketBridge будет показывать предупреждение при запуске и при каждой записи данных MEXC. Внимательно следите за данными MEXC в течение начального периода стабилизации.

application.yaml — Режим движка

Engine: "Both"   # MarketBridge | SignalBridge | Both

License:
  Key: ""         # Ваш лицензионный ключ Pro (оставьте пустым для бесплатного уровня)

General:
  DebugMode: false
  RenderDashboard: true
Режим движка Что он делает MarketBridge Только прием данных (фазы 1–5). Самая низкая загрузка CPU. Лучше всего для выделенных узлов данных. SignalBridge Только вычисление сигналов (фаза 6). Читает существующие данные Redis. Запускайте на отдельной машине. Both (по умолчанию) Полный конвейер — все 6 фаз в одном процессе. Лучше всего для развертываний на одном узле.

4.4 Шаг 4 — Запуск RedisMarketBridge

# Запуск моста:
./redis-market-bridge

# Или с Docker Compose — добавьте в docker-compose.yml:
# services:
#   rmb:
#     image: magictradebot/redis-market-bridge:latest
#     volumes:
#       - ./settings:/app/settings
#     depends_on: [redis]
#     restart: unless-stopped

Ожидаемый вывод при запуске:

[RMB] Запуск RedisMarketBridge v1.0
[RMB] Режим движка: Both
[RMB] Redis: 127.0.0.1:6379 подключен ✓
[RMB] Создание рабочего: binance
[RMB] Создание рабочего: bybit
[RMB] Создание рабочего: bitget
[Фаза 1] Синхронизация символов: BINANCE=665 BYBIT=542 BITGET=544
[Фаза 1] Синхронизация символов завершена — 1,751 символов в Redis
[Фаза 3] Потоковая передача тиковых данных — цикл 5 с
[Фаза 6] Движок сигналов активен — RSI MACD BB VWAP

5. Включение Redis в MagicTradeBot

5.1 Конфигурация Redis

Откройте конфигурацию MagicTradeBot и найдите раздел Redis (новый в v6.0):

# MagicTradeBot v6.0 — settings/connection.yaml

Redis:
  Enabled: true                    # Установите true для активации режима Redis
  Host: "127.0.0.1"               # Тот же экземпляр Redis, что и у RedisMarketBridge
  Port: 6379
  Password: ""
  TLS: false
  Database: 0
  ConnectionPool: 10               # Размер пула на экземпляр бота

  # Поведение при откате, когда Redis недоступен:
  FallbackToDirectApi: true        # Возврат к прямым вызовам API, если ключ Redis отсутствует
  FallbackWarningLog: true         # Записывать предупреждение при каждом откате
  FallbackStaleThresholdMs: 30000  # Считать данные устаревшими, если им больше 30 секунд

5.2 Что меняется при включении Redis

Тип данных Поведение в режиме Redis
Текущая цена / тикер Чтение из tick:{exchange}:{symbol} — TTL 15 с, автоматическая защита от устаревания
Данные свечей / Kline Чтение из kline:{exchange}:{symbol}:{interval} — полная история OHLCV
Ставки финансирования Чтение из funding:{exchange}:{symbol} — обновляется RMB каждый цикл
Движение рынка % Чтение из movement:{exchange}:{symbol}:{window} — предварительно вычислено
RSI / MACD / сигналы Чтение из signal:{exchange}:{symbol}:{interval} — нулевая стоимость вычислений на бота
Информация о символе (размер тика/шага) Чтение из symbol:{exchange}:{symbol} — загружается при запуске бота, без TTL
Оценка возможности арбитража Чтение из arb:signal:{symbol} или arb:signal:__top__ — топ-N предварительно ранжированы
Размещение ордеров Прямой вызов API биржи — без изменений. Боты по-прежнему размещают ордера напрямую.

Защита отката

Если ключ Redis отсутствует или истек (например, RedisMarketBridge не работает), MagicTradeBot автоматически возвращается к прямому вызову API биржи для этой конкретной точки данных. Это гарантирует, что боты никогда не остановятся из-за сбоя уровня данных. Установите FallbackToDirectApi: false, чтобы отключить (не рекомендуется в производственной среде).


6. Запуск нескольких ботов

6.1 Основное преимущество

v5 — прямой API (без Redis) v6.0 — режим Redis
10 ботов, вызовы API 10 × 10 вызовов/мин = 100 вызовов/мин 10 × 0 вызовов/мин от ботов
100 ботов Почти гарантированное ограничение Binance Нулевой риск ограничения частоты
Запуск бота Медленно — синхронизация символов из API биржи Мгновенно — данные уже в Redis
Сигналы Вычисляются на бота, за цикл Вычисляются один раз SignalBridge, читаются всеми
Добавление бота Увеличивает нагрузку на биржу Добавляет нулевую нагрузку на биржу

6.2 Одна биржа — несколько ботов

Запуск 20 различных стратегических ботов, все нацелены на USDT-бессрочные контракты Binance:

# bot-1-btc.yaml  (Long/Short BTC, 15m сигнал)
Exchange: "binance"
Symbol: "BTCUSDT"
Strategy: "momentum"
Redis:
  Enabled: true
  Host: "127.0.0.1"

# bot-2-eth.yaml  (Long/Short ETH, 30m сигнал)
Exchange: "binance"
Symbol: "ETHUSDT"
Strategy: "mean_reversion"
Redis:
  Enabled: true
  Host: "127.0.0.1"

# ... повторяйте для любого количества ботов
# Все читают из одного Redis — Binance видит ТОЛЬКО одно соединение RMB

6.3 Несколько бирж — несколько ботов

Запуск ботов на 5 различных биржах одновременно. Без Redis это потребовало бы управления 5 отдельными бюджетами лимитов частоты на всех ботов. С Redis:

# bot-binance-sol.yaml
Exchange: "binance"
Symbol: "SOLUSDT"
Redis: { Enabled: true, Host: "127.0.0.1" }

# bot-bybit-sol.yaml  (тот же символ, другая биржа — сравнение арбитража)
Exchange: "bybit"
Symbol: "SOLUSDT"
Redis: { Enabled: true, Host: "127.0.0.1" }

# bot-gateio-arb.yaml  (читает сигнал межбиржевого арбитража из Redis)
Exchange: "gateio"
Symbol: "SOLUSDT"
Strategy: "funding_arb"
Redis:
  Enabled: true
  Host: "127.0.0.1"
  UseArbSignals: true       # Читает предварительно вычисленный arb:signal:SOLUSDT из Redis

💡 Боты межбиржевого арбитража

ArbEdgeBot (модуль арбитража финансирования MagicTradeBot) получает наибольшую выгоду от Redis. Он читает предварительно вычисленные оценки межбиржевого разрыва финансирования из arb:signal:__top__ — одного ключа, содержащего топ-N возможностей, ранжированных по спреду + импульсу + весу ликвидности. Требуется ноль вызовов API.


7. Схема ключей Redis

MagicTradeBot читает данные из Redis, используя согласованную схему ключей, записываемую RedisMarketBridge.

7.1 Справочник ключей

Шаблон ключа TTL Содержимое
symbol:{exchange}:{sym} Нет Размер тика, размер шага, мин. кол-во, точность цены — загружается при запуске бота
tick:{exchange}:{sym} 15s Текущая цена, объем за 24ч, спрос, предложение, % изменения цены
tick:{exchange}:__all__ 15s Все цены в виде JSON-карты — один ключ для всех символов
tick:{exchange}:__price__ 15s Символ → только цена, минимальная нагрузка для панелей мониторинга
kline:{exchange}:{sym}:{interval} 600s Массив OHLCV свечей (до max_kline_length свечей)
funding:{exchange}:{sym} 3600s Ставка, время следующего финансирования, прогнозируемая ставка
funding:cross_exchange:spreads 3600s Топ разрывов финансирования между парами бирж
movement:{exchange}:{sym}:{win} 90s % изменения цены, направление, сглаженный импульс
movement:{exchange}:market_trend:{win} 90s Агрегированное направление рынка по всем символам
signal:{exchange}:{sym}:{interval} 300s Значения RSI, MACD, BB, VWAP, ATR, CVD, OFI
arb:signal:{sym} 120s Оценка возможности арбитража, спред, пара бирж, направление
arb:signal:__top__ 120s Предварительно ранжированные топ-N возможностей арбитража — готовы для потребления ботом

7.2 Пример проверки через Redis CLI

redis-cli

# Проверить, пишет ли мост:
> KEYS tick:binance:*
1) "tick:binance:BTCUSDT"
2) "tick:binance:ETHUSDT"
... 665 результатов

# Получить текущую цену BTC:
> GET tick:binance:BTCUSDT
{"price":67284.1,"vol24h":1842311490,"bid":67283.5,"ask":67284.7}

# Получить ставку финансирования для SOLUSDT:
> GET funding:bybit:SOLUSDT
{"rate":-0.00871,"next":1734567890000,"anomaly":true}

# Получить RSI для ETHUSDT 30m:
> GET signal:binance:ETHUSDT:30m
{"rsi":42.3,"macd":-12.4,"bb_pct":0.31,"cvd":-184200}

# Получить топ сигналов арбитража (читается ArbEdgeBot):
> GET arb:signal:__top__
{"count":66,"signals":[{"symbol":"SOLUSDT","score":8.22,...},...]}

# Проверить TTL на тиковых данных:
> TTL tick:binance:BTCUSDT
12

7.3 Чтение из Redis в коде бота

MagicTradeBot обрабатывает все чтения Redis внутренне, когда Redis.Enabled: true. Однако вы также можете читать напрямую из Redis в пользовательских скриптах или панелях мониторинга:

# Python
import redis, json

r = redis.Redis(host='127.0.0.1', port=6379)

# Получить цену
tick = json.loads(r.get('tick:binance:BTCUSDT'))
price = tick['price']

# Получить RSI
signal = json.loads(r.get('signal:binance:BTCUSDT:30m'))
rsi = signal['rsi']

# Получить лучшие возможности арбитража
top = json.loads(r.get('arb:signal:__top__'))
best = top['signals'][0]  # {'symbol': 'SOLUSDT', 'score': 8.22, 'spread': 1.42, ...}
// Rust — Интеграция ArbEdgeBot
let price = get_last_price("binance", "BTCUSDT").await?.unwrap_or(0.0);
let signals: Vec<ArbSignal> = get_top_arb_signals().await?;
let funding_rates = get_all_funding_rates("bybit").await?;
// JavaScript / Node.js
const client = createClient({ url: 'redis://127.0.0.1:6379' });
const tick = JSON.parse(await client.get('tick:binance:BTCUSDT'));
const allPrices = JSON.parse(await client.get('tick:binance:__price__'));
// → { BTCUSDT: 67284.1, ETHUSDT: 3412.0, SOLUSDT: 184.2, ... 665 символов }

8. Шаблоны развертывания

8.1 Шаблон A — Один узел (Новичок)

Всё на одной машине. Лучше всего для личного использования, тестирования или парка ботов с одной стратегией.

Машина: 1 VPS (4 CPU, 8 ГБ RAM рекомендуется)

┌─────────────────────────────────────────┐
│  RedisMarketBridge  (Engine: Both)       │  ← Параллельная синхронизация всех бирж
│  Redis 7.x                               │  ← Общее хранилище данных
│  MagicTradeBot Бот 1                     │  ← Читает Redis, размещает ордера
│  MagicTradeBot Бот 2                     │
│  MagicTradeBot Бот N                     │
└─────────────────────────────────────────┘

Когда использовать: На начальном этапе, при запуске менее 50 ботов или если простота важнее максимальной производительности.

8.2 Шаблон B — Разделенные мост и боты (Рекомендуемый)

RedisMarketBridge на узле данных, близком к серверам бирж, боты на отдельном вычислительном узле.

Узел A (Данные — VPS с низкой задержкой рядом с биржей):
  RedisMarketBridge  (Engine: MarketBridge)
  Redis 7.x

             ←→  (сеть)  ←→

Узел B (Вычисления — где удобно вашим ботам):
  MagicTradeBot Бот 1..N
  Все подключаются к Redis узла A

Рекомендуемые расположения узлов:

Биржа Идеальный регион Binance Токио / Сингапур Bybit Сингапур / Гонконг OKX Гонконг / Сингапур Kraken Франкфурт / Лондон HTX Сингапур / Токио

Когда использовать: При запуске 50+ ботов или когда задержка тиковых данных важна для вашей стратегии.

8.3 Шаблон C — Распределенный (Продвинутый)

Один узел MarketBridge на регион биржи, общий кластер Redis и выделенный вычислительный узел SignalBridge.

Узел 1 (Токио):          Узел 2 (Сингапур):       Узел 3 (Франкфурт):
  Engine: MarketBridge     Engine: MarketBridge      Engine: MarketBridge
  Exchange: binance         Exchange: bybit            Exchange: kraken, gateio

                ↓                  ↓                       ↓
          Кластер Redis  (общий, реплицируется между регионами)
                               ↓
Узел 4 (Вычисления):    SignalBridge — вычисляет RSI/MACD/CVD/OFI для всех символов
                               ↓
Узлы 5..N:           Парк ботов MagicTradeBot — читает Redis, размещает ордера

📋 Требуется лицензия Studio

Шаблон C требует лицензию Studio (79 $/мес), которая допускает до 5 одновременных экземпляров RedisMarketBridge. Каждый узел работает независимо — сбой одного узла влияет только на данные этой биржи, а не на весь парк.


9. Настройка движка сигналов

Все сигналы настраиваются в settings/signal_engine.yaml. Применяется только когда Engine: SignalBridge или Engine: Both.

9.1 Доступные сигналы

Сигнал Стоимость CPU По умолчанию Описание RSI Низкая ✅ Включен (период: 14) Индекс относительной силы — осциллятор импульса перекупленности/перепроданности MACD Низкая ✅ Включен (12/26/9) Сходимость/расхождение скользящих средних — тренд + импульс ATR Низкая ✅ Включен (период: 14) Средний истинный диапазон — измерение волатильности Полосы Боллинджера Средняя ✅ Включен (20, 2σ) Ценовая полоса, основанная на скользящем стандартном отклонении VWAP Средняя ✅ Включен Объемно-взвешенная средняя цена — институциональный эталонный уровень Анализ объема Средняя ✅ Включен (период: 20) Обнаружение всплесков объема и оценка аномалий CVD Средняя ✅ Включен (период: 10) Кумулятивная дельта объема — чистое давление покупки против продажи с течением времени OFI Высокая ✅ Включен (период: 5) Дисбаланс потока ордеров — давление спроса/предложения от изменений стакана Ценовой импульс Низкая ✅ Включен Пользовательский направленный импульс со сглаживанием Скорость цены Низкая ✅ Включен Скорость изменения импульса — ускорение / замедление Мульти-таймфрейм Очень высокая ❌ Отключен Оценка согласованности тренда между интервалами (требуется 3+ интервала) Облако Ишимоку Очень высокая ❌ Отключен Полная система Ишимоку — вычисление опережающего интервала на 52 периода

9.2 Пример конфигурации

# settings/signal_engine.yaml

rsi:
  enabled: true
  period: 14

macd:
  enabled: true
  fast_period: 12
  slow_period: 26
  signal_period: 9

atr:
  enabled: true
  period: 14

bollinger_bands:
  enabled: true
  bb_period: 20
  bb_deviation: 2.0

vwap:
  enabled: true
  std_dev_multiplier: 2.0

cumulative_volume_delta:
  enabled: true
  period: 10

order_flow_imbalance:
  enabled: true
  period: 5

# Тяжелые — отключите на машинах с низким CPU или высокочастотных узлах:
multi_timeframe_analysis:
  enabled: false
  short_term_period: 10
  medium_term_period: 30
  long_term_period: 50

ichimoku_cloud:
  enabled: false

9.3 Рекомендации по производительности

  • Машины с низким CPU / узлы с интервалом 1m: Отключите OFI, Мульти-таймфрейм, Ишимоку
  • Выделенный узел SignalBridge: Включите всё — выгрузите вычисления с узла MarketBridge
  • Минимальная конфигурация (самая быстрая): Только RSI + MACD + ATR — покрывает большинство стратегий на основе сигналов

10. Устранение неполадок

10.1 Ключи Redis пусты / Боты сообщают об устаревших данных

# Проверить, запущен ли RedisMarketBridge:
ps aux | grep redis-market-bridge

# Проверить соединение с Redis:
redis-cli ping   # → PONG

# Проверить, существуют ли ключи:
redis-cli KEYS 'tick:binance:*' | wc -l   # Должно быть 665 для Binance

# Проверить, здоров ли TTL:
redis-cli TTL 'tick:binance:BTCUSDT'   # Должно быть 1–15 (не -2 = отсутствует, не -1 = нет TTL)

Если ключи отсутствуют, проверьте журналы RMB с DebugMode: true в application.yaml, чтобы увидеть ошибки подключения к бирже.

10.2 Боты по-прежнему обращаются к API биржи несмотря на режим Redis

  1. Убедитесь, что Redis.Enabled: true в конфигурации MagicTradeBot
  2. Подтвердите, что Redis.Host и Redis.Port в MagicTradeBot соответствуют экземпляру Redis, в который пишет RMB
  3. Проверьте FallbackWarningLog: true — если вы видите предупреждения об откате, RMB работает, но отсутствует или истек конкретный ключ
  4. Подтвердите, что имена бирж точно совпадают (чувствительно к регистру: "binance" не "Binance")

10.3 Данные MEXC отсутствуют или несогласованы

⚠️ Известная проблема MEXC

API фьючерсов MEXC было отключено с 2022 по 2026 год и перезапущено в марте 2026 года. Данные могут быть ненадежными во время стабилизации. Если вы видите предупреждения [MEXC CAUTION] в журналах RMB, это ожидаемое поведение. Рассмотрите возможность отключения MEXC в exchanges.yaml, пока API не станет стабильным.

10.4 Появляются ошибки ограничения частоты несмотря на режим Redis

  • Ошибки ограничения частоты от размещения ордеров являются нормальными — боты по-прежнему размещают ордера напрямую. Только чтение данных выгружается в Redis.
  • Если вы видите ограничения частоты на чтении данных, это означает, что FallbackToDirectApi сработал многократно. Проверьте, почему RMB не записывает ожидаемые ключи.

10.5 Ошибка кодовой фразы KuCoin / Bitget / OKX

Эти биржи требуют кодовую фразу в учетных данных бота для размещения ордеров. Это требование торговли на стороне бота, не связанное с Redis или RedisMarketBridge. Установите кодовую фразу в разделе учетных данных биржи каждого бота — она отделена от учетных данных RMB exchanges.yaml (которые необязательны для публичных данных).

10.6 Мониторинг состояния

Настройте оповещения Discord или Telegram в settings/notifications.yaml:

Notifications:
  Discord:
    Enabled: true
    WebhookUrl: "https://discord.com/api/webhooks/YOUR_WEBHOOK_URL"
    AlertOn:
      - ExchangeDisconnect
      - RedisConnectionLost
      - HighLatencyWarning
      - MexcCaution

  Telegram:
    Enabled: false
    BotToken: ""
    ChatId: ""

11. Обновление до Pro

Бесплатный (3 биржи, 1,751 символ) и Pro (12 бирж, 4,081+ символ) уровни используют один и тот же бинарный файл. Обновление происходит мгновенно — без переустановки, без изменений конфигурации, кроме лицензионного ключа.

Шаги:

  1. Купите лицензию Pro на magictradebot.com
  2. Получите лицензионный ключ по электронной почте
  3. Откройте settings/license.yaml и установите:
License:
  Key: "YOUR-LICENSE-KEY-HERE"
  1. Перезапустите RedisMarketBridge
  2. Раскомментируйте дополнительные биржи в exchanges.yaml
  3. Снова перезапустите RedisMarketBridge — все 12 рабочих потока бирж будут созданы

Что активирует Pro:

  • ✅ OKX, Hyperliquid, Gate.io, KuCoin, Kraken, HTX, BingX, Phemex, MEXC
  • ✅ 12 параллельных рабочих потока бирж (каждая биржа полностью независима)
  • ✅ 4,081+ символ USDT-бессрочных контрактов
  • ✅ 66 межбиржевых арбитражных пар (против 3 на бесплатном уровне)
  • ✅ Оценка сигнала арбитража v2 (спред + финансирование + вес ликвидности)
  • ✅ Разблокированы сигналы CVD и OFI
  • ✅ Полное покрытие ставок финансирования по всем 12 биржам

12. Краткий справочник

Контрольный список запуска

Основные команды

# Запуск Redis
docker compose up -d redis

# Запуск RedisMarketBridge
./redis-market-bridge

# Проверить, идут ли данные
redis-cli KEYS 'tick:binance:*' | wc -l    # → 665 (бесплатный уровень Binance)
redis-cli GET 'tick:binance:BTCUSDT'        # → {"price":...}
redis-cli GET 'arb:signal:__top__'          # → {"count":66,"signals":[...]}

# Проверить, здоровы ли TTL (должны быть > 0)
redis-cli TTL 'tick:binance:BTCUSDT'        # → 1–15
redis-cli TTL 'signal:binance:BTCUSDT:30m'  # → 1–300

# Мониторинг вывода RMB в реальном времени
redis-cli MONITOR

# Подсчет общего количества ключей в Redis
redis-cli DBSIZE

Сводка по уровням бирж

Уровень Биржи Параллельных рабочих Символов Арбитражных пар
Бесплатный Binance, Bybit, Bitget 3 1,751 3
Pro + OKX, Hyperliquid, Gate.io, KuCoin, Kraken, HTX, BingX, Phemex, MEXC 12 4,081+ 66

Поддержка

Канал Детали Документация docs.magictradebot.com Сообщество Discord discord.gg/magictradebot — канал #redis-bridge Приоритетная поддержка Pro Discord @Priority-Support или support@magictradebot.com Сообщения об ошибках github.com/magictradebot/redis-market-bridge/issues Управление лицензиями magictradebot.com/account/license
Ready to trade? Download MagicTradeBot free and test in paper mode before going live.