# HTS 조건식 (SCAN 참고)

> HTS 조건검색 = **후보 유니버스(SCAN)** 전용.  
> TRIGGER/Optuna 그리드에 숫자를 맞추라고 강제하지 않음. (`hts-condition-grids.mdc`)  
> `*_SKIP_HTS_SCAN_DUPES` 기본 **false** 유지 (사용자 명시 전까지).

키움 조건식 이름 ↔ 봇: `CONDITION_SHORT_NAME=tail` → `strategy_id=SHORT`

---

## 꼬리 (tail / SHORT)

**논리:** 아래 4항 **AND** (HTS에서 동시에 만족)

| # | 조건 (HTS 원문) |
|---|-----------------|
| A | 주가등락률 : **[일] 0봉전(중) 시가대비 0봉전 종가등락률** **-10% 이상 ~ -0.5% 이하** |
| G | 주가등락률 : **[1분] 1봉전(중) 종가대비 0봉전 종가등락률** **-10% 이상 ~ -0.5% 이하** |
| B | **체결강도** **85% 이상 ~ 400% 이하** |
| D | 거래량비율 : **[일] 3봉 전 거래량대비 동일주기** **150% 이상 ~ 2000% 이하** |

### 한 줄 요약

```
[일] 시가→종가 -10% ~ -0.5%
∧ [1분] 직전봉종가→현재봉종가 -10% ~ -0.5%
∧ 체결강도 85% ~ 400%
∧ [일] 3봉전 대비 거래량 150% ~ 2000%
```

### 코드 TRIGGER와의 관계 (참고)

| 축 | HTS (SCAN) | 코드 (`TAIL_SKIP_HTS_SCAN_DUPES=false` 시) |
|----|------------|---------------------------------------------|
| 등락 A/G | **일봉** 시가대비 + **1분** 직전대비 | **별도 시험**: `TAIL_BAR_CHG_*` = **3분** 직전대비 (이름에 HTS A 붙이지 말 것) |
| 체결강도 B | SCAN | TRIGGER에서 동일 재검사 안 함 |
| 거래량 D | **일봉** 3봉전 대비 | `TAIL_VOL_MULT` → **신호봉(3분)** 거래량 배수 |

- `skip=false` + `BAR_CHG_MAX=-1.0` = 의도된 이중 필터(3분 최소 하락). 장에 안 맞으면 0건 가능 (2026-07-20).
- 그리드에 `-0.5` 있음 → 파람이 `-1.0`을 고른 것뿐. 시스템 고장 아님.

### 변경 이력

| 날짜 | 내용 |
|------|------|
| 2026-07-20 | 사용자 HTS 원문 반영 (일 -10~-0.5 / 1분 -10~-0.5 / 강도 85~400 / 일거래량 150~2000) |

---

## 돌파 / 모멘텀 / 스캘핑

(미기재 — 사용자 제공 시 추가)
