개요
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, 볼린저, 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
장기 스마트 머니 시그널
- LONGTERM_SMART_LONG_SIGNAL
- LONGTERM_SMART_SHORT_SIGNAL
시그널 처리 워크플로
1단계: 데이터 준비
- 캐시 또는 API에서 과거 캔들 데이터 로드
- 데이터 완전성 검증 (갭, 누락된 캔들)
- 최신 틱 데이터를 현재 캔들에 병합
- 기술 지표 계산 (RSI, MACD, ATR, 볼린저 등)
- 파생 지표 계산 (볼륨 델타, 속도, 모멘텀)
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+ 알고리즘을 밀리초 단위로 처리
- 심볼별 다중 타임프레임 지원
- 추가 노드로 수평 확장 가능
신뢰성
- 개별 시그널 실패 시에도 전체 시스템 지속 운영
- 처리 전 데이터 검증
- 문제 심볼은 우아하게 건너뛰기
- 디버깅용 상세 오류 로깅
활용 사례
- 고빈도 거래 — SPIKE, PUMP, CRASH 시그널로 초고속 진입/청산
- 스마트 머니 추종 — LONGTERM_SMART 시그널로 기관 움직임 추적
- 멀티 전략 포트폴리오 — 심볼 그룹별 조합 전략 실행
- 리스크 관리 — 브로드캐스트 전용으로 수동 검토
- 시장 스캔 — 수백 개 심볼에서 희귀 기회 탐색
모범 사례
- 보수적으로 시작 — 처음엔 적은 수의 시그널만 활성화
- 거래와 모니터링 분리 — 브로드캐스트 리스트 > 액션 리스트
- 백테스팅 필수 — 실전 적용 전 시그널 조합 검증
- 리소스 모니터링 — 30+ 시그널/심볼을 위한 충분한 컴퓨팅 확보
- 로그 분석 — 어떤 시그널이 가장 좋은 성과를 내는지 추적
- 임계값 조정 — 시장 상황에 따라 민감도 튜닝
기술 요구 사항
- 안정적인 WebSocket 연결 (틱 스트리밍용)
- 모든 심볼의 kline 캐시를 위한 충분한 RAM
- 거래소 API까지 저지연 네트워크
- 병렬 처리를 위한 멀티코어 CPU
- 시그널 히스토리 및 분석을 위한 영구 저장소