candle_count 및 tf_map 수정, OHLCV 데이터 무결성 테스트 추가
This commit is contained in:
@@ -20,6 +20,8 @@ class DataFetchError(Exception):
|
||||
|
||||
|
||||
# OHLCV 데이터 캐시 (TTL 5분)
|
||||
# ⚠️ 메모리 캐시: 프로그램 재시작 시 자동 초기화됨
|
||||
# tf_map 수정 후에는 반드시 프로그램을 재시작하여 오염된 캐시를 제거해야 함
|
||||
_ohlcv_cache = {}
|
||||
_cache_lock = threading.RLock() # 캐시 동시 접근 보호 (재진입 가능)
|
||||
CACHE_TTL = 300 # 5분
|
||||
@@ -73,14 +75,24 @@ def fetch_ohlcv(
|
||||
_clean_expired_cache()
|
||||
|
||||
_buf("debug", f"[CACHE MISS] OHLCV 수집 시작: {symbol} {timeframe}")
|
||||
|
||||
# ⚠️ CRITICAL: main.py의 minutes_to_timeframe()이 반환하는 형식과 일치해야 함
|
||||
# minutes_to_timeframe()은 "1m", "3m", "10m", "60m", "240m" 등을 반환
|
||||
# pyupbit는 "minute1", "minute240" 형식을 필요로 함
|
||||
tf_map = {
|
||||
# 분봉 (Upbit 지원: 1, 3, 5, 10, 15, 30, 60, 240분)
|
||||
"1m": "minute1",
|
||||
"3m": "minute3",
|
||||
"5m": "minute5",
|
||||
"10m": "minute10", # main.py에서 사용 가능
|
||||
"15m": "minute15",
|
||||
"30m": "minute30",
|
||||
"60m": "minute60", # main.py에서 사용 (1시간봉)
|
||||
"240m": "minute240", # ⚠️ 핵심 수정: main.py에서 4시간봉으로 사용
|
||||
# 시간 단위 별칭 (호환성)
|
||||
"1h": "minute60",
|
||||
"4h": "minute240",
|
||||
# 일봉/주봉
|
||||
"1d": "day",
|
||||
"1w": "week",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user