문서 다운로드
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. MagicTradeBot에서 Redis 활성화
  6. 여러 봇 실행하기
  7. Redis 키 스키마
  8. 배포 패턴
  9. 신호 엔진 설정
  10. 문제 해결
  11. Pro로 업그레이드
  12. 빠른 참조

1. 소개

MagicTradeBot v6.0은 네이티브 Redis 통합을 도입하여 여러 봇을 동시에 실행하기 위한 근본적으로 새로운 아키텍처를 가능하게 합니다. RedisMarketBridge를 공유 시장 데이터 레이어로 연결함으로써, 플릿의 모든 봇은 거래소 API를 직접 호출하는 대신 Redis에서 실시간 시장 데이터를 읽습니다 — 실행 중인 봇 수에 관계없이.

중요성

Redis 없음: 바이낸스에서 봇 10개 = 요율 제한 소비 10배. 봇 100개 = 거의 확실한 스로틀링.

Redis 있음: 바이낸스에서 봇 1,000개 = RedisMarketBridge가 사용하는 동일한 1개의 요율 제한 슬롯. 봇은 거래소에 보이지 않습니다.

RedisMarketBridge는 유일한 진실 공급원입니다. 모든 봇은 마이크로초 단위로 데이터를 소비합니다 — 네트워크 왕복 없음, 봇당 API 키 필요 없음.

1.1 RedisMarketBridge란?

RedisMarketBridge는 자체 호스팅되는 오픈 소스(MIT) 시장 데이터 파이프라인으로서:

  • 전용 병렬 작업자를 사용하여 최대 12개 거래소에 동시에 연결
  • 티커, 캔들, 펀딩 비율, 주문장 움직임, 거래소 간 스프레드와 같은 시장 데이터를 가져와 정규화
  • 6단계 파이프라인을 통해 데이터 처리 — 원시 틱부터 구조화된 TTL 관리 신호까지
  • 일관된 키 스키마를 사용하여 모든 것을 Redis에 기록 (모든 언어에서 읽기 가능)
  • RSI, MACD, 볼린저 밴드, VWAP, CVD, OFI와 같은 신호를 계산하고 원시 데이터와 함께 저장

1.2 MagicTradeBot v6.0에서의 사용법

MagicTradeBot에서 Redis 모드가 활성화되면, 각 봇 인스턴스는 데이터 가져오기 전략을 변경합니다:

모드 데이터 소스
Redis 비활성화 (v5 동작) 각 봇이 모든 틱에서 직접 거래소 API 호출
Redis 활성화 (v6.0) 모든 봇이 RedisMarketBridge에 의해 채워진 공유 Redis 인스턴스에서 읽음

거래 로직, 신호 처리, 주문 배치 및 위험 관리는 변경되지 않습니다. 데이터 수집 계층만 변경되며 — 성능 차이는 극적입니다.


2. 아키텍처 개요

2.1 전체 스택

바이낸스 API   ──→  RMB 작업자 스레드  ──┐
바이비트 API    ──→  RMB 작업자 스레드  ──┤
Gate.io API    ──→  RMB 작업자 스레드  ──┤
HTX API        ──→  RMB 작업자 스레드  ──┤  →  Redis  (유일한 진실 공급원)
쿠코인 API     ──→  RMB 작업자 스레드  ──┤
크라켄 API     ──→  RMB 작업자 스레드  ──┤
… 총 12개     ──→  RMB 작업자 스레드  ──┘
                                             ↓
                          ┌──────────────────────────────┐
                          │  MagicTradeBot 봇 1           │
                          │  MagicTradeBot 봇 2           │  모두 Redis에서 읽음
                          │  MagicTradeBot 봇 3           │  직접 거래소 호출 제로
                          │  MagicTradeBot 봇 N  (∞)      │
                          └──────────────────────────────┘

모든 봇은 Redis에서 읽습니다. 봇 코드에서 직접 거래소 API 호출은 없습니다. 거래소는 RedisMarketBridge하고만 통신합니다.

2.2 6단계 파이프라인

RedisMarketBridge는 봇에 도달하기 전에 시장 데이터를 6개의 순차적 단계를 통해 처리합니다:

단계 이름 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 키는 선택 사항이며 다음 경우에만 필요합니다:

  • 일부 거래소(바이낸스, 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 등급 (바이너리 다운로드):

magictradebot.com에서 Pro 라이선스를 구매한 후, OS에 맞는 사전 빌드된 바이너리를 다운로드하세요. 빌드 단계가 필요하지 않습니다. 무료 기능에도 동일한 바이너리가 작동합니다 — 라이선스 키가 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"    # 또는 Redis 서버 IP
  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년 3월 재출시 — 신중하게 모니터링하세요
  #- Name: "hyperliquid"

⚠️ MEXC 주의사항

MEXC 선물 API는 2022-2026년 동안 오프라인 상태였다가 2026년 3월에 재출시되었습니다. 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단계] 심볼 동기화 완료 — Redis에 1,751개 심볼
[3단계] 틱 데이터 스트리밍 — 주기 5초
[6단계] 신호 엔진 활성 — RSI MACD BB VWAP

5. MagicTradeBot에서 Redis 활성화

5.1 Redis 설정

MagicTradeBot 설정을 열고 Redis 섹션(v6.0에서 새로 추가)을 찾으세요:

# MagicTradeBot v6.0 — settings/connection.yaml

