밤에 차트 책을 다시 펴게 된 사정
봇 코드에 손댈 게 없는 밤이 있다. 그런 밤엔 딴짓을 한다. 이번 딴짓은 책장에 꽂아만 두고 안 읽던 패턴 교과서였고, 펴자마자 든 생각은 “이걸 내 봇이 볼 수 있나"였다.
여기는 업비트 크립토 봇 기록을 쌓는 랩인데, 차트 패턴이라는 게 자산을 안 가려서 사람이 모여 값을 매기는 자리면 어디서든 비슷한 모양이 반복된다는 말을 하도 들어놔서 한 번은 직접 확인해보고 싶었다. 걸리는 건 하나다. 그 모양을 코드로 옮길 수 있느냐.
그동안은 RSI, 볼린저, 아룬처럼 수식으로 계산되는 지표만 다뤘다. 이번엔 성격이 다르다. 헤드 앤 숄더, 플래그, 이중 천장 같은 눈으로 보는 패턴. 사람은 차트를 보다가 “아 저거네” 하고 알아본다. 봇은 못 한다. 어깨가 뭔지 넥라인이 어딘지를 전부 숫자로 적어줘야 겨우 움직인다.
그 간극을 재보기에 2026년 6~8월 삼성전자만 한 표본이 없다. 50거래일 만에 고점 대비 반토막이 났다가 45% 되돌아왔다. 교과서 패턴이 성립하기도 하고 처참하게 깨지기도 한 구간이다.
종목 삼성전자 (005930)
구간 2026-06-05 ~ 2026-08-14 · 50 거래일
출처 stockanalysis.com 일봉 (2026-08-14 조회)
--------------------------------------------------
기간 최고 374,500원 (6/19 고가)
기간 최저 189,200원 (7/29 저가)
최종 종가 274,500원 (8/14)
--------------------------------------------------
고점 → 저점 −49.48%
저점 → 현재 +45.08%
고점 대비 현재 −26.70%숫자 얘기를 먼저 해둔다. 위 표의 가격은 저 출처의 일봉을 그대로 옮긴 것이고, 손으로 매만진 값은 없다. 계산이 끼어든 자리에는 식을 같이 뒀다.
공부하려고 적는 노트이고 종목 추천은 없다.
1. 그 전에 무슨 일이 있었나
패턴을 세기 전에 배경이 필요하다. 이 구간의 모양은 종목 사정보다 시장 전체 사건에서 나왔다.

