fix: 전체 회의 CRITICAL 6건 수정 — 손절/리스크/성과/인프라

1. trade_executor: 손절값 -6.0 하드코딩 → -settings.STOP_LOSS_PERCENT (7%)
2. mdd_manager: MDD 강제매도 시 loss_tracker 호출 추가
3. risk_validator, day_trading: 가격필터 < → <= (5,000원 정확히 차단)
4. daytrading/entry_service: 글로벌 자본 사용률(95%) 가드 추가
5. trade_analyzer: 수익률 0%를 손실에서 제외 (< 0으로 변경)
6. db_worker: 종료 시 큐 drain + DLQ 백업으로 데이터 유실 방지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 20:24:59 +09:00
parent de7921d270
commit f92479f3b0
7 changed files with 76 additions and 7 deletions

View File

@@ -782,7 +782,7 @@ async def _execute_buy(
"quantity": quantity,
"entry_price": order_price,
"strategy_name": stock.get("strategy_type", "swing"),
"stop_loss": stock.get("stop_loss", -6.0),
"stop_loss": stock.get("stop_loss", -float(settings.STOP_LOSS_PERCENT)),
"take_profit": stock.get("take_profit", 5.0),
"entry_reason": entry_reason,
"highest_since_entry": order_price,
@@ -901,7 +901,7 @@ async def _execute_sell(
# [CLAUDE.md 5.2] 기본 손절 -6% (안정적 종목), 익절은 ATR 기반 2R
take_profit = stock.get("take_profit", 5.0)
base_stop_loss = stock.get("stop_loss", -6.0)
base_stop_loss = stock.get("stop_loss", -float(settings.STOP_LOSS_PERCENT))
# ── ATR 기반 동적 손절/트레일링 스탑 조정 ────────────────────────────────
atr = float(stock.get("atr", 0) or 0)