세 번째 종목을 고른 이유
삼성전자편과 SK하이닉스편에서 아홉 개 패턴을 실제 일봉에 대봤다. 두 종목 열여덟 칸 중 성립한 건 넷이었다.
이번엔 패턴 목록을 열세 개로 늘렸다. 앞의 아홉 개에 약세 페넌트, 강세 페넌트, 직사각형, 삼각형이 추가됐다. 그리고 종목도 반도체 밖으로 나간다. LG전자·현대차·NAVER·SK텔레콤 — 업종이 다 다르고, 같은 시장에서 같은 두 달을 지나온 네 종목이다.
LG전자를 첫 타자로 잡은 건 이 구간의 모양이 가장 단순해서다. 단순한데 극단적이다. 53거래일 만에 고점 대비 3분의 1 토막이 났다.
종목 LG전자 (066570)
구간 2026-06-01 ~ 2026-08-14 · 53 거래일
출처 stockanalysis.com 일봉 (2026-08-14 조회)
--------------------------------------------------
기간 최고 438,000원 (6/02 고가)
기간 최저 141,900원 (7/29 저가)
최종 종가 215,000원 (8/14)
--------------------------------------------------
고점 → 저점 −67.60%
저점 → 현재 +51.52%
고점 대비 현재 −50.91%이 글의 모든 가격은 위 출처의 일봉이고 내가 만들어낸 값은 없다. 계산이 들어간 곳은 식을 같이 적었다.
이 글은 차트 패턴을 코드로 옮기는 방법을 다루는 학습 기록이다. 특정 종목의 매수·매도 권유가 아니다.
1. 실적은 122% 늘었고 주가는 반토막이 났다
패턴 얘기 전에 배경을 한 번만 짚는다.

