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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user