실전 매매 검증 완료 - Bitget 거래소 기반 암호화폐 선물 자동 거래 시스템
- ✅ 실시간 자동 매매: Bitget USDT-M 선물 거래
- ✅ 다중 전략 지원: Ultra Aggressive, MA Cross 등
- ✅ 실시간 차트: Lightweight Charts 기반 차트 (줌 문제 해결 완료)
- ✅ WebSocket 스트리밍: 실시간 시장 데이터 및 포지션 업데이트
- ✅ 안전한 API 키 관리: Fernet 암호화 저장
- ✅ 백테스팅: 과거 데이터 기반 전략 검증
- ✅ 모니터링: Prometheus + Grafana 대시보드
- ✅ 멀티봇 시스템: 사용자당 최대 5개 봇 동시 운용
- ✅ 다중 거래소 지원: Bitget, Binance, OKX, Bybit, Gate.io
- ✅ Trading 페이지 리디자인: Bitget 스타일 다크 테마
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ React │────▶│ FastAPI │────▶│ 5 Exchanges │
│ Frontend │ WS │ Backend │ API │ │
└─────────────┘ └──────────────┘ └─────────────┘
│
┌──────┴──────┐
│ PostgreSQL │
│ / SQLite │
└─────────────┘
Backend
- FastAPI 0.104+ (Python 3.11)
- SQLAlchemy 2.0 (async)
- 거래소: Bitget, Binance, OKX, Bybit, Gate.io (CCXT)
- AI: Gemini (Primary), DeepSeek (Fallback)
- JWT + Fernet 암호화
- WebSocket (실시간 스트리밍)
Frontend
- Next.js 14+ / React 18
- Lightweight Charts API
- TailwindCSS
- WebSocket Client
Infrastructure
- Docker + Docker Compose
- PostgreSQL (운영) / SQLite (개발)
- Redis (세션 관리)
- Nginx (리버스 프록시)
- Prometheus + Grafana (모니터링)
# 1. 저장소 클론
git clone https://github.com/yourusername/auto-dashboard.git
cd auto-dashboard
# 2. 환경 변수 설정
cp .env.example .env
# .env 파일 편집하여 실제 값 입력
# 3. 배포 실행
./deploy.sh스크립트가 다음 옵션을 제공합니다:
- 개발 환경 (SQLite, 로컬)
- Docker 운영 환경 (PostgreSQL)
- HTTPS 운영 환경 (Nginx + SSL)
개발 환경 (로컬)
# 백엔드
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
export DATABASE_URL="sqlite+aiosqlite:///./trading.db"
export ENCRYPTION_KEY="your-encryption-key"
uvicorn src.main:app --reload
# 프론트엔드 (새 터미널)
cd frontend
npm install
npm run dev접속
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
Docker Compose 운영 환경
# 환경 변수 설정
cp .env.example .env
# ENCRYPTION_KEY, JWT_SECRET 등 설정
# Docker Compose 실행
docker-compose up -d
# 로그 확인
docker-compose logs -f backend
# Health Check
curl http://localhost:8000/health포트
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- PostgreSQL: localhost:5432
- Redis: localhost:6379
auto-dashboard/
├── backend/
│ ├── src/
│ │ ├── api/ # REST API 엔드포인트
│ │ ├── services/
│ │ │ ├── bot_runner.py # 봇 실행 엔진
│ │ │ ├── ccxt_price_collector.py # 시장 데이터 수집
│ │ │ ├── bitget_rest.py # Bitget API 클라이언트
│ │ │ └── chart_data_service.py # 차트 서비스
│ │ ├── strategies/ # 트레이딩 전략
│ │ │ ├── ultra_aggressive_strategy.py
│ │ │ ├── aggressive_test_strategy.py
│ │ │ └── ma_cross_strategy.py
│ │ ├── database/ # DB 모델
│ │ └── main.py # FastAPI 앱
│ ├── scripts/
│ │ ├── migrate_sqlite_to_postgres.py # DB 마이그레이션
│ │ └── emergency_stop_all.py # 긴급 정지
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ └── TradingChart.jsx # Lightweight Charts (줌 수정 완료)
│ │ ├── pages/
│ │ └── services/
│ └── Dockerfile
├── nginx/
│ └── nginx.conf # 리버스 프록시 설정
├── monitoring/
│ ├── prometheus.yml # Prometheus 설정
│ └── grafana/ # Grafana 대시보드
├── docker-compose.yml # 메인 Docker Compose
├── docker-compose.monitoring.yml # 모니터링 스택
├── deploy.sh # 자동 배포 스크립트
└── .env.example # 환경 변수 예제
| 문서 | 설명 |
|---|---|
| ⭐ QUICK_START.md | 5분 안에 시작하기 - 가장 먼저 읽으세요! |
| HANDOVER_FINAL.md | 최종 인수인계 문서 - 전체 프로젝트 이해 |
| PROJECT_COMPLETION_SUMMARY.md | 완료된 작업 요약 |
| 문서 | 설명 |
|---|---|
| REMAINING_TASKS.md | 전체 작업 목록 및 상세 가이드 |
| ADMIN_TABLE_FORMAT.md | 관리자 대시보드 테이블 형식 |
| ADMIN_TABS_COMPLETE.md | 관리자 탭 구현 |
| 문서 | 설명 |
|---|---|
| PRODUCTION_READY_SUMMARY.md | 실전 검증 결과 및 시스템 요약 |
| DEPLOYMENT_CHECKLIST.md | 배포 체크리스트 |
| REAL_TRADING_SETUP.md | 실전 거래 설정 |
| ORDER_EXECUTION_DIAGNOSIS.md | 디버깅 가이드 |
- Bitget 거래소 통합 (CCXT)
- 실시간 시장 데이터 수집 (5초 간격)
- 트레이딩 봇 엔진
- 다중 전략 지원
- 실시간 차트 (Y축 스케일링 문제 해결)
- WebSocket 스트리밍
- 주문 실행 및 포지션 관리
- 백테스팅 시스템
- 멀티봇 시스템 (사용자당 5개 봇)
- 다중 거래소 지원 (5개 거래소)
- Trading 페이지 리디자인 (Bitget 스타일)
- FinBERT 감성 분석 통합 (선택적)
- JWT 인증
- API 키 Fernet 암호화
- HTTPS 지원 (Nginx)
- Rate Limiting
- Docker / Docker Compose
- PostgreSQL 지원
- Redis 세션 관리
- Prometheus + Grafana 모니터링
- 자동 배포 스크립트
- 긴급 정지 스크립트
- DB 마이그레이션 도구
- 실제 거래 체결 성공 (ETH SHORT 0.02 @ $3,056.37)
- Mock 데이터 완전 제거
- 차트 서비스 복구 (분리된 큐)
2025-12-03 검증 완료
거래소: Bitget Futures
심볼: ETH/USDT:USDT
포지션: SHORT
수량: 0.02 ETH (~$61)
진입가: $3,056.37
주문 ID: 1380021839811223553
실행 시간: 2025-12-03 16:59:26 KST
상태: ✅ 성공
시스템 상태
- 봇 상태: ✅ 정상 작동
- 시장 데이터: ✅ 5초마다 수신
- 전략 실행: ✅ Ultra Aggressive (90% 신뢰도)
- 차트 서비스: ✅ 실시간 업데이트
export POSTGRES_URL="postgresql+asyncpg://user:password@localhost/trading_prod"
python3 backend/scripts/migrate_sqlite_to_postgres.pydocker-compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d
# Grafana 접속
open http://localhost:3001
# ID: admin / PW: admin# 모든 봇 정지 (시뮬레이션)
python3 backend/scripts/emergency_stop_all.py --dry-run
# 실제 정지
python3 backend/scripts/emergency_stop_all.py
# 특정 사용자만 정지
python3 backend/scripts/emergency_stop_all.py --user-id 6# 개발 보조 에이전트
python -m tools.agents dev --report-dir tools/agents/reports
# CI/테스트 에이전트
python -m tools.agents ci --report-dir tools/agents/reports
# 운영 자동화 에이전트 (로그 기반)
python -m tools.agents ops --log ./backend_local.log --since 10 --health-url http://localhost:8000/health
# 안전 조치 실행 (가드레일 필요)
OPS_AGENT_EXECUTE=true OPS_AGENT_APPROVAL_TOKEN=change-me \\
python -m tools.agents ops --log ./backend_local.log --execute --execute-action validate_env --approval-token change-me# 운영 에이전트 실행 모드 가드레일 (기본 false)
OPS_AGENT_EXECUTE=false
OPS_AGENT_APPROVAL_TOKEN=change-me
# 쿠키 설정 (보안 개선 시)
COOKIE_DOMAIN=example.com
COOKIE_SAMESITE=lax
COOKIE_SECURE=true전략 로딩/실행
- 전략 로더:
backend/src/services/strategy_loader.py - 전략 구현:
backend/src/strategies/(AI/자율 전략 포함) - 기본 전략 모듈:
backend/src/services/strategies/ - 동적 전략 실행기:
backend/src/strategies/dynamic_strategy_executor.py
AI 에이전트 (매매 의사결정 보조)
- 공통 베이스/모델:
backend/src/agents/base.py,backend/src/agents/models.py - 오케스트레이터:
backend/src/agents/orchestrator/orchestrator.py - MarketRegimeAgent:
backend/src/agents/market_regime/agent.py - SignalValidatorAgent:
backend/src/agents/signal_validator/agent.py - RiskMonitorAgent:
backend/src/agents/risk_monitor/agent.py - AnomalyDetectionAgent:
backend/src/agents/anomaly_detector/agent.py - PortfolioOptimizationAgent:
backend/src/agents/portfolio_optimizer/agent.py - MLPredictorAgent:
backend/src/agents/ml_predictor/agent.py - 에이전트 API:
backend/src/api/agent_orchestration.py
ML 파이프라인
- 피처 파이프라인:
backend/src/ml/features/feature_pipeline.py - 피처 계산:
backend/src/ml/features/technical_features.py,backend/src/ml/features/structure_features.py,backend/src/ml/features/mtf_features.py - 모델 앙상블:
backend/src/ml/models/ensemble_predictor.py - 학습/라벨링/데이터 수집:
backend/src/ml/training/train_all_models.py,backend/src/ml/training/labeler.py,backend/src/ml/training/data_collector.py - 검증/백테스트/AB 테스트:
backend/src/ml/validation/backtester.py,backend/src/ml/validation/ab_tester.py - 모니터링/알림:
backend/src/ml/monitoring/metrics_collector.py,backend/src/ml/monitoring/alerter.py - 모델/데이터 저장:
backend/src/ml/saved_models/,backend/src/ml/data/
AI/LLM 서비스
- 통합 AI 서비스:
backend/src/services/ai_optimization/integrated_ai_service.py - DeepSeek 전용:
backend/src/services/deepseek_service.py - AI 전략 API:
backend/src/api/ai_strategy.py - AI 비용/최적화 API:
backend/src/api/ai_cost.py
# 에이전트 테스트 (MVP)
python -m pytest tools/tests
# CI 파이프라인 로컬 실행
python -m tools.agents ci --report-dir tools/agents/reports
# Ruff/Black 체크 (에이전트 범위)
python -m ruff check tools/agents tools/tests
python -m black --check tools/agents tools/tests- 주문(매수/매도) 실행 금지: ops_agent는 주문 실행을 직접 호출하지 않습니다.
- execute 모드 가드레일:
OPS_AGENT_EXECUTE=true+--execute옵션이 있어야만 실행 모드가 활성화됩니다. - MVP에서는 execute 모드에서도 안전 조치만 제안하며, 실제 실행은 추후 승인 플로우를 붙이도록 설계되어 있습니다.
# WebSocket 연결 확인
wscat -c ws://localhost:8000/ws/user/6?token=YOUR_TOKEN
# 시장 데이터 수신 확인
docker-compose logs backend | grep "Market data"# API 키 확인
curl http://localhost:8000/account/balance \
-H "Authorization: Bearer YOUR_TOKEN"
# 봇 상태 확인
curl http://localhost:8000/bot/status \
-H "Authorization: Bearer YOUR_TOKEN"# Docker 로그
docker-compose logs -f backend | grep ERROR
# 최근 에러
tail -100 /tmp/trading_bot.log | grep -E "(ERROR|CRITICAL)"- ✅ API 키 암호화 (Fernet)
- ✅ JWT 인증
- ✅ HTTPS 지원 (Nginx + Let's Encrypt)
- ✅ Rate Limiting
- ✅ 비루트 Docker 사용자
- IP 화이트리스트
- 2FA 인증
- 감사 로그
- 봇 일일 손실 제한
- Fail2ban
- 시장 데이터 업데이트: 5초
- 전략 실행 속도: ~5ms
- 주문 실행 시간: ~100ms
- WebSocket 지연: <50ms
- 동시 접속: 20명
현재 (SQLite):
- 동시 사용자: ~20명
- TPS: ~100
PostgreSQL 전환 시:
- 동시 사용자: ~200명
- TPS: ~1000+
- 실전 거래 모니터링
- 버그 수정
- 사용자 피드백 반영
- 다중 거래소 지원 (Binance, Bybit) - 완료 (+ OKX, Gate.io 추가)
- 고급 전략 추가
- 모바일 앱
- 소셜 트레이딩
- API 제공
- 백테스팅 엔진 개선
- AI 기반 전략
- GitHub Issues: [링크 추가]
- Discord: [링크 추가]
- Email: support@yourdomain.com
- API 문서: http://localhost:8000/docs
이 시스템은 실제 자금으로 거래합니다.
- 암호화폐 거래는 높은 리스크를 동반합니다
- 모든 투자 결정은 사용자 본인의 책임입니다
- 충분한 테스트 없이 실전 매매를 시작하지 마세요
- 손실 가능한 금액만 투자하세요
MIT License - 자유롭게 사용, 수정, 배포 가능
작성자: Claude Code 버전: 2.5.0 마지막 업데이트: 2026-01-12 상태: ✅ Production Ready + Performance Optimized
- ✅ 사용자당 최대 5개 봇 동시 운용
- ✅ 봇별 독립 수익률 추적
- ✅ 잔고 초과만 체크 (40% 한도 제거)
- ✅ Bitget, Binance, OKX, Bybit, Gate.io
- ✅ REST API + WebSocket 지원
- ✅ 거래소별 Passphrase 처리
- ✅ Bitget 스타일 다크 테마
- ✅ 실시간 차트 개선
- ✅ 포지션 관리 UI 개선
- ✅ SentimentAnalyzerAgent 구현
- ✅ ETH AI Fusion Strategy 통합
- ⏳ CryptoPanic API 연동 대기
프론트엔드 성능 최적화:
- ✅ Rate Limiting 클라이언트 구현
- ✅ 청산가 계산 고도화 (Bitget 기준)
- ✅ ErrorBoundary 추가 (12개 컴포넌트)
- ✅ React.memo 성능 최적화 (4개 컴포넌트)
- ✅ 접근성 개선 (ARIA 레이블)
백엔드 고도화:
- ✅ 리스크 설정 API
- ✅ 비밀번호 변경 API
- ✅ Signal Tracking 시스템
- ✅ Bitget API 에러 처리 개선
- ✅ Input Validation 강화
- ✅ WebSocket 관리 개선
- ✅ Redis Caching Layer
- ✅ 구조화된 Logging
자세한 내용: PROJECT_COMPLETION_SUMMARY.md 참조
- 기존 전략 전면 제거
- ETH/USDT 5m 기준 24시간 공격적 진입 + 수익 추매 + 보수적 손절
- ML 기반 신호 강화 + 기존 에이전트 파이프라인 유지
backend/src/strategies/adaptive_market_regime_fighter.pybackend/src/strategies/ai_autonomous_adaptive_strategy.pybackend/src/strategies/ai_integrated_smart_strategy.pybackend/src/strategies/autonomous_30pct_strategy.pybackend/src/strategies/dynamic_strategy_executor.pybackend/src/strategies/eth_ai_autonomous_40pct_strategy.pybackend/src/strategies/proven_conservative_strategy.pybackend/src/strategies/sol_volatility_regime_15m_strategy.pybackend/src/services/strategies/ai_strategies.pybackend/src/services/strategies/ema_strategy.pybackend/src/services/strategies/rsi_strategy.pybackend/src/services/strategies/simple_open_close.py
backend/src/strategies/eth_ai_fusion_strategy.py(메인 전략)backend/src/services/strategies/eth_ai_fusion.py(백테스트용 전략)backend/src/strategies/__init__.py(전략 코드 단일화:eth_ai_fusion)backend/src/services/strategy_loader.py(레거시 코드 →eth_ai_fusion매핑)backend/src/services/strategy_engine.py(legacy 엔진은hold기본 반환)backend/src/services/strategies/registry.py(백테스트 전략 단일 반환)backend/src/services/backtest_engine.py(기본 전략 교체)backend/src/api/backtest.py(기본 전략 코드:eth_ai_fusion)backend/src/api/strategy.py(모든 type →eth_ai_fusion매핑)backend/src/services/bot_isolation_manager.py(추매 시 포지션 업데이트)backend/src/services/bot_runner.py(ETH/USDT + 5m 기본값, 추매 로직 추가)
- 진입 기준: EMA(9/21) 방향, RSI(14), MACD 히스토그램, 거래량 비율 점수화. 점수 ≥ 4 및 방향 우세 시 진입
- ML 게이트: FeaturePipeline + EnsemblePredictor 사용.
should_skip_entry또는 방향 불일치/타이밍 불량 시 진입 차단 - 보수적 손절/익절: ATR% 기반 SL/TP (SL: 0.6
1.6%, ML 신뢰도 높으면 최대 1.8%), TP: 1.24.5% - 트레일링: 최대 수익이 TP 도달 시,
max(stop_loss, max_profit*0.5)기준으로 이익 보호 청산 - 추매(수익 구간): 0.8% 단위 수익 구간 도달 시 최대 3회, 현재 포지션의 35% 규모로 추가 진입
- RSI 과열/과매도, EMA/MACD 반전, ML 방향 불일치 시 추매 차단
- 에이전트 파이프라인은
backend/src/services/bot_runner.py에서 유지
(MarketRegimeAgent → SignalValidatorAgent → RiskMonitorAgent) - ML은 전략 내부에서 FeaturePipeline/EnsemblePredictor로 사용
backend/src/services/strategy_loader.py에서 기존 코드 전부eth_ai_fusion으로 매핑backend/src/api/strategy.py의 type 매핑도 모두eth_ai_fusion으로 통일
- 배포 실패 시 수동 롤백(워크플로우 안내와 동일)
docker tag groupc-backend:rollback groupc-backend:latestdocker tag groupc-frontend:rollback groupc-frontend:latestdocker compose -f docker-compose.production.yml up -d
deploy-production.yml는**.md변경을 배포 트리거에서 제외- 배포는 workflow_dispatch(수동 실행)로 진행