7월 8일자 노머니 기사에 이런 문장이 있다. “39만2500원을 기록했던 LG전자 주가가 한 달여 만인 7월 6일 18만5700원까지 52.69% 급락했다.” 같은 기사가 2분기 실적 전망을 이렇게 적었다 — 매출 22조7,949억 원, 영업이익 1조4,226억 원으로 영업이익 122.5% 증가. 자회사 LG이노텍은 영업이익 1,908억 원으로 1,574.7% 늘었고, 미국 관세 환급금이 약 3,000억 원 수준이라는 설명도 붙었다.
기사에 나온 두 숫자를 내가 가진 일봉에 대봤다. 6월 2일 종가 392,500원, 7월 6일 종가 185,700원. 원 단위까지 일치한다. 서로 다른 출처의 값이 맞아떨어지면 데이터를 믿어도 된다는 뜻이라서, 이런 대조는 항상 먼저 한다.
최대 하락일 6/04 −16.43%
두 번째 6/08 −11.55%
최대 상승일 8/12 +12.82% 종가 205,000
두 번째 7/31 +9.53% 종가 162,100
--------------------------------------------------
최대 거래량 6/02 10,466,700주 (평균의 4.8배)
기간 평균 거래량 2,197,100주
--------------------------------------------------
낙폭의 절반이 6월 첫 7거래일에 나왔다6월 2일 하루에 1,046만 주가 거래됐다. 기간 평균의 4.8배다. 그리고 그날이 고점이었다. 가장 많이 사고팔린 날이 가장 비싼 날이었다는 건 차트를 보는 사람 입장에서는 꽤 잔인한 사실이다.
실적이 122% 늘었는데 주가가 반토막 났다는 문장을 어떻게 읽어야 하는지는 나도 모르겠다. 다만 차트 패턴을 코드로 옮기는 입장에서는 분명한 함의가 있다. 패턴은 실적을 모른다. 캔들은 그날 체결된 값의 요약일 뿐이고, 그 값이 왜 그렇게 됐는지에 대한 정보는 하나도 안 들어 있다. 나는 그걸 잊지 않으려고 매번 이 문단을 쓴다.
2. 열세 개 패턴, 하나씩 대본다
패턴 목록이 아홉에서 열셋으로 늘었다. 각각을 LG전자 실제 데이터에 대보고 성립하면 근거를, 안 되면 왜 안 되는지를 적는다. 결론부터 말하면 이 종목은 성립이 한 개다.
✔ 직사각형(박스) 6/30~7/16 상하단 각 3회 터치 · 하방 이탈
△ 강세 플래그 8/06~8/11 깃대는 맞고 채널 기울기가 반대
△ 이중 바닥 6/26·7/07 두 저점 차이 4.84% — 기준 초과
△ 엘리어트 파동 셀 수는 있으나 사후 해석
✘ 이중 천장 두 봉우리 차이 6.81% — 아님
✘ 헤드 앤 숄더(정방향) 고점 3개가 전부 계단식 하락
✘ 역 헤드 앤 숄더 저점 5개가 전부 계단식 하락
✘ 약세 플래그 후보 2건 — 채널 방향·되돌림 깊이 모두 실격
✘ 약세 페넌트 수렴은 있으나 폭이 41%
✘ 강세 페넌트 8월 구간은 수렴이 아니라 확산
✘ 컵 앤 핸들 바닥이 U자가 아니라 V자
✘ 역 컵 앤 핸들 해당 구간 없음
✘ 삼각형(상승·하락·대칭) 스캔 결과 0건열셋 중 하나. 삼성전자가 아홉 중 둘, 하이닉스가 아홉 중 둘이었으니 비율이 더 낮아졌다.
이번에 새로 들어온 네 개부터 정의를 고정하고 가야 한다. 말로 하면 다 비슷해 보이는데, 코드로 옮기려면 서로 배타적이어야 하기 때문이다.
직사각형 상단·하단이 모두 수평
→ 고점끼리 x% 이내, 저점끼리 x% 이내
삼각형 한쪽 또는 양쪽이 기울어짐
상승삼각형 = 상단 수평 + 하단 상승
하락삼각형 = 상단 하락 + 하단 수평
대칭삼각형 = 상단 하락 + 하단 상승
플래그 급등·급락(깃대) 뒤 평행 채널
채널 방향은 깃대와 반대
페넌트 급등·급락(깃대) 뒤 수렴 채널
= 짧은 대칭삼각형 + 깃대
--------------------------------------------------
삼각형과 페넌트의 차이는 "앞에 깃대가 있느냐" 하나뿐
플래그와 페넌트의 차이는 "평행이냐 수렴이냐" 하나뿐이렇게 적어놓고 보면 네 패턴이 사실상 같은 재료를 다르게 자른 것이라는 게 드러난다. “가격이 한동안 좁은 구간에 머물렀다"는 하나의 현상을, 위아래 경계선의 기울기 조합으로 나눈 것뿐이다. 그런데 이름이 달라지면 붙어 있는 해석도 달라진다. 대칭삼각형은 방향 중립, 페넌트는 깃대 방향 지속, 하락삼각형은 하방 우세 — 같은 모양에 서로 다른 결론이 붙는다.
이 점은 뒤에 나올 현대차편에서 아주 노골적으로 드러난다. 거기서는 같은 12거래일이 하락 삼각형이자 강세 페넌트이자 이중 천장이었다.
다시 LG전자로 돌아온다. 열셋 중 아홉이 불성립인 이유는 스윙 고점과 저점을 k=3 기준으로 뽑아보면 한눈에 나온다.
스윙 고점
6/15 262,000
7/13 208,500
7/22 194,300
스윙 저점
6/11 207,500
6/26 183,900
7/07 175,000
7/21 162,800
7/29 141,900
--------------------------------------------------
고점 3개도, 저점 5개도 예외 없이 단조 감소한다
가운데가 가장 높은 3연속 = 0건 → 헤드 앤 숄더 불가
가운데가 가장 낮은 3연속 = 0건 → 역 헤드 앤 숄더 불가어깨 계열 패턴은 되돌아오는 움직임을 전제로 한다. 머리를 만들고 다시 어깨 높이로 올라와야 한다. LG전자의 6~7월에는 그 되돌아옴이 없었다. 계단으로 내려가기만 했다. 그래서 어깨 계열이 전부 0건인 것이고, 이건 탐지 알고리즘의 한계가 아니라 그 구간의 성격 자체다.
3. 유일하게 성립한 패턴 — 직사각형
6월 말부터 7월 중순까지 12거래일 동안 가격이 좁은 띠 안에 갇혀 있었다.