7월 말, 국내 증시가 이틀 만에 무너졌다. 공개된 지수 수치는 이렇다.
7/27 6,755.75
7/28 6,023.66 −10.84%
7/29 5,663.24 −5.98%
--------------------------------------------------
이틀 누적 약 −16.2% · 서킷브레이커 발동
--------------------------------------------------
8/14 6,923.87 +1.62% (출처: stockinfo7)
외국인 순매수 10,992억 · 개인 순매도 6,816억원인으로 지목된 건 다섯 가지가 얽힌 구조였다. 지수 안에서 반도체 대형주로 쏠린 비중, AI 투자의 순환 출자 구조에 대한 의심, SK하이닉스가 사상 최대 실적을 내고도 눈높이에 못 미친 것, ADR 전환 일정이 만든 유동성 불확실성, 그리고 반대매매와 레버리지 ETF 리밸런싱에서 나온 기계적 매도.
차트 관점에서는 마지막 항목이 제일 고약하다. 반대매매는 가격을 안 본다. 담보 비율이 깨지면 시장가로 던진다. 그렇게 찍힌 캔들에는 수급이 거의 안 담긴다. 강제 청산의 흔적만 남는다. 교과서 패턴이 이런 구간에서 잘 안 먹는 이유다.
최대 하락일 7/28 −13.39% 종가 220,000
최저가 7/29 189,200 거래량 61,720,190주 (기간 최대)
최대 상승일 7/31 +26.81% 종가 262,500
--------------------------------------------------
이틀 만에 −13% → 다음날 저가 −9% → 그 이틀 뒤 +27%
이런 구간에서 "종가 기준 진입" 은 사실상 무의미하다7월 29일 거래량 6,172만 주. 기간 평균의 두 배가 넘는다. 그리고 그날이 저점이었다. 이걸 뭐라고 불러야 하는지가 이 글의 출발점이 됐다.
2. 아홉 개를 하나씩 대본다
받아둔 패턴 목록은 이렇다. 각각을 삼성전자 실제 데이터에 대보고, 성립하면 근거를, 안 되면 왜 안 되는지를 적는다. 억지로 끼워맞추는 순간 이 글은 쓸모가 없어진다.
✔ 약세 플래그 7/20~7/23 교과서적으로 성립
✔ 역 헤드 앤 숄더 7/20~8/13 넥라인 돌파까지 완성
△ 강세 플래그 7/31~8/12 성립하나 되돌림이 깊다
✘ 이중 바닥 두 저점이 20% 차이 — 아님
✘ 이중 천장 봉우리가 하나뿐
✘ 헤드 앤 숄더(정방향) 왼쪽 어깨에 해당하는 고점 없음
✘ 컵 앤 핸들 바닥이 U자가 아니라 V자
✘ 인버티드 컵 앤 핸들 해당 구간 없음
△ 엘리어트 파동 셀 수는 있으나 사후 해석 — 뒤에서 따로확실히 성립하는 건 둘, 조건부가 둘, 나머지 다섯은 없다. 이 비율이 정상이다. 패턴 책을 펴놓고 차트를 보면 다 보이는 것 같은데, 기준을 숫자로 고정하는 순간 대부분이 그냥 탈락해버린다. 눈이 먼저 속는다.
3. 약세 플래그, 이 구간에서 가장 깨끗했던 모양
성립한 것부터 본다. 아홉 개 중에 제일 깨끗했다. 7월 중순 하락 구간에 약세 플래그가 하나 있다.

깃대(flagpole)
7/15 고가 284,500 → 7/20 저가 240,000
3 거래일 만에 −15.6%
깃발(flag)
7/21 종가 259,000 → 7/22 260,500 → 7/23 270,000
완만한 우상향 · 낙폭의 약 2/3 되돌림
이탈
7/24 종가 249,500 → 7/28 220,000 → 7/29 저가 189,200
--------------------------------------------------
급락 → 좁은 되돌림 → 같은 방향 재이탈. 정의 그대로다약세 플래그의 논리는 단순하다. 급락 뒤 반등을 만드는 건 매수세가 아니다. 숏 커버링과 저가 매수가 잠깐 맞춘 균형이고, 그 균형이 풀리면 가격은 원래 가던 방향으로 간다. 되돌림 구간의 거래량이 깃대보다 적으면 신뢰도가 올라간다고들 한다.
정말 그런지 실측으로 본다.
깃대 구간 7/15 24,247,740
7/16 26,605,500
7/20 24,304,800 평균 25,052,680
깃발 구간 7/21 20,353,870
7/22 21,248,990
7/23 15,996,110 평균 19,199,657
--------------------------------------------------
깃발 거래량이 깃대의 76.6% — 교과서가 말하는 "감소" 조건 충족
특히 7/23은 기간 최저 거래량. 되돌림의 힘이 빠진 자리였다7월 23일 거래량 1,599만 주는 이 50거래일 중 가장 적다. 가격은 3일째 오르는데 거래량은 바닥이었다. 그 다음날부터 무너졌다.
이걸 코드로 옮기면
여기서부터 막힌다. 사람 눈에는 선명한 모양인데, 봇에게 시키려면 이렇게 적어줘야 한다.
1. 깃대: 최근 N봉 안에 X% 이상 하락 N? X?
2. 깃발: 이후 M봉이 좁은 상승 채널 M? 채널 폭 허용치?
3. 거래량: 깃발 평균 < 깃대 평균 이건 명확
4. 진입: 깃발 하단 이탈 시 숏 "이탈" 을 종가로? 장중으로?
--------------------------------------------------
자유 파라미터 5개. 각각을 정하는 순간 과최적화가 시작된다
RSI 는 파라미터가 기간 1개, 문턱 1개였다내 봇의 RSI 게이트에서 만질 수 있는 값은 둘이다. 기간과 문턱. 그래서 8.9일치 매매기록을 전수로 훑어 45라는 숫자를 뽑을 수 있었다. 플래그는 자유도가 다섯이다. 같은 데이터에 다섯 개를 동시에 맞추면 그건 최적화가 아니다. 과거 위에 곡선을 그려 넣은 것이다.
3시대 모놀리스 시절에 이걸 몸으로 배웠다. 지표를 늘리면 판단이 좋아질 것 같은데, 먼저 늘어나는 건 설정의 복잡도다.
4. 역 헤드 앤 숄더, 이 구간의 주인공
이 글에서 제일 재미있었던 대목이다. 7월 말 폭락과 8월 반등이 완성된 역 헤드 앤 숄더를 만들었다.