Redis:
  Enabled: true                    # true로 설정하여 Redis 모드 활성화
  Host: "127.0.0.1"               # RedisMarketBridge와 동일한 Redis 인스턴스
  Port: 6379
  Password: ""
  TLS: false
  Database: 0
  ConnectionPool: 10               # 봇 인스턴스당 풀 크기

  # Redis를 사용할 수 없을 때의 폴백 동작:
  FallbackToDirectApi: true        # Redis 키가 없으면 직접 API 호출로 폴백
  FallbackWarningLog: true         # 각 폴백 시 경고 로그 기록
  FallbackStaleThresholdMs: 30000  # 30초 이상 지난 데이터는 오래된 것으로 처리

5.2 Redis 활성화 시 변경사항

데이터 유형 Redis 모드 동작
현재 가격 / 티커 tick:{exchange}:{symbol}에서 읽기 — TTL 15초, 자동 오래된 데이터 보호
캔들 데이터 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개 바이낸스 스로틀링 거의 확실 요율 제한 위험 제로 봇 시작 느림 — 거래소 API에서 심볼 동기화 즉시 — 데이터가 이미 Redis에 있음 신호 봇별, 주기별 계산 SignalBridge에서 한 번 계산, 모두가 읽음 봇 추가 거래소 부하 증가 거래소 부하 제로 추가

6.2 단일 거래소 — 여러 봇

모두 바이낸스 USDT 무기한 선물을 대상으로 하는 20개의 다양한 전략 봇 실행:

# bot-1-btc.yaml  (롱/숏 BTC, 15m 신호)
Exchange: "binance"
Symbol: "BTCUSDT"
Strategy: "momentum"
Redis:
  Enabled: true
  Host: "127.0.0.1"

# bot-2-eth.yaml  (롱/숏 ETH, 30m 신호)
Exchange: "binance"
Symbol: "ETHUSDT"
Strategy: "mean_reversion"
Redis:
  Enabled: true
  Host: "127.0.0.1"

# ... 필요한 만큼 봇 반복
# 모두 동일한 Redis에서 읽음 — 바이낸스는 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은 RedisMarketBridge가 작성한 일관된 키 스키마를 사용하여 Redis에서 데이터를 읽습니다.

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}

# ETHUSDT 30m의 RSI 가져오기:
> 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.Enabled: true일 때 모든 Redis 읽기를 내부적으로 처리합니다. 그러나 사용자 정의 스크립트나 대시보드에서 직접 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 GB 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
  모두 노드 A의 Redis에 연결

권장 노드 위치:

거래소 이상적인 지역
바이낸스 도쿄 / 싱가포르
바이비트 싱가포르 / 홍콩
OKX 홍콩 / 싱가포르
크라켄 프랑크푸르트 / 런던
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는 최대 5개의 동시 RedisMarketBridge 인스턴스를 허용하는 Studio 라이선스(월 $79)가 필요합니다. 각 노드는 독립적으로 실행됩니다 — 노드 장애는 해당 거래소의 데이터에만 영향을 미치며 전체 플릿에는 영향을 미치지 않습니다.


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 머신 / 1분 간격 노드: 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여야 함

# TTL이 정상인지 확인:
redis-cli TTL 'tick:binance:BTCUSDT'   # 1–15 사이여야 함 (-2 = 없음, -1 = TTL 없음)

키가 없는 경우, application.yaml에서 DebugMode: true로 RMB 로그를 확인하여 거래소 연결 오류를 확인하세요.

10.2 Redis 모드에도 불구하고 봇이 여전히 거래소 API를 호출함

  1. MagicTradeBot 설정에서 Redis.Enabled: true 확인
  2. MagicTradeBot의 Redis.HostRedis.Port가 RMB가 쓰는 Redis 인스턴스와 일치하는지 확인
  3. FallbackWarningLog: true 확인 — 폴백 경고가 보이면 RMB는 실행 중이지만 특정 키가 없거나 만료된 것임
  4. 거래소 이름이 정확히 일치하는지 확인 (대소문자 구분: "binance""Binance"가 아님)

10.3 MEXC 데이터가 없거나 일관성이 없음

⚠️ MEXC 알려진 문제

MEXC 선물 API는 2022-2026년 동안 오프라인 상태였다가 2026년 3월에 재출시되었습니다. 안정화 기간 동안 데이터가 신뢰하지 못할 수 있습니다. RMB 로그에 [MEXC CAUTION] 경고가 표시되면 이는 예상된 동작입니다. API가 안정적임이 입증될 때까지 exchanges.yaml에서 MEXC를 비활성화하는 것을 고려하세요.

10.4 Redis 모드에도 불구하고 요율 제한 오류가 나타남

  • 주문 배치에서의 요율 제한 오류는 정상입니다 — 봇은 여전히 직접 주문을 배치합니다. 데이터 읽기만 Redis로 오프로드됩니다.
  • 데이터 읽기에서 요율 제한이 표시되면 FallbackToDirectApi가 반복적으로 트리거되었음을 의미합니다. RMB가 예상된 키를 쓰지 않는 이유를 확인하세요.

10.5 KuCoin / Bitget / OKX 암호 오류

이 거래소들은 주문 배치를 위해 봇 자격 증명에 암호가 필요합니다. 이는 Redis나 RedisMarketBridge와 관련 없는 봇 측면의 거래 요구 사항입니다. 각 봇의 거래소 자격 증명 섹션에서 암호를 설정하세요 — 이는 RMB exchanges.yaml 자격 증명(공개 데이터용 선택 사항)과 별개입니다.

10.6 상태 모니터링

settings/notifications.yaml에서 Discord 또는 Telegram 알림을 구성하세요:

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. magictradebot.com에서 Pro 라이선스 구매
  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 (바이낸스 무료 등급)
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

거래소 등급 요약

등급 거래소 병렬 작업자 심볼 차익거래 쌍
무료 바이낸스, 바이비트, 비트겟 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.