Files
crypto_news/docs/01-plan/features/ict-crypto-bot.plan.md
2026-03-20 07:49:42 +09:00

11 KiB

Plan: ICT Crypto Trading Bot

Feature: ict-crypto-bot Created: 2026-03-17 Phase: Plan Level: Dynamic


1. Overview

ICT(Inner Circle Trader) Smart Money Concepts 기반의 크립토 자동매매 봇을 개발한다. 기관 트레이더의 행동 패턴을 알고리즘으로 구현하여, Order Block / Fair Value Gap / Market Structure Shift 등의 신호를 자동 탐지하고 매수/매도를 실행하는 시스템.


2. Problem Statement

문제 설명
24/7 시장 모니터링 불가 크립토 시장은 24시간 운영, 사람이 지속 감시 불가
감정적 매매 공포/탐욕에 의한 비합리적 의사결정
기관 움직임 포착 어려움 ICT 신호를 실시간 수동 분석하는 것은 비현실적
진입/청산 타이밍 밀리초 단위의 정확한 실행 필요

3. Goals & Success Criteria

3.1 Primary Goals

  1. ICT 전략 자동화: Order Block, FVG, BOS/CHOCH, Liquidity Sweep 자동 탐지
  2. 자동 매수/매도: 신호 발생 시 설정된 규칙에 따라 자동 주문 실행
  3. 리스크 관리: 포지션 사이징, Stop-Loss, Take-Profit 자동 관리
  4. 백테스트: 과거 데이터로 전략 검증 후 실전 투입

3.2 Success Criteria

지표 목표
백테스트 승률 >= 60%
리스크/리워드 비율 >= 1:2
최대 낙폭 (Max Drawdown) <= 15%
시스템 가동률 >= 99% (24/7)
주문 실행 지연 <= 500ms

4. Core Features

4.1 ICT 지표 엔진

지표 설명 활용
Order Block (OB) 기관 주문 집중 캔들 존 탐지 매수/매도 진입 포인트
Fair Value Gap (FVG) 급격한 가격 이동 후 갭 탐지 가격 회귀 매매 신호
Break of Structure (BOS) 기존 고점/저점 돌파 감지 추세 지속 확인
Change of Character (CHOCH) 시장 성격 변화 감지 추세 반전 신호
Liquidity Sweep 스탑로스 사냥 후 반전 패턴 가짜 돌파 필터링
Market Structure Shift 고점/저점 패턴 변화 매수↔매도 전환 판단

4.2 매매 실행 시스템

  • 멀티 거래소 지원: Binance, Bybit, OKX (CCXT 통합)
  • 주문 유형: Market, Limit, Stop-Limit
  • 포지션 관리: 분할 진입/청산, 트레일링 스탑
  • 실시간 데이터: WebSocket 기반 실시간 캔들/호가 수신

4.3 리스크 관리 모듈

  • 계좌 대비 포지션 사이징 (1~5% per trade)
  • 자동 Stop-Loss / Take-Profit 설정
  • 일일 최대 손실 한도 (Daily Max Loss)
  • 동시 포지션 수 제한
  • Drawdown 기반 자동 정지

4.4 백테스트 & 시뮬레이션

  • 과거 OHLCV 데이터 기반 전략 검증
  • 수수료/슬리피지 반영
  • 성과 리포트 (승률, PnL, Sharpe Ratio, Max Drawdown)
  • Paper Trading (모의 거래) 모드

4.5 모니터링 & 알림

  • 실시간 대시보드 (포지션, PnL, 신호)
  • Telegram/Discord 알림 (매매 체결, 신호 발생, 에러)
  • 로그 시스템 (모든 매매 기록 저장)

5. Technical Stack

구성요소 기술 선택 이유
언어 Python 3.11+ 풍부한 금융 라이브러리 생태계
ICT 지표 smart-money-concepts (pip) ICT 전략 구현 검증된 오픈소스
거래소 API CCXT / CCXT Pro 100+ 거래소 통합, WebSocket 지원
데이터 처리 Pandas, NumPy 시계열 데이터 분석
백테스트 Freqtrade / Backtrader 내장 백테스트 + 라이브 트레이딩
스케줄링 APScheduler 주기적 분석 실행
DB SQLite → PostgreSQL 매매 기록, 성과 데이터 저장
알림 python-telegram-bot 실시간 매매 알림
모니터링 Streamlit 빠른 대시보드 구축

6. Architecture Overview

┌─────────────────────────────────────────────────────────┐
│                    ICT Crypto Bot                        │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌──────────┐   ┌──────────────┐   ┌────────────────┐  │
│  │ Data Feed │──▶│ ICT Indicator│──▶│ Signal Engine  │  │
│  │ (CCXT Pro)│   │   Engine     │   │ (Buy/Sell)     │  │
│  └──────────┘   └──────────────┘   └───────┬────────┘  │
│                                             │           │
│  ┌──────────┐   ┌──────────────┐   ┌───────▼────────┐  │
│  │ Risk Mgmt│◀──│ Position Mgr │◀──│ Order Executor │  │
│  │  Module  │──▶│              │──▶│ (CCXT)         │  │
│  └──────────┘   └──────────────┘   └────────────────┘  │
│                                                         │
│  ┌──────────┐   ┌──────────────┐   ┌────────────────┐  │
│  │ Backtest │   │  Dashboard   │   │  Notification  │  │
│  │  Engine  │   │ (Streamlit)  │   │  (Telegram)    │  │
│  └──────────┘   └──────────────┘   └────────────────┘  │
│                                                         │
│  ┌──────────────────────────────────────────────────┐   │
│  │              Database (SQLite/PostgreSQL)         │   │
│  └──────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────┘