왼쪽 어깨 7/20 저가 240,000
머리 7/29 저가 189,200 ← 기간 최저 · 최대 거래량
오른쪽 어깨 8/11 저가 227,500
넥라인 7/31 고가 267,000
--------------------------------------------------
돌파 8/13 종가 268,000 넥라인 위 마감
8/14 종가 274,500 추가 상승 확인
--------------------------------------------------
어깨 비대칭 왼쪽 240,000 vs 오른쪽 227,500 (5.2% 차이)
시간 간격 어깨→머리 6봉 · 머리→어깨 8봉 (비교적 대칭)교과서와 꽤 잘 맞는다. 어깨 높이가 5.2% 차이 나는 정도는 보통 허용 범위로 보고, 시간 간격도 6봉 대 8봉이면 균형이 나쁘지 않다. 머리 자리에서 거래량이 기간 최대였다는 것도 정석대로다. 항복 매물이 쏟아진 자리가 머리라는 게 이 패턴의 논리니까.
계측 목표라는 것
이 패턴에는 목표가를 뽑는 공식이 딸려 있다.
머리 깊이 = 넥라인 − 머리
= 267,000 − 189,200
= 77,800
목표 = 넥라인 + 머리 깊이
= 267,000 + 77,800
= 344,800
--------------------------------------------------
8/14 종가 274,500 기준 +25.6% 지점
기간 최고 374,500 대비로는 아직 −7.9% 자리
--------------------------------------------------
※ 이건 예측이 아니라 패턴의 산술이다. 맞을 이유가 없다이 숫자를 어떻게 대할지가 관건이다. 344,800은 전망이 아니다. 패턴 정의에 딸려 나온 산술일 뿐이라 거기 도달할 근거는 어디에도 없고, 다음 글의 SK하이닉스 사례에서는 이런 목표치가 원 단위로 맞은 다음 곧바로 크게 깨지는 장면까지 나온다.
이런 숫자를 다룰 때 내 기준은 하나다. 검증할 수 있느냐. 손절 −2.5%는 실측 58건을 손절선별로 다시 계산해 기대값 +0.209%를 확인하고 나서 채택했다. 344,800에는 그 절차를 밟을 방법이 없다. 표본이 1건이니까.
코드로 옮길 때의 진짜 난관
역 헤드 앤 숄더를 봇에 넣으려면 어깨부터 찾아야 한다. 어깨는 스윙 저점이고, 스윙 저점의 정의는 이렇다.
정의: 좌우 k봉보다 저가가 낮으면 스윙 저점
--------------------------------------------------
k=3 6/11 · 6/23 · 7/02 · 7/20 · 7/29 · 8/11 6개
→ 7/20, 7/29, 8/11 이 잡힌다 (어깨·머리·어깨)
k를 키우면 어깨가 사라진다
k를 줄이면 노이즈 저점이 어깨로 잡힌다
--------------------------------------------------
즉 "패턴이 있다" 는 결론 자체가 k에 종속된다
k=3 을 고른 근거? 없다. 그게 예쁘게 나와서다시각적 패턴의 근본 문제가 여기 있다. 패턴을 찾는 파라미터를 내가 고르고, 그 파라미터가 패턴의 존재 여부를 결정한다. RSI는 이러지 않는다. 기간 14로 계산한 값은 누가 돌려도 같다. 문턱을 어디 둘지는 다툴 수 있어도 값 자체는 흔들리지 않는다.
5시대에 앵커드 VWAP을 봇에서 빼낸 이유와 정확히 같은 구조다. 사람이 앵커를 찍으면 강력한데, 앵커를 고르는 규칙을 만드는 순간 그 규칙이 또 하나의 튜닝 대상이 된다. 좋은 지표와 자동화하기 좋은 지표는 다르다.
5. 강세 플래그는 성립하지만 교과서보다 헐겁다
8월 반등 구간에도 플래그가 있다. 정직하게 적자면 교과서보다 헐겁다.

