From 8413bbd53690178f5d7891eea66e6001fbb6c6ee Mon Sep 17 00:00:00 2001 From: dsyoon Date: Sat, 27 Jun 2026 09:13:20 +0900 Subject: [PATCH] =?UTF-8?q?fix(config):=20ops=20=EC=82=AC=EC=9D=B4?= =?UTF-8?q?=EC=A7=95=20fallback=EC=9D=84=20100%=EB=A1=9C=20=EC=A0=95?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit .env.example의 OPS_BUY/SELL_CASH_PCT를 1.0으로 맞추고 live 운영 관련 env 템플릿을 보강한다. Co-authored-by: Cursor --- .env.example | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/.env.example b/.env.example index 0b533cd..7c576f5 100644 --- a/.env.example +++ b/.env.example @@ -77,9 +77,9 @@ OPS_MTF_ENABLED=false OPS_TREND_GATE_ENABLED=false OPS_DAILY_MAX_TRADES=10000 OPS_MIN_ORDER_KRW=5000 -# 튜닝 기준값 — 실제 비율은 1_tune_order_sizing.py → sizing_rules.json -OPS_BUY_CASH_PCT=0.10 -OPS_SELL_COIN_PCT=0.10 +# fallback 비율. fractal live: data/spot/operations/sizing_rules.json(100%)이 우선 적용 +OPS_BUY_CASH_PCT=1.0 +OPS_SELL_COIN_PCT=1.0 OPS_SLIPPAGE_RATE=0.0005 # 빗썸 시장가 매수: 주문금액+예약수수료 lock (insufficient_funds 방지) OPS_EXCHANGE_FEE_LOCK_RATE=0.0025 @@ -90,8 +90,36 @@ OPS_SYNC_CANDLES=true # 비우면 DOWNLOAD_INTERVALS 전체 증분 sync # OPS_SYNC_INTERVALS= OPS_SIGNAL_TAIL_BARS=800 -# live 2층 방어: 최근 N봉(3분봉 기준) 미체결 신호 재시도 (10=30분) -OPS_CATCHUP_BARS=10 +# live 2층 방어: 최근 N봉(3분봉) 미체결 신호 재시도 (480=24시간) +OPS_CATCHUP_BARS=480 +# trade_history 원장 기반 pending 스캔 lookback (일) +OPS_LEDGER_LOOKBACK_DAYS=1 +# live API 체결 허용: 신호 시각 기준 N분 초과 backlog는 스킵 정산만 +OPS_LEDGER_EXECUTE_MAX_AGE_MINUTES=45 +# tick당 backlog 처리 상한 (재시작·누적 신호 폭주 방지) +OPS_MAX_BACKLOG_PER_TICK=20 +# live tick마다 tail 신호 강제 재계산 (stale 캐시 방지) +OPS_LIVE_FORCE_TAIL_REFRESH=true +# last_tick_completed_at 갱신 없음 알림 (초, 0=비활성) +OPS_WATCHDOG_STALE_SEC=600 +# tick 소요 시간 경고 (초) +OPS_TICK_WARN_SEC=120 +# 운영 tick 로그 (append) +OPS_LOG_JSON=data/spot/operations/live_run.log +# live: 거래소 체결과 미정산 신호 대조 (재주문 방지) +OPS_EXCHANGE_RECONCILE=true +OPS_EXCHANGE_ORDER_LOOKBACK_HOURS=48 +OPS_EXCHANGE_MATCH_WINDOW_MIN=720 +# loop·watch tick 공유 lock (중복 체결 방지) +OPS_TICK_LOCK_PATH=data/spot/operations/ops.tick.lock +OPS_LOOP_PID_FILE=data/spot/operations/ops_loop.pid +# read-only 감시 (cron 5분): bash scripts/3_run_watch_cron.sh +OPS_WATCH_SIGNAL_GRACE_MIN=5 +OPS_WATCH_TICK_STALE_MIN=12 +OPS_WATCH_LOOKBACK_MIN=30 +OPS_WATCH_AUTO_REMEDIATE=true +OPS_WATCH_AUTO_RESTART=true +# OPS_WATCH_LOOP_START_CMD= # OPS_PERSIST_SIGNAL_CACHE=false OPS_STATE_JSON=data/spot/operations/fractal_ops_state.json OPS_REPORT_JSON=docs/spot/3_operations/fractal_ops_report.json