7. Trading Strategy Detail

7.1 Entry Rules (매수 진입 조건)

Bullish Entry (롱):

  1. Market Structure: Higher Highs & Higher Lows 확인
  2. Liquidity Sweep: 이전 저점 스윕 후 반등
  3. Order Block: Bullish OB 존에 가격 진입
  4. FVG: Bullish FVG에서 가격 회귀
  5. BOS: 상방 구조 돌파 확인
  6. 3개 이상 조건 충족 시 매수 신호 발생

Bearish Entry (숏):

  1. Market Structure: Lower Highs & Lower Lows 확인
  2. Liquidity Sweep: 이전 고점 스윕 후 하락
  3. Order Block: Bearish OB 존에 가격 진입
  4. FVG: Bearish FVG에서 가격 회귀
  5. CHOCH: 하방 성격 변화 확인
  6. 3개 이상 조건 충족 시 매도 신호 발생

7.2 Exit Rules (청산 조건)

조건 설명
Take-Profit 반대편 OB 또는 FVG 도달
Stop-Loss OB 너머 또는 최근 스윙 고/저점
Trailing Stop 수익 구간 진입 후 동적 추적
Time Exit 일정 시간 경과 후 무반응 시 청산
CHOCH Exit 보유 방향 반대로 CHOCH 발생 시 즉시 청산

7.3 Timeframe Strategy

Timeframe 용도
4H / 1D 전체 시장 방향 (HTF Bias)
1H 구조 분석 + OB/FVG 탐지
15M / 5M 정밀 진입 타이밍

8. Target Markets

Phase 1 (MVP)

  • BTC/USDT - 유동성 최고, 가장 안정적
  • ETH/USDT - 두 번째 유동성

Phase 2 (확장)

  • SOL/USDT, BNB/USDT
  • 주요 알트코인 (시총 Top 20)

Phase 3 (고급)

  • 밈코인 스나이핑 (선택적)
  • 크로스 거래소 차익거래

9. Risk Assessment

리스크 영향도 대응
거래소 API 장애 높음 멀티 거래소 페일오버
급격한 변동성 높음 일일 최대 손실 한도 + 자동 정지
슬리피지 중간 Limit 주문 우선, 슬리피지 한도 설정
전략 과최적화 중간 Walk-forward 분석, Out-of-sample 검증
API Key 유출 높음 환경변수 관리, IP 화이트리스트
거래소 규제 변경 중간 멀티 거래소 지원, 규제 모니터링

10. Implementation Phases

Phase 1: Foundation (1~2주)

  • 프로젝트 구조 설정
  • CCXT 거래소 연동 (Binance)
  • OHLCV 데이터 수집 모듈
  • smart-money-concepts 통합

Phase 2: Strategy Engine (2~3주)

  • ICT 지표 엔진 구현 (OB, FVG, BOS, CHOCH, Liquidity)
  • 멀티 타임프레임 분석
  • 신호 생성 로직 (Entry/Exit Rules)
  • 백테스트 엔진 구축

Phase 3: Execution (1~2주)

  • 주문 실행 모듈 (Market/Limit/Stop)
  • 포지션 관리자
  • 리스크 관리 모듈
  • Paper Trading 모드

Phase 4: Monitoring (1주)

  • Telegram 알림 시스템
  • Streamlit 대시보드
  • 매매 기록 DB 저장
  • 성과 리포트 생성

Phase 5: Live Trading (지속)

  • 샌드박스 실전 테스트
  • 소액 실전 투입
  • 성과 모니터링 & 전략 튜닝
  • 추가 거래소/페어 확장

11. Open Source References

Repository 용도
smart-money-concepts ICT 지표 라이브러리
smc_quant SMC 기반 ETH 트레이딩 참조
Asian-Turtle-Soup-Bot ICT Turtle Soup 전략 참조
CCXT 거래소 API 통합
Freqtrade 봇 프레임워크 참조
ICT-Risk-Management 리스크 관리 참조

12. Constraints & Assumptions

Constraints

  • 초기 운영 자본: $500~$1,000 (소액 시작)
  • 거래소: Binance 우선 (API 안정성)
  • 레버리지: 최대 3x (보수적)
  • 동시 포지션: 최대 3개

Assumptions

  • ICT 전략은 크립토 시장에서도 유효하다고 가정
  • 거래소 API는 안정적으로 동작한다고 가정
  • 네트워크 지연은 500ms 이내라고 가정

13. Out of Scope (v1.0)

  • 고빈도 트레이딩 (HFT)
  • MEV / Sandwich Attack
  • DEX 온체인 트레이딩
  • 소셜 시그널 기반 매매
  • AI/ML 기반 예측 모델 (v2.0에서 검토)