깃대 7/30 종가 207,000 → 7/31 종가 262,500 (+26.81%)
깃대 폭 = 55,500
깃발 8/03 종가 239,500 → 8/11 종가 230,000
8/11 저가 227,500
--------------------------------------------------
되돌림 = (262,500 − 227,500) ÷ 55,500 = 63.1%
--------------------------------------------------
교과서는 보통 38~50% 되돌림을 플래그로 본다
63%면 "깃발" 보다 "조정" 에 가깝다 — 나는 △로 판정했다
돌파 8/12 종가 255,500 → 8/13 268,000 → 8/14 274,500결과만 보면 돌파했으니 맞은 패턴이다. 그런데 결과로 패턴을 판정하면 아무것도 못 배운다. 되돌림이 63%까지 갔다는 건, 그 자리에서 실시간으로 보고 있었다면 “플래그 깨졌네” 하고 접었을 가능성이 높다는 얘기다.
사후 판정의 함정이 이렇게 생긴다. 차트를 다 그려놓고 보면 8월 3~11일은 예쁜 눌림이다. 8월 11일 장중에는 그냥 계속 흘러내리는 차트였다.
8/03 239,500 전일 262,500 대비 −8.8%
8/04 240,000
8/05 246,000 반등하나?
8/06 230,500 −6.3%
8/07 231,000
8/10 230,000 7/31 급등분의 절반 반납
8/11 239,500 장중 저가 227,500 찍고 마감은 +4.1%
--------------------------------------------------
6거래일 연속 하락 압박. "깃발" 이라고 부를 배짱이 있었을까
8/11 의 아래꼬리(227,500 → 239,500)가 사실상 유일한 신호였다6. 성립하지 않는 것들이 더 중요하다
패턴 글은 대개 맞은 것만 보여준다. 안 맞은 걸 적어야 기준이 생긴다.
이중 바닥은 아니다
7월 29일 저점과 8월 11일 저점을 나란히 놓으면 이중 바닥이라 부르고 싶어진다. 숫자를 보면 아니다.
첫 저점 7/29 189,200
둘째 저점 8/11 227,500
--------------------------------------------------
차이 = (227,500 − 189,200) ÷ 189,200 = +20.2%
--------------------------------------------------
이중 바닥은 두 저점이 대체로 3% 이내여야 한다는 게 통설
20%면 같은 바닥이 아니라 그냥 "더 높은 저점" 이다
→ 이건 이중 바닥이 아니라 역 H&S 의 오른쪽 어깨다
같은 두 점을 놓고 “이중 바닥"이라 부르면 틀리고 “오른쪽 어깨"라 부르면 맞다. 패턴 이름은 데이터가 정해주지 않는다. 내가 고른다. 위험한 성질이다.
컵 앤 핸들도 아니다
컵 앤 핸들은 완만한 U자 바닥 뒤에 작은 손잡이가 붙는 모양이다. 이 구간의 바닥은 U가 아니다.
7/27 254,000
7/28 220,000 −13.39%
7/29 208,500 저가 189,200
7/30 207,000
7/31 262,500 +26.81%
--------------------------------------------------
바닥 체류 3거래일. 낙하 2일 · 반등 1일
U자가 아니라 완벽한 V자다 → 컵 앤 핸들 불성립
V자 바닥은 "축적" 이 없다는 뜻 — 컵의 논리와 정반대컵 앤 핸들의 논리는 긴 바닥에서 매물이 소화된다는 데 있다. 3일 만에 튀어 오른 바닥에는 소화할 시간이 없었다. 모양이 안 맞으면 논리도 안 맞는다.
정방향 헤드 앤 숄더와 이중 천장도 없다
고점 쪽은 더 간단하다. 6월 19일 374,500이 이 구간의 유일한 봉우리고, 왼쪽 어깨가 될 만한 직전 고점이 없다. 6월 25일 362,500은 봉우리라기보다 하락 도중의 반등이다. 두 번째 봉우리가 없으니 이중 천장도 성립하지 않는다.
다음 글의 SK하이닉스는 여기가 완전히 다르다. 같은 시장, 같은 기간인데 하이닉스에는 교과서적인 이중 천장이 있다. 종목마다 모양이 다르다는 게 패턴 분석의 재미이자 함정이다.
7. 엘리어트 파동은 셀 수는 있는데
목록에 엘리어트가 있으니 이것도 본다. 이 랩에는 이미 엘리어트를 다룬 글이 있고, 그때 결론은 “봇에 넣을 수 없다"였다. 이번 데이터로 다시 확인한다.
① 6/19 374,500 → 7/02 종가 286,000
② 7/02 → 7/06 종가 318,000 되돌림
③ 7/06 → 7/20 종가 244,000 가장 긴 파동
④ 7/20 → 7/23 종가 270,000 되돌림
⑤ 7/23 → 7/29 저가 189,200 최종 하락
--------------------------------------------------
그럴듯하다. ③이 가장 길다는 규칙도 지켜진다
문제: 이 파동 구분을 7/29 이전에 할 수 있었나?
⑤가 끝났는지 ⑤ 안의 소파동인지는 끝나야 안다파동 카운팅의 문제는 끝나야 셀 수 있다는 데 있다. ⑤파가 189,200에서 끝났다는 건 지금 뒤돌아보니 아는 것이고, 7월 30일 시점에는 ⑤파가 더 이어질지, ⑥파라는 건 없으니 여기서 반등할지 알 수 없었다.
그래서 이 랩의 판정은 그대로다. 엘리어트는 해석 도구지 신호 도구가 못 된다. 봇에게 물어볼 수 있는 건 “지금이 몇 파인가” 같은 질문이 아니다. “지금 RSI가 45 이하인가” 정도다.
8. 낙폭 곡선과 항복의 흔적
패턴에서 잠깐 떨어져서 이 구간의 성격을 두 장으로 본다.

