Руководство по интеграции RedisMarketBridge | Архитектура мульти-бот криптотрейдинга без
MagicTradeBot v6.0 — Руководство по интеграции RedisMarketBridge
Рыночные данные в реальном времени. Ноль вызовов API на бота. Без риска ограничения частоты запросов.
Содержание
- Введение
- Обзор архитектуры
- Предварительные требования
- Установка и настройка
- Включение Redis в MagicTradeBot
- Запуск нескольких ботов
- Схема ключей Redis
- Шаблоны развертывания
- Настройка движка сигналов
- Устранение неполадок
- Обновление до Pro
- Краткий справочник
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, каждый экземпляр бота меняет свою стратегию получения данных:
Торговая логика, обработка сигналов, размещение ордеров и управление рисками не изменились. Меняется только уровень приема данных — и разница в производительности огромна.
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 # → PONG4.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: trueMarketBridge
SignalBridge
Both (по умолчанию)
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 видит ТОЛЬКО одно соединение RMB6.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
127.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
Рекомендуемые расположения узлов:
Когда использовать: При запуске 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 Доступные сигналы
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: false9.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
- Убедитесь, что
Redis.Enabled: trueв конфигурации MagicTradeBot - Подтвердите, что
Redis.HostиRedis.Portв MagicTradeBot соответствуют экземпляру Redis, в который пишет RMB - Проверьте
FallbackWarningLog: true— если вы видите предупреждения об откате, RMB работает, но отсутствует или истек конкретный ключ - Подтвердите, что имена бирж точно совпадают (чувствительно к регистру:
"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+ символ) уровни используют один и тот же бинарный файл. Обновление происходит мгновенно — без переустановки, без изменений конфигурации, кроме лицензионного ключа.
Шаги:
- Купите лицензию Pro на magictradebot.com
- Получите лицензионный ключ по электронной почте
- Откройте
settings/license.yamlи установите:
License:
Key: "YOUR-LICENSE-KEY-HERE"- Перезапустите RedisMarketBridge
- Раскомментируйте дополнительные биржи в
exchanges.yaml - Снова перезапустите 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 |
Поддержка
#redis-bridge
@Priority-Support или support@magictradebot.com