Phase C dry-run·문서화·DB 증분 저장 및 운영 env 동기화

- 1분봉 다운로드 제외, MONITOR_PERSIST로 05/06 수집 시 coins.db INSERT
- Phase C paper_fires 로그·07 모의 리포트, hybrid 시뮬 산출물·reference 문서 갱신
- .env Phase C(LIVE=0), bootstrap dotenv override=True

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dsyoon
2026-06-01 23:32:47 +09:00
parent 3cbfa40aab
commit b9ee241d14
19 changed files with 877 additions and 333 deletions

View File

@@ -8,7 +8,7 @@ import os
from deepcoin.env_loader import load_project_env
load_project_env()
load_project_env(override=True)
def _getenv(key: str, default: str = "") -> str:
@@ -85,11 +85,12 @@ TREND_INTERVAL_1H = _getenv_int("TREND_INTERVAL_1H", "60")
TREND_INTERVAL_1D = _getenv_int("TREND_INTERVAL_1D", "1440")
ALL_INTERVALS: tuple[int, ...] = _parse_int_tuple(
"ALL_INTERVALS", "1,3,5,10,15,30,60,240,1440"
"ALL_INTERVALS", "3,5,10,15,30,60,240,1440"
)
# 1분봉은 시뮬·MTF 분석 미사용. 실시간 모니터는 API로 최신 1봉만 조회.
DOWNLOAD_INTERVALS: tuple[int, ...] = _parse_int_tuple(
"DOWNLOAD_INTERVALS",
",".join(str(x) for x in ALL_INTERVALS),
"3,5,10,15,30,60,240,1440",
)
GENERAL_ANALYSIS_INTERVALS: tuple[int, ...] = _parse_int_tuple(
"GENERAL_ANALYSIS_INTERVALS", "3,5,10,15,30,60,240,1440"
@@ -257,6 +258,12 @@ MONITOR_NORM_WINDOW = _getenv_int("MONITOR_NORM_WINDOW", "20")
MONITOR_TELEGRAM_BATCH_SIZE = _getenv_int("MONITOR_TELEGRAM_BATCH_SIZE", "20")
# 규칙 알림 참고 금액(매수 시 수량=금액/가격). 매도 시에는 보유 수량 우선.
MONITOR_ALERT_KRW_AMOUNT = _getenv_int("MONITOR_ALERT_KRW_AMOUNT", "100000")
# 05/06·live_eval API 수집 시 coins.db 증분 INSERT (01_download와 동일 append_data)
MONITOR_PERSIST_CANDLES = _getenv("MONITOR_PERSIST_CANDLES", "1").strip().lower() in (
"1",
"true",
"yes",
)
# --- general_analysis ---
GA_COL_PREFIX = _getenv("GA_COL_PREFIX", "ga_")