feat(spot): fractal_swing live 운영 — 슬리피지·증분 sync·신호 tail 갱신

운영 백테스트(+1,873,140%)과 live/paper 체결 규칙을 맞추고, 캔들 증분 sync·
tail 신호 갱신·일일 체결 상한·슬리피지를 반영한다. docs/live 차트 생성 스크립트와
.env.example·README를 갱신한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
xavis
2026-06-13 08:26:11 +09:00
parent 58802bdc5f
commit 2783826a03
20 changed files with 954 additions and 67 deletions

View File

@@ -136,12 +136,22 @@ class CandleDownloader:
if not rows:
break
saved_rows += store.upsert_rows(
symbol,
self.settings.coin_name,
interval_min,
rows,
)
if mode == "incremental" and db_max is not None:
inserted = store.insert_new_rows(
symbol,
self.settings.coin_name,
interval_min,
rows,
after=db_max,
)
else:
inserted = store.upsert_rows(
symbol,
self.settings.coin_name,
interval_min,
rows,
)
saved_rows += inserted
batch_oldest = min(parse_kst_datetime(r[0]) for r in rows)
if oldest_seen is None or batch_oldest < oldest_seen:
@@ -168,7 +178,7 @@ class CandleDownloader:
)
logger.info(
"수집 완료 %s_%s mode=%s requests=%s saved=%s reached=%s",
"수집 완료 %s_%s mode=%s requests=%s inserted=%s reached=%s",
symbol,
interval_min,
mode,