GT MTF 프로필·캘리브레이션과 04 매칭/시뮬/실거래 파이프라인을 추가한다.
3분~일봉 GT 타점 분석(03c), leg 체결 순서 수정, 총자산 90% 검증 루프, walk-forward Go/No-Go 시뮬, monitor·live_trader 및 reference 문서를 포함한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -41,11 +41,25 @@ def main() -> None:
|
||||
trades = trades[: args.limit]
|
||||
print(f"테스트 모드: 타점 {args.limit}건만")
|
||||
|
||||
print(f"=== general_analysis {SYMBOL} (lookback {CHART_LOOKBACK_DAYS}일) ===")
|
||||
import sys
|
||||
import time
|
||||
|
||||
print(f"=== 03b GT 타점 MTF 분석 {SYMBOL} (lookback {CHART_LOOKBACK_DAYS}일) ===")
|
||||
print(f" 간격: 3,5,10,15,30,60,240,1440분 (1분 제외) · 타점 {len(trades)}건")
|
||||
sys.stdout.flush()
|
||||
t0 = time.time()
|
||||
print("[03b] Phase 0: DB에서 8TF OHLCV 로드...")
|
||||
sys.stdout.flush()
|
||||
mon = Monitor(cooldown_file=None)
|
||||
frames = load_frames_from_db(mon, SYMBOL, lookback_days=CHART_LOOKBACK_DAYS)
|
||||
if not frames:
|
||||
raise RuntimeError("coins.db 데이터 없음")
|
||||
for iv in (3, 5, 10, 15, 30, 60, 240, 1440):
|
||||
df = frames.get(iv)
|
||||
n = len(df) if df is not None else 0
|
||||
print(f" WLD_{iv}: {n:,}봉")
|
||||
print(f"[03b] Phase 0 완료 ({time.time() - t0:.0f}초)")
|
||||
sys.stdout.flush()
|
||||
|
||||
# limit 시 임시 trades 파일
|
||||
if args.limit > 0:
|
||||
@@ -64,6 +78,10 @@ def main() -> None:
|
||||
print(f"저장: {csv_path} ({len(df)}행 × {len(df.columns)}열)")
|
||||
|
||||
write_analysis_report(csv_path, Path(args.html))
|
||||
|
||||
from deepcoin.matching.gt_mtf_profile import run_gt_mtf_profile
|
||||
|
||||
run_gt_mtf_profile(csv_path)
|
||||
print("완료.")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user