# 전략 제안서 — 2026-06-15 ## 요약 진입 시점에 현재가가 목표가(TP)를 이미 초과한 경우 진입을 차단하는 필터 추가. **수동 승인 필수.** --- ## 관찰된 문제 오늘(2026-06-15) 삼성전자(005930)가 두 차례 진입됐으나 두 번 모두 목표가(334,000)가 진입가(340,000 / 338,500)보다 낮았다. | 진입 | 진입가 | 목표가(TP) | 차이 | 결과 | |---|---|---|---|---| | 1차 09:20 | 340,000 | 334,000 | -6,000 | TIME -21,681원 | | 2차 11:51 | 338,500 | 334,000 | -4,500 | TIME -1,422원 | 원인: 변동성 돌파 목표가는 전일 종가 기준으로 계산되는데, 삼성전자가 개장 시 갭업하여 목표가를 이미 상회한 가격에 진입 트리거가 발동했다. 이 구조에서는 TP 달성이 원천 불가능하다. TIME 또는 SL 청산만 남는다. --- ## 제안 내용 ### 진입 차단 조건 추가 `check_entry()` 내부에 다음 조건을 hard gate로 추가: ```python # 현재가가 TP1 목표가 이상이면 진입 차단 (갭업 후 목표가 무효화) if current_price >= tp_target: return False, f"현재가({current_price:,})가 목표가({tp_target:,}) 이상 — 진입 차단" ``` 적용 위치: `app/strategy/volatility_breakout.py` — `check_entry()` 함수 내 진입 조건 검사 직전. --- ## 기대 효과 - 오늘 기준: 삼성전자 2건(-23,103원) 방어 가능. - 갭업 종목이 TP를 이미 소화한 상태로 진입하는 구조적 실수 차단. - SL/TIME 낭비 거래 제거 → R:R 개선. --- ## 위험 및 주의사항 - TP 목표가 계산 로직이 정확해야 필터가 올바르게 동작한다. (`tp_target`이 진입 가능 구간 안에 있을 때만 진입하는 원래 의도와 동일.) - 극히 드문 케이스: 목표가 재계산(장중 업데이트) 여부 확인 필요. 현재 구현이 고정 목표가라면 문제없음; 장중 재계산이 있다면 로직 검토 추가 필요. - 샘플: 오늘 2건 관찰. 통계적 근거로는 부족하나, 이는 파라미터 조정이 아니라 **논리적 버그 수정**에 해당하므로 소량 샘플로도 충분히 정당화됨. --- ## 증거 | 날짜 | 티커 | 진입가 | 목표가 | 차이 | 손익 | |---|---|---|---|---|---| | 2026-06-15 | 삼성전자(005930) 1차 | 340,000 | 334,000 | -6,000 | -21,681원 | | 2026-06-15 | 삼성전자(005930) 2차 | 338,500 | 334,000 | -4,500 | -1,422원 | --- ## 승인 조건 - [ ] `volatility_breakout.py` 내 `tp_target` 변수가 진입 시점에 접근 가능한지 확인. - [ ] 장중 목표가 재계산 여부 확인. - [ ] 수동 코드 검토 후 적용. **FORCE_EXIT = "14:50"** 변경 없음. SL 우선순위 변경 없음.