저항선 (상단)
6/30 고가 207,500
7/08 고가 206,000
7/13 고가 208,500 → 3회 터치, 편차 1.21%
지지선 (하단)
7/07 저가 175,000
7/09 저가 175,400
7/14 저가 175,800 → 3회 터치, 편차 0.46%
--------------------------------------------------
박스 높이 208,500 − 175,000 = 33,500원 (19.14%)
지속 기간 12 거래일
이탈 7/20 종가 167,200 — 지지선 −4.46%직사각형은 판정이 쉬운 편이다. 상단과 하단이 각각 수평이고, 양쪽에 최소 두 번씩 닿아야 한다. 여기서는 세 번씩 닿았고 하단 세 점의 편차가 0.46%다. 175,000 · 175,400 · 175,800 — 800원 안에서 세 번 멈췄다는 건 우연으로 보기 어렵다.
그리고 이 패턴에는 목표가 공식이 붙어 있다. 이탈 방향으로 박스 높이만큼 간다는 것.
지지선 175,000
박스 높이 33,500
--------------------------------------------------
계측 목표 175,000 − 33,500 = 141,500원
실제 기간 최저 7/29 저가 141,900원
--------------------------------------------------
차이 400원 · 0.28%
※ 이건 예측이 아니라 패턴 정의에 딸린 산술이다400원. 0.28%.
이 숫자를 처음 계산했을 때 솔직히 기분이 좋았다. 그리고 곧바로 그 기분을 경계해야 한다는 걸 떠올렸다. 하이닉스편에서 계측 목표 1,919,000원이 원 단위로 맞은 다음 거기서 35% 더 빠지는 장면을 이미 봤기 때문이다.
맞았다는 사실 자체는 정보가 아니다. 표본이 하나이고, 이탈 시점에 이 계산을 했다면 목표까지 −15.4%를 견뎌야 했다. 그 사이 7월 22일에 194,300원까지 되돌아오는 구간이 있었는데, 실시간이었다면 거기서 “이탈이 실패했다"고 판단했을 가능성이 훨씬 높다. 결과를 알고 나서 보는 차트와 왼쪽만 보이는 차트는 다른 물건이다.
4. 8월 반등은 강세 플래그인가
7월 29일 141,900원을 찍고 8월 14일 215,000원까지 51.52% 올라왔다. 이 반등을 패턴 언어로 부를 수 있는지 봤다.

깃대 7/30 종가 148,000 → 8/05 종가 179,500
4 거래일 +21.28% 조건 충족
되돌림 8/06 저가 171,600 = 깃대의 25.1%
교과서 기준 50% 이내 조건 충족
기간 4 거래일 (8/06 ~ 8/11) 조건 충족
채널 기울기
상단 181,200 → 187,700 우상향
하단 169,000 → 181,700 우상향
--------------------------------------------------
강세 플래그는 깃대와 반대 방향(우하향) 채널이어야 한다
세 조건 충족, 한 조건 반대 → △깃대도 맞고 되돌림 깊이도 맞고 기간도 맞는데 기울기만 반대다. 그럼 뭐라고 불러야 하나.
솔직히 말하면 이건 패턴이 아니라 그냥 상승 중 짧은 횡보다. 플래그의 논리는 급등 뒤에 차익 실현이 나오면서 가격이 눌리고, 그 눌림이 끝나면 다시 간다는 것이다. 눌림이 없이 옆으로만 갔다면 논리의 절반이 빠진 것이다. 그래서 △로 적었다.
그리고 8월 12일에 하루 +12.82%가 나오면서 205,000원으로 올라섰다. 결과만 보면 “플래그 돌파"라고 부를 수 있다. 하지만 결과로 패턴을 판정하면 배우는 게 없다. 8월 11일 종가 181,700원 시점에 내가 이걸 플래그라고 부를 수 있었느냐가 진짜 질문이고, 답은 “아니오"다.
5. 약세 플래그 후보 두 건, 둘 다 실격
하락 구간이 이렇게 길었으니 약세 플래그 하나쯤은 있을 법한데 없었다. 후보는 두 건이었고 둘 다 다른 이유로 떨어졌다.
깃대 6/02 종가 392,500 → 6/08 종가 268,000
3 거래일 −31.72% 깃대는 충분
이후 8봉 채널
상단 기울기 −1.99%/봉
하단 기울기 −0.49%/봉
--------------------------------------------------
약세 플래그는 하락 깃대 뒤 "우상향" 채널이어야 한다
여기는 상·하단이 모두 계속 내려간다 → 깃발이 아니라 연장
게다가 채널 폭이 41% — 깃발이라 부를 수 있는 폭이 아니다 깃대 7/23 종가 187,500 → 7/29 종가 150,500
4 거래일 −19.73% 깃대는 충분
이후 되돌림 추이
+4봉 56.6% 이미 50% 기준 초과
+5봉 103.4% 깃대를 전부 되돌림
+8봉 135.0% 깃대 시작점을 넘어섬
--------------------------------------------------
되돌림이 100%를 넘는 순간 이건 깃발이 아니라 추세 전환이다후보 ②가 흥미롭다. 깃대가 끝난 7월 29일 시점에는 되돌림이 0%였고, 4봉 뒤에 56.6%가 됐다. 그 시점에 실시간으로 보고 있었다면 “50%를 넘었으니 깃발 실패"라고 판정했을 것이다. 그리고 그 판정은 맞다 — 실제로 깃발이 아니었으니까. 다만 깃발이 실패한 게 아니라 방향이 바뀐 것이었고, 그 구분은 몇 봉 더 지나야 가능했다.
같은 이유로 약세 페넌트도 없다. 6월 초 구간은 상·하단이 좁아지긴 하는데 폭이 41%다. 페넌트는 깃대 뒤에 붙는 작은 삼각형이어야 하는데, 41%짜리를 페넌트라고 부르면 그건 그냥 또 하나의 하락 파동이다. 크기 기준을 안 걸면 뭐든 페넌트가 된다.
6. 이중 바닥으로 보고 싶었던 자리
안 맞은 것도 적어야 기준이 생긴다. 6월 말~7월 초에 이중 바닥처럼 생긴 자리가 있었다.

