V4.0을 처음 돌렸을 때 가장 신기했던 건, 시스템이 종목을 끊임없이 쳐다보고 있다는 거였다. 장이 열리든 닫혀 있든 스캔은 계속 돌고 있었고, 조건에 맞는 종목이 나타나면 신호를 뱉었다.
근데 문제가 있었다. 신호가 잡히면 그게 곧 매수로 이어지는 구조였다. 스캔이랑 주문이 하나로 묶여 있었던 것이다. 시장이 안 좋아도, 군집 열기가 없어도, 타이밍이 안 맞아도 — 신호가 뜨면 사는 구조.
이건 위험하다. 그래서 V4.1에서 가장 먼저 손댄 게 이 부분이었다.
⚡ SCAN≠BUY — 스캔과 매수는 다르다
V4.1의 핵심 변화는 딱 한 줄로 요약된다.
[2026-03-05 21:18:32] ✅ GENIE V4.1 가동 완료
(SCAN always + BUY gated + realtime80 rotation)
[2026-03-05 21:18:32] ✅ 핵심 원칙: SCAN≠BUY
(후보/시그널은 항상, 주문은 조건 충족 시만)
SCAN은 항상 돌린다. 어떤 상황에서도 종목을 들여다보고 신호를 감지하는 건 멈추지 않는다. 하지만 BUY는 다르다. 신호가 잡혔다고 바로 사는 게 아니라, 별도의 조건을 모두 통과해야만 주문이 나간다.
스캔과 매수를 분리한 것이다. 이게 왜 중요한지는 실제 로그를 보면 바로 이해된다.
📋 신호는 잡혔지만 사지 않은 기록들
3월 6일 로그를 보면 이런 줄이 수십 개 찍혀 있다.
🟡 [BUY_SIGNAL_DRY] 042700 한미반도체
engine=E2_PULLBACK
blocked=before_entry_time
reason=눌림재돌파 cur=332,500
🟡 [BUY_SIGNAL_DRY] 074600 원익QnC
engine=E2_PULLBACK
blocked=cluster_block:heat=1 need=3
reason=눌림재돌파 cur=34,450
🟡 [BUY_SIGNAL_DRY] 089030 테크윙
engine=E2_PULLBACK
blocked=cluster_block:heat=1 need=3
reason=눌림재돌파 cur=66,300
BUY_SIGNAL_DRY는 "신호는 잡혔는데 실제 매수는 안 했다"는 뜻이다. DRY RUN, 즉 드라이 실행이다.
한미반도체는 시간 조건에 막혔고, 원익QnC와 테크윙은 군집 열기가 1인데 최소 3이 필요해서 차단됐다. 신호 자체는 맞았지만, 시장 전체 분위기가 받쳐주지 않았던 것이다.
만약 V4.0처럼 신호=매수 구조였다면 이 종목들을 전부 샀을 거다. 그리고 BEAR 장에서 물렸을 가능성이 높다.
🔒 BUY가 통과하려면 뭘 충족해야 하나
V4.1에서 실제 매수 주문이 나가려면 아래 조건을 모두 통과해야 한다.
- 엔진 신호 확인 — E1(실시간 양봉), E2(눌림 재돌파) 등 매수 엔진에서 신호 발생
- 시간 조건 통과 — 장 시작 직후나 마감 직전 등 매수 금지 시간대가 아닌지 확인
- 레짐 확인 — 현재 시장이 BEAR면 매수 기준을 높이거나 차단
- 군집 열기 확인 — 최근 240초 안에 동시 강세 종목이 일정 수준(heat) 이상인지 확인
- 포지션 슬롯 확인 — 이미 MAX_POSITIONS(3개) 가득 찼으면 추가 매수 차단
| 구분 | V4.0 (이전) | V4.1 (개선) |
|---|---|---|
| 신호 발생 시 | 바로 매수 | 조건 검증 후 결정 |
| BEAR 장에서 | 그냥 매수 | 차단 또는 기준 강화 |
| 군집 없을 때 | 그냥 매수 | heat 미달 시 차단 |
| 로그 기록 | 체결 결과만 | DRY 신호 포함 전체 |
❓ Q&A
Q. DRY 신호가 많이 나오면 시스템이 너무 보수적인 거 아닌가?
처음엔 나도 그렇게 생각했다. 신호가 잡히는데 안 사는 게 답답하게 느껴졌다. 근데 DRY 신호가 많다는 건 시장이 그만큼 안 좋다는 뜻이다. BEAR 장에서 신호 나는 족족 다 샀다가 물리는 게 더 문제다. 안 사는 것도 포지션이다.
✍️ 2편을 마치며
SCAN≠BUY 원칙은 자동매매에서 가장 중요한 개념 중 하나다. 시스템이 많이 보는 것과 많이 사는 건 다르다. 오히려 덜 사는 시스템이 더 좋은 시스템일 때가 많다.
V4.0에서 V4.1로 넘어가면서 GENIE는 처음으로 "하지 말아야 할 때를 아는 시스템"이 됐다.
3편에서는 V4.8에서 발견한 체결 구조 버그 이야기를 다룰 예정이다. 주문은 나갔는데 체결됐는지 안 됐는지를 시스템이 몰랐던 그 황당한 상황.
※ 본 글은 자동매매 시스템 개발 과정을 기록한 정보 제공 목적의 개발 일지입니다. 투자 권유나 수익 보장이 아니며, 모든 투자 판단과 책임은 본인에게 있습니다.