## 개요
이 가이드는 거래 전략, 타임프레임, 모니터링하는 심볼 수에 따라 리프레시 간격 설정을 최적화하는 데 도움을 줍니다. 적절한 구성은 신호 정확도, 시스템 성능, API 속도 제한 사이의 균형을 유지합니다.
## 간격 이해하기
| 파라미터 | 목적 | 영향 |
|---|---|---|
| refresh_interval | 핵심 시장 데이터 가져오기 주기 | 일반 봇 운영, 가격 업데이트 |
| kline_refresh_rate | 캔들/OHLCV 데이터 로딩 | 기술적 분석, 패턴 감지 |
| signal_refresh_interval | 신호 처리 주기 | 기회 식별, 지표 계산 |
| decision_making_interval | 주문 실행 주기 | 거래 배치, 신호 브로드캐스트 |
## 거래 스타일별 추천 구성
### 1. 스캘핑 전략
최적: 작은 가격 움직임으로 빠른 수익, 고빈도 거래
타임프레임: 1m, 3m, 5m
#### 구성
Kline:
refresh_interval: 2 # 매우 빠른 시장 데이터 업데이트
kline_refresh_rate: 5 # 빈번한 캔들 업데이트
signal_refresh_interval: 10 # 빠른 신호 감지
decision_making_interval: 3 # 빠른 주문 실행
심볼 고려사항:
- 1-20 심볼: 공격적인 감지를 위해 위 설정 사용
- 21-50 심볼:
refresh_interval을 3으로,signal_refresh_interval을 15로 증가 - 51+ 심볼: 속도 제한을 피하기 위해 기본값 또는 더 높게 증가
참고:
- 스캘핑은 가장 빠른 응답 시간을 요구합니다
- API 속도 제한 경고를 면밀히 모니터링하세요
- 최적의 성능을 위해 심볼 수를 줄이는 것을 고려하세요
- 낮은 타임프레임(1m, 3m)은 빈번한 업데이트가 필요합니다
### 2. 데이 트레이딩 전략
최적: 당일 포지션, 일일 변동성 포착
타임프레임: 5m, 15m, 30m, 1h
#### 구성
Kline:
refresh_interval: 5 # 적당한 시장 데이터 업데이트
kline_refresh_rate: 15 # 균형 잡힌 캔들 리프레시
signal_refresh_interval: 30 # 정기적인 신호 처리
decision_making_interval: 10 # 측정된 주문 실행
심볼 고려사항:
- 1-50 심볼: 위 설정 사용
- 51-150 심볼:
kline_refresh_rate를 20-30으로 증가 - 151+ 심볼:
signal_refresh_interval을 45-60으로 증가
참고:
- 응답성과 효율성 사이의 균형
- 15m-1h 캔들은 공격적인 리프레시 속도를 요구하지 않습니다
- 스캘핑 전략보다 더 많은 심볼을 처리할 수 있습니다
### 3. 스윙 트레이딩 전략
최적: 다일 포지션, 트렌드 추종
타임프레임: 1h, 2h, 4h, 6h
#### 구성
Kline:
refresh_interval: 10 # 느슨한 시장 데이터 업데이트
kline_refresh_rate: 60 # 시간별 캔들 리프레시 충분
signal_refresh_interval: 180 # 3분 신호 처리
decision_making_interval: 30 # 신중한 주문 실행
심볼 고려사항:
- 1-100 심볼: 위 설정 사용
- 101-300 심볼:
kline_refresh_rate를 120-180으로 증가 - 300+ 심볼 (전체 거래소):
kline_refresh_rate: 300,signal_refresh_interval: 300사용
참고:
- 높은 타임프레임은 덜 빈번한 업데이트를 요구합니다
- 효율적으로 많은 심볼을 모니터링할 수 있습니다
- 속도보다 품질 신호에 집중
### 4. 장기/포지션 트레이딩
최적: 주에서 월 단위 보유 기간, 주요 트렌드 추종
타임프레임: 6h, 12h, 1d
#### 구성
Kline:
refresh_interval: 30 # 최소 시장 데이터 업데이트
kline_refresh_rate: 1800 # 30분 리프레시 (일일 캔들은 하루에 한 번 업데이트)
signal_refresh_interval: 1800 # 30분 신호 처리
decision_making_interval: 300 # 5분 실행 (필요 시 여전히 반응적)
심볼 고려사항:
- 임의의 심볼 수: 위 설정은 600+ 심볼에 작동
- 일일 캔들은 24시간마다 한 번만 업데이트 - 공격적 리프레시 불필요
- 성능 문제 없이 모든 거래소 심볼 동기화 가능
참고:
- API 속도 제한에 매우 효율적
- 일일 타임프레임은 빈번한 업데이트를 불필요하게 만듭니다
- 전체 거래소 카탈로그 모니터링에 완벽
- 낮은
decision_making_interval은 신호 트리거 시 적시 실행 보장
## 최적화 가이드라인
### 심볼 수 기준
| 심볼 수 | 배수 전략 |
|---|---|
| 1-20 | 추천 기본값 사용 |
| 21-50 | 간격을 1.5배로 곱하기 |
| 51-100 | 간격을 2배로 곱하기 |
| 101-300 | 간격을 3-4배로 곱하기 |
| 300+ | 간격을 5배 이상으로 곱하기 |
### 타임프레임 로직 기준
빠른 타임프레임 (1m, 3m, 5m):
- 캔들이 빠르게 완료됨 → 빈번한
kline_refresh_rate필요 - 가격이 빠르게 움직임 → 낮은
refresh_interval중요
중간 타임프레임 (15m, 30m, 1h):
- 균형 잡힌 접근 → 적당한 리프레시 속도
- 분석할 시간 더 많음 → 더 많은 심볼 처리 가능
느린 타임프레임 (4h, 6h, 12h, 1d):
- 캔들이 시간/일 단위로 완료됨 → 높은
kline_refresh_rate허용 - 트렌드가 천천히 발전 → 최소
refresh_interval필요
### 성능 vs. 공격성 트레이드오프
더 공격적 (낮은 값):
- ✅ 더 빠른 신호 감지
- ✅ 더 나은 진입/퇴장 타이밍
- ❌ 더 높은 API 사용량
- ❌ 시스템 부하 증가
- ❌ 속도 제한 위험
더 보수적 (높은 값):
- ✅ 더 낮은 API 사용량
- ✅ 더 나은 속도 제한 준수
- ✅ 더 많은 심볼 처리
- ❌ 더 느린 신호 감지
- ❌ 놓칠 수 있는 기회
## 예시 시나리오
### 시나리오 1: 공격적 스캘퍼 (10 심볼, 1m 타임프레임)
Kline:
refresh_interval: 2
kline_refresh_rate: 5
signal_refresh_interval: 10
decision_making_interval: 3
근거: 적은 심볼 수로 최대 공격성 허용
### 시나리오 2: 보수적 데이 트레이더 (600 심볼, 15m 타임프레임)
Kline:
refresh_interval: 15
kline_refresh_rate: 60
signal_refresh_interval: 120
decision_making_interval: 30
근거: 많은 심볼은 제한 내 유지하기 위해 보수적 간격 필요
### 시나리오 3: 스윙 트레이더 (100 심볼, 4h 타임프레임)
Kline:
refresh_interval: 10
kline_refresh_rate: 120
signal_refresh_interval: 300
decision_making_interval: 60
근거: 4h 캔들은 천천히 업데이트, 중간 심볼 수
### 시나리오 4: 장기 투자자 (전체 거래소, 1d 타임프레임)
Kline:
refresh_interval: 60
kline_refresh_rate: 3600
signal_refresh_interval: 3600
decision_making_interval: 600
근거: 일일 캔들은 빈번한 업데이트를 낭비로 만듦
## 미세 조정 팁
- 보수적으로 시작: 높은 간격으로 시작한 후 시스템 성능을 모니터링하면서 점차 감소
- 속도 제한 모니터링: 거래소 API에서 429 오류 또는 속도 제한 경고 주시
- 부하 테스트: API 사용량이 급증하는 고변동성 기간에 설정 검증
- 심볼 우선순위: 많은 심볼을 모니터링할 경우 동기화 비활성화하고 고우선순위 페어 수동 선택 고려
- 결정 속도: 느린 전략에서도
decision_making_interval을 상대적으로 낮게 (3-10초) 유지하여 적시 주문 실행 보장 - Kline 로직: 기억하세요:
kline_refresh_rate는 캔들 완료를 빠르게 하지 않음 - 업데이트만 확인. 타임프레임의 자연 완료 속도와 맞추세요.
## 빠른 참조 테이블
| 전략 | 타임프레임 | 심볼 | refresh | kline_refresh | signal_refresh | decision |
|---|---|---|---|---|---|---|
| Scalp | 1m-5m | <20 | 2 | 5 | 10 | 3 |
| Scalp | 1m-5m | 50+ | 3 | 10 | 20 | 5 |
| Day | 15m-1h | <50 | 5 | 15 | 30 | 10 |
| Day | 15m-1h | 150+ | 10 | 30 | 60 | 15 |
| Swing | 1h-6h | <100 | 10 | 60 | 180 | 30 |
| Swing | 1h-6h | 300+ | 15 | 300 | 300 | 60 |
| Long | 12h-1d | Any | 30 | 1800 | 1800 | 300 |
## 결론
최적의 리프레시 간격은 세 가지 핵심 요소에 따라 달라집니다:
- 거래 타임프레임 - 낮은 타임프레임은 더 빠른 업데이트 필요
- 심볼 수 - 더 많은 심볼은 보수적 설정 필요
- 전략 공격성 - 필요에 따라 속도와 API 제한 균형
위의 추천 구성부터 시작하여 특정 거래소 속도 제한, 시스템 자원, 거래 요구사항에 따라 조정하세요.