저점 ① 6/26 183,900
저점 ② 7/07 175,000
사이 마루 6/30 207,500
--------------------------------------------------
두 저점 차이 4.84% 기준 3% 이내 → 실격
간격 7 거래일 기준 5봉 이상 → 충족
마루 높이 +12.83% 기준 10~20% → 충족
--------------------------------------------------
그리고 이후 7/21 162,800 · 7/29 141,900 으로
두 저점을 모두 깨고 내려간다 — 완전 무효화기준을 3%로 잡으면 탈락, 5%로 잡으면 통과다. 문턱을 어디 두느냐로 패턴의 존재 여부가 갈린다. 그리고 그 문턱은 내가 정한다.
이게 시각적 패턴의 근본 문제라고 삼성전자편에서 이미 썼는데, 여기서 한 번 더 확인됐다. RSI는 이런 식으로 흔들리지 않는다. 같은 기간 설정이면 누가 돌려도 같은 값이 나오고, 그 값을 놓고 문턱을 몇으로 할지만 다투면 된다. 반면 “이중 바닥이 있다/없다"는 진술은 값이 아니라 판정이고, 판정 기준을 내가 골랐다는 사실이 진술 안에 숨어버린다.
내 봇의 게이트가 전부 계산 지표로만 이뤄진 건 이런 이유 때문이다. RSI 45라는 문턱도 내가 골랐지만, 그 문턱을 바꿔서 과거 매매기록을 다시 돌리면 결과가 숫자로 나온다. 검증이 되는 것이다. “이중 바닥 기준을 3%에서 5%로 바꾸면 수익이 얼마나 달라지나"는 질문은 표본이 없어서 답이 안 나온다.
7. 네 종목을 같이 놓고 보면
이번 스터디의 네 종목을 6월 1일 종가 100으로 맞춰서 겹쳐 봤다.

같은 시장에서 같은 두 달을 지났는데 8월 14일 기준 지수가 56.5부터 89.6까지 벌어져 있다. LG전자가 가장 많이 빠졌고 SK텔레콤이 가장 덜 빠졌다.