기간 최고가를 0%로 놓고 종가를 환산한 그림이다. 삼성전자는 −47.9%까지 갔다가 −26.7%로 올라왔다. SK하이닉스는 더 깊이 갔다가 덜 올라왔다. 같은 사이클을 지났는데 진폭이 다르다.

개인적으로는 이 산점도가 제일 실용적이었다. 가로축이 거래량, 세로축이 등락률인데 평균 거래량 오른쪽에 큰 하락과 큰 반등이 같이 몰려 있다.
7/29 61,720,190주 −5.23% 저가 189,200 (기간 최저)
7/31 57,878,850주 +26.81% 최대 상승일
7/30 46,149,140주 −0.72%
6/24 47,809,959주 +9.84%
--------------------------------------------------
기간 평균 거래량 30,236,517주
--------------------------------------------------
바닥과 최대 반등이 거래량 1·2위 날에 함께 있었다
다만 이건 사후 관찰이다 — 7/29 당시엔 그냥 폭락일이었다“거래량 터진 날이 바닥"이라는 말은 맞기도 하고 틀리기도 한다. 여기서는 맞았다. 그런데 7월 28일에도 4,035만 주가 터졌고 그날은 바닥이 아니었다. 거래량 급증은 전환의 필요조건일 수는 있어도 충분조건이 못 된다.
내 봇이 거래량을 게이트로 쓰는 방식이 소극적인 이유가 이건데, “거래량이 터지면 산다"로는 안 쓰고 “거래량이 너무 없으면 안 산다” 쪽으로만 쓴다. 사도 못 파는 종목을 걸러내는 용도지 신호가 아니다.
9. 그래서 봇에 넣을 것인가
정리하면 이렇다.
차트 패턴 계산 지표(RSI 등)
값의 객관성 탐지 파라미터 종속 누가 계산해도 동일
자유 파라미터 4~6개 1~2개
실시간 판정 완성돼야 안다 매 봉 계산 가능
검증 가능성 표본이 극히 적다 전 구간 재계산 가능
사후 편향 매우 큼 작음
--------------------------------------------------
결론: 패턴은 읽는 데 쓰고, 규칙은 계산 지표로 만든다안 넣는다. 버리지도 않는다.
차트 패턴이 쓸모없다는 얘기는 아니다. 이 구간을 패턴 언어로 읽으니 “7월 말에 항복이 나왔고 8월에 어깨를 만들며 넥라인을 넘었다"는 서술이 가능해졌고, 이건 “RSI가 30 아래로 갔다가 50을 회복했다"보다 훨씬 많은 걸 담는 문장이다.
관건은 그 서술을 사전에 할 수 있느냐다. 못 한다. 그래서 패턴은 사후 복기와 시장 이해 쪽에 두고, 진입 규칙은 계산 가능한 지표로 만든다. 역할을 나누는 것이다.
4시대 병렬 실험기에서 배운 게 이거였다. 좋은 아이디어 두 개를 한 계좌에 넣으면 둘 다 나빠질 수 있다. 한 봇은 한 성격만. 패턴 인식과 게이트 판정은 성격이 다른 일이고, 섞으면 어느 쪽이 틀렸는지 알 수 없게 된다.
10. 오늘 남는 것
첫째, 안 맞는 패턴을 세는 편이 맞는 패턴을 찾는 것보다 유용하다. 아홉 개 중 다섯은 없었다. 이 비율을 알고 나면 “차트에 패턴이 보인다"는 말이 얼마나 헐거운지 감이 온다.
둘째, 패턴이 있냐 없냐가 탐지 파라미터에 달렸다면 그건 관찰이 아니다. 선택이다. k=3으로 스윙을 잡으니 어깨가 셋 나왔다. k를 바꾸면 결론이 바뀐다. 값 자체가 객관적인 지표와는 다른 종류의 물건이다.
셋째, 계측 목표는 예측이 아니다. 패턴 정의에 딸린 산술이다. 344,800에 근거가 있다고 믿는 순간 위험해진다. 다음 글에서 이 숫자가 정확히 맞았다가 곧바로 크게 깨지는 실제 사례를 보게 된다.
시장이 틀린 게 아니라 사람이 틀린 거라는 제시 리버모어의 말을 차트 패턴 쪽으로 옮기면 이렇게 된다. 틀린 쪽은 패턴이 아니다. 패턴을 찾는 기준을 내가 정했다는 사실을 잊은 쪽이 틀렸다.
가격은 stockanalysis.com 일봉을 2026-08-14에 받아 적었고, 지수 수치의 출처는 본문에 달았다. 추천은 없다.
약어 풀이
* 이 글에 나온 영어 약어를 풀어 둔다.
- RSI (Relative Strength Index): 상대강도지수. 일정 기간 평균 상승폭과 평균 하락폭의 비율을 0~100 으로 나타내 과매수·과매도를 재는 모멘텀 오실레이터.
- VWAP (Volume Weighted Average Price): 거래량가중평균가격. 체결가를 거래량으로 가중해 평균한 값. 앵커드 VWAP 은 특정 시점을 기준으로 누적한다.
- H&S (Head and Shoulders): 헤드앤숄더. 왼어깨·머리·오른어깨 세 봉우리로 이뤄진 천장형 반전 패턴. 뒤집힌 것이 역헤드앤숄더(바닥형).
- ETF (Exchange Traded Fund): 상장지수펀드. 지수를 따라가도록 만들어 거래소에 상장한 펀드.
- ADR (American Depositary Receipt): 미국주식예탁증서. 해외 기업 주식을 미국 시장에서 거래할 수 있게 만든 증서.