docs: update for XRP-only operation — remove SOL/DOGE/TRX references
- SOL/DOGE/TRX removed: all showed PF < 1.0 across all parameter combinations in strategy sweep (2026-03-17) and live trading (2026-03-21) - ML filter disabled: Walk-Forward showed ML ON PF < ML OFF PF; ablation confirmed signal_strength/side dependency (A→C drop 0.08-0.09) - XRP ADX threshold: 30 → 25 (ADX=30 blocked all trades in current market) - Current production: XRPUSDT only, SL=1.5x TP=4.0x ADX≥25, NO_ML_FILTER=true Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
27
README.md
27
README.md
@@ -1,6 +1,8 @@
|
||||
# CoinTrader
|
||||
|
||||
Binance Futures 자동매매 봇. 복합 기술 지표와 ML 필터(LightGBM / MLX 신경망)를 결합하여 다중 심볼(XRP, TRX, DOGE 등) 선물 포지션을 동시에 자동 진입·청산하며, Discord로 실시간 알림을 전송합니다.
|
||||
Binance Futures 자동매매 봇. 복합 기술 지표와 킬스위치로 XRPUSDT 선물 포지션을 자동 진입·청산하며, Discord로 실시간 알림을 전송합니다. 멀티심볼 아키텍처를 지원하지만, 현재 XRP만 운영 중입니다.
|
||||
|
||||
> **심볼 운영 이력**: SOL, DOGE, TRX는 파라미터 스윕에서 모든 ADX 수준에서 PF < 1.0으로, 현재 전략으로는 수익을 낼 수 없어 제외되었습니다 (2026-03-21). ML 필터도 기술 지표 기반 피처의 예측력 한계로 비활성화 상태 (`NO_ML_FILTER=true`).
|
||||
|
||||
> **이 봇은 실제 자산을 거래합니다.** 운영 전 반드시 Binance Testnet에서 충분히 검증하세요.
|
||||
> 과거 수익이 미래 수익을 보장하지 않습니다. 투자 손실에 대한 책임은 사용자 본인에게 있습니다.
|
||||
@@ -52,7 +54,7 @@ cp .env.example .env
|
||||
# 필수
|
||||
BINANCE_API_KEY=your_api_key
|
||||
BINANCE_API_SECRET=your_api_secret
|
||||
SYMBOLS=XRPUSDT,SOLUSDT,DOGEUSDT # 거래할 심볼 (쉼표 구분)
|
||||
SYMBOLS=XRPUSDT # 거래할 심볼 (쉼표 구분, 멀티심볼 지원)
|
||||
|
||||
# 권장
|
||||
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
|
||||
@@ -129,21 +131,14 @@ Discord 웹훅을 설정했다면 진입/청산 시 실시간 알림을 받게
|
||||
**심볼별 오버라이드**: `{환경변수}_{심볼}` 형태로 심볼마다 독립 설정 가능. 미설정 시 전역 기본값 사용.
|
||||
|
||||
```env
|
||||
# 예시: 스윕 최적화 결과
|
||||
# 현재 운영 설정 (2026-03-21)
|
||||
ATR_SL_MULT_XRPUSDT=1.5
|
||||
ATR_TP_MULT_XRPUSDT=4.0
|
||||
ADX_THRESHOLD_XRPUSDT=30
|
||||
|
||||
ATR_SL_MULT_SOLUSDT=1.0
|
||||
ATR_TP_MULT_SOLUSDT=4.0
|
||||
ADX_THRESHOLD_SOLUSDT=20
|
||||
MARGIN_MAX_RATIO_SOLUSDT=0.08
|
||||
|
||||
ATR_SL_MULT_DOGEUSDT=2.0
|
||||
ATR_TP_MULT_DOGEUSDT=2.0
|
||||
ADX_THRESHOLD_DOGEUSDT=30
|
||||
ADX_THRESHOLD_XRPUSDT=25
|
||||
```
|
||||
|
||||
> **제외된 심볼**: SOLUSDT(PF 0.00~0.83), DOGEUSDT(PF 0.70~0.83), TRXUSDT(PF 0.08) — 모든 파라미터 조합에서 PF < 1.0.
|
||||
|
||||
### ML 필터
|
||||
|
||||
ML 필터는 기술 지표 신호를 한 번 더 검증하여 오진입을 차단합니다. 기본적으로 **비활성화** 상태입니다.
|
||||
@@ -151,7 +146,7 @@ ML 필터는 기술 지표 신호를 한 번 더 검증하여 오진입을 차
|
||||
- `NO_ML_FILTER=true` (기본값) — ML 없이 기술 지표만으로 운영
|
||||
- `NO_ML_FILTER=false` — ML 필터 활성화 (모델 파일 필요)
|
||||
|
||||
> 현재 기본값이 비활성화인 이유: 학습 데이터가 충분히 축적되기 전까지 ML 모델의 예측력이 낮습니다. ADX 필터와 거래량 배수 조합만으로 PF 1.5 이상을 달성하고 있어, 충분한 거래 데이터(150건 이상)가 쌓일 때까지 ML 없이 운영합니다.
|
||||
> **비활성화 이유 (2026-03-21)**: Walk-Forward 백테스트에서 ML ON이 ML OFF보다 오히려 PF가 낮았습니다 (XRP: ML OFF PF 1.16 vs ML ON PF 0.71). Feature ablation 분석 결과, 모델 예측력의 대부분이 signal_strength/side 피처에 의존하며 (A→C AUC 드롭 0.08~0.09), 기술 지표 z-score만으로는 수수료를 이기는 알파를 만들 수 없었습니다. 오더북/청산 데이터 등 새로운 피처 소스에서 알파가 확인되면 재활성화 예정.
|
||||
|
||||
---
|
||||
|
||||
@@ -180,7 +175,7 @@ ML 필터는 기술 지표 신호를 한 번 더 검증하여 오진입을 차
|
||||
| **Slow Kill** | 최근 15거래 Profit Factor < 0.75 | 점진적 엣지 소실 |
|
||||
|
||||
**동작 방식:**
|
||||
- 심볼별 독립 제어: SOL이 킬되어도 XRP/DOGE는 정상 운영
|
||||
- 심볼별 독립 제어: 한 심볼이 킬되어도 다른 심볼은 정상 운영
|
||||
- 진입만 차단: 기존 포지션의 SL/TP 청산은 정상 작동 (물린 상태 방치 방지)
|
||||
- 거래 이력 persist: `data/trade_history/{symbol}.jsonl`에 매 청산마다 기록
|
||||
- 봇 재시작 시 소급 검증: 이력 파일에서 마지막 15건을 읽어 킬스위치 상태 복원
|
||||
@@ -190,8 +185,6 @@ ML 필터는 기술 지표 신호를 한 번 더 검증하여 오진입을 차
|
||||
```
|
||||
[킬스위치 모니터링]
|
||||
XRP: 연속손실 2/8 | 15거래PF 1.42
|
||||
SOL: 연속손실 0/8 | 15거래PF -.-- (3건)
|
||||
DOGE: 연속손실 6/8 ⚠ | 15거래PF 0.71 🔴 KILLED
|
||||
```
|
||||
|
||||
| 환경변수 | 설명 |
|
||||
|
||||
Reference in New Issue
Block a user