고점→저점 저점→8/14 고점대비 현재
LG전자 −67.60% +51.52% −50.91%
현대차 −56.77% +33.83% −42.15%
NAVER −40.43% +27.55% −24.01%
SK텔레콤 −45.52% +32.24% −27.96%
--------------------------------------------------
낙폭이 클수록 되돌림도 크지만, 원위치와는 거리가 멀다여기서 산수를 한 번 짚고 넘어가야겠다. −67.60%를 회복하려면 +208.6%가 필요하다. +51.52%는 그 3분의 1도 안 된다. 하락률과 상승률이 대칭이 아니라는 건 다들 아는 얘기지만, 실제 숫자로 보면 감이 다르다.
이 비대칭이 내 봇의 손절 −5%가 왜 그 자리에 있는지를 설명한다. −5%는 +5.26%로 복구된다. −20%는 +25%다. −50%는 +100%다. 손실이 커질수록 복구 난이도가 기하급수로 올라가기 때문에, 손절은 “얼마를 잃어도 되는가"가 아니라 “얼마까지가 복구 가능한 범위인가"로 정하는 게 맞다고 생각한다.
8. 이걸 봇에 넣을 것인가
직사각형은 열세 개 중에서 가장 코드로 옮기기 쉬운 패턴이다. 어깨도 넥라인도 필요 없고, 최근 N봉의 고가·저가 분포만 보면 된다.
1 최근 N봉의 스윙 고점들이 서로 x% 이내인가
2 최근 N봉의 스윙 저점들이 서로 x% 이내인가
3 상단·하단에 각각 2회 이상 닿았는가
4 박스 높이가 최소 y% 이상인가 (너무 좁으면 노이즈)
5 종가가 상단/하단을 z% 넘어섰는가 → 이탈 판정
--------------------------------------------------
자유 파라미터 N, x, y, z 네 개
그리고 네 개를 어떻게 고를지는 데이터가 안 알려준다안 넣는다. 이유는 파라미터 네 개 때문이다.
내 개발 규율은 하나다 — 모든 파라미터는 실제 매매기록 시뮬레이션으로 검증된 값만 배포한다. RSI 문턱 45는 8.9일치 매매기록을 전수로 훑어서 뽑았고, 커밋에 근거 수치를 같이 넣었다. 직사각형 탐지기의 N·x·y·z 네 개를 같은 방식으로 정하려면 박스 이탈 사례가 최소 수십 건 필요한데, 4슬롯으로 두 달 돌린 기록에 그런 표본이 없다.
검증할 수 없는 정교함보다 검증 가능한 단순함. 3시대 단일파일 진화기에서 1,500줄짜리 모놀리스를 만들었다가 배운 문장이다. 기능을 늘리는 건 쉽고, 늘어난 기능이 옳은지 확인하는 건 어렵다. 확인이 안 되는 기능은 결국 부채가 된다.
파라미터가 늘어나면 왜 위험한지는 4시대 병렬 실험기에서 몸으로 배웠다. 그때 HY·BASE·MACRO 세 봇을 동시에 돌렸는데, 각 봇의 파라미터가 대여섯 개씩이었다. 어느 봇이 좋았는지는 알 수 있었지만 왜 좋았는지는 끝내 못 밝혔다. 파라미터 다섯 개면 조합이 수천 가지고, 두 달치 매매기록으로는 그중 몇 개도 못 밟아본다. 조합을 다 못 밟으면 “이 값이 좋다"는 결론은 그냥 그날 운이 좋았다는 말과 구분이 안 된다.
지금 봇의 게이트가 열 개인데도 각 게이트가 파라미터 한두 개짜리 단순한 조건인 이유가 이거다. 게이트 하나가 틀리면 그 게이트만 끄고 다시 돌려보면 된다. 직사각형 탐지기는 그렇게 못 끈다. N을 바꾸면 x·y·z의 적정값이 전부 따라 움직이기 때문이다.
다만 직사각형은 읽는 데는 계속 쓸 생각이다. “7월 초 LG전자는 175,000~208,500 박스에 갇혀 있었고 7/20에 아래로 뚫렸다"는 서술은 “RSI가 40 근처를 오갔다"보다 훨씬 많은 걸 담는다. 사후 복기와 시장 이해에는 쓰고, 진입 규칙에는 안 쓴다. 역할을 나누는 것이다.
9. 남기고 싶은 세 문장
첫째, 패턴이 없는 것도 정보다. 열세 개 중 아홉이 불성립이었고, 그 이유가 전부 같았다 — 되돌아오는 움직임이 없었다. “패턴이 안 보인다"는 관찰은 “이 구간은 일방적이었다"는 진술과 같은 말이고, 이건 꽤 유용한 정보다.
둘째, 계측 목표가 맞았다는 사실보다 그때까지 견뎌야 했던 폭이 중요하다. 141,500원은 0.28% 오차로 맞았다. 그런데 이탈점 167,200원에서 거기까지 −15.4%였고, 중간에 +16.2% 되돌림이 있었다. 목표가 맞았다는 결과와 그 과정을 버틸 수 있었느냐는 완전히 다른 질문이다.
셋째, 하락률과 상승률은 대칭이 아니다. −67.60%는 +208.6%로만 복구된다. 손절선은 감내할 수 있는 손실이 아니라 복구 가능한 손실로 정해야 한다는 게 이 숫자가 말해주는 전부다.
손실을 줄이고 이익은 달리게 두라는 데이비드 리카르도의 두 문장을 나는 오랫동안 심리 조언이라고 읽었다. 이번에 −67.60%와 +208.6%를 나란히 계산해보고 나서야 그게 심리가 아니라 산수였다는 걸 알았다. 그는 감정을 다스리라고 한 게 아니라, 대칭이 아닌 곡선 위에서 어느 쪽에 서 있어야 하는지를 말한 것이다.
다음 글은 현대차편이다. 같은 구간을 하락 삼각형으로도, 역 헤드 앤 숄더로도, 이중 천장으로도 읽을 수 있는 사례가 나온다. 세 이름이 가리키는 방향이 서로 다르다.
이 글은 개인의 학습 기록이며 투자 권유가 아닙니다. 모든 가격은 stockanalysis.com 일봉(2026-08-14 조회) 기준이며, 실적·기사 인용의 출처는 본문에 표기했습니다.