같은 고저 범위, 다른 몸통과 꼬리

편집팀이 만든 가상 가격입니다. 위는 같은 고저 범위를 가진 A·B·C의 몸통과 꼬리, 아래는 같은 C 도지가 남는 두 가격 순서입니다. 세로축은 모두 96~112이며 아래 가로축은 실제 시간 간격이 아닌 진행 순서입니다.

몸통이 길고 꼬리가 짧다는 말은 가격 네 개로 확인할 수 있습니다. 시가·고가·저가·종가를 적고 길이를 나누어 계산하면 됩니다. 다만 그 모양을 읽는 일과 다음 가격을 예측하는 일은 별개의 문제입니다.

따블맨TV 화자는 6월 30일 영상 3분 9초 부근에서 장대 음봉 뒤 도지의 고점을 넘는 매매 조건을 설명하고, 7월 13일 영상 5분 26초 부근에서는 꼬리보다 몸통이 긴 모양을 선호한다고 말합니다. 이 글은 그 기법의 승률을 검증하는 글이 아닙니다. 먼저 몸통과 꼬리를 측정하고, 한 봉에서 알 수 있는 범위를 가상 예제로 살펴봅니다.

몸통과 꼬리를 길이로 바꾸기

TradingView의 캔들 설명에서 몸통은 시가와 종가 사이, 꼬리의 끝은 해당 기간의 고가와 저가입니다. TradingView의 기본 초록·빨강은 시가와 종가를 비교한 표시지만 색은 바꿀 수 있고, 이전 종가를 기준으로 칠하는 옵션도 있습니다. 이 글의 SVG는 종가가 시가보다 높으면 초록, 같으면 회색으로 표시합니다. 다른 화면을 읽을 때에는 색상 설정도 확인해야 합니다.

시가를 O, 고가를 H, 저가를 L, 종가를 C라고 쓰겠습니다. 이 정의를 길이 계산으로 옮기면 다음과 같습니다.

  • 전체 범위 R = H − L
  • 몸통 B = |C − O|: 시가와 종가의 차이에서 부호를 뺀 값
  • 윗꼬리 U = H − max(O, C): 고가에서 시가·종가 중 큰 값을 뺀 길이
  • 아래꼬리 Lw = min(O, C) − L: 시가·종가 중 작은 값에서 저가를 뺀 길이
  • 세 길이의 합은 R = B + U + Lw
  • R이 0보다 클 때 몸통 비율(%) = B ÷ R × 100

L은 저가 자체이고 Lw는 아래꼬리의 길이입니다. 가격과 길이를 같은 항목으로 읽지 않도록 이름을 나눠 적습니다. 아래 예제에서 아래꼬리 4는 저가가 4라는 뜻이 아닙니다.

가상 봉 다섯 개를 직접 계산하기

아래는 편집팀이 만든 학습용 가격입니다. 실제 종목의 시세나 백테스트 결과가 아니며, 가격 단위도 학습용입니다. 각 행은 서로 비교하기 위한 별도 봉으로, A 다음에 B가 나오는 시간 순서가 아닙니다.

봉 ID 시가 (Open) 고가 (High) 저가 (Low) 종가 (Close)
A 100 112 96 110
B 100 112 96 102
C 100 112 96 100
D 110 112 96 100
E 100 100 100 100

공식을 적용한 결과는 다음과 같습니다.

봉 ID 전체 범위 (R) 몸통 길이 (B) 윗꼬리 길이 (U) 아래꼬리 길이 (Lw) 몸통 비율 (%)
A 16 10 2 4 62.5%
B 16 2 10 4 12.5%
C 16 0 12 4 0.0%
D 16 10 2 4 62.5%
E 0 0 0 0 계산 불가

A부터 대입해 보겠습니다. 전체 범위는 112 − 96 = 16, 몸통은 |110 − 100| = 10입니다. 윗꼬리는 112 − 110 = 2, 아래꼬리는 100 − 96 = 4이므로 10 + 2 + 4 = 16으로 합이 맞습니다. 몸통 비율은 10 ÷ 16 × 100 = 62.5%입니다. 여기서 62.5%는 전체 고저 범위 중 몸통이 차지하는 비중입니다. 가격이 62.5% 올랐다는 뜻은 아닙니다.

길이가 같아도 봉이 말하는 것은 다르다

A와 B는 고가 112, 저가 96으로 전체 범위가 모두 16입니다. 종가만 110에서 102로 바꾸면 몸통은 10에서 2로 줄고 윗꼬리는 2에서 10으로 늘어납니다. 그림에서 본 차이를 숫자로 기록할 수 있습니다. 그렇다고 A가 다음에도 오를 확률이 더 높다는 결과가 이 계산에 들어 있는 것은 아닙니다.

A와 D는 몸통 10, 윗꼬리 2, 아래꼬리 4가 모두 같습니다. 그러나 A는 100에 시작해 110에 끝나고, D는 110에 시작해 100에 끝납니다. 길이와 비율만 저장하면 시가 대비 상승인지 하락인지가 빠집니다. 따라서 O와 C도 함께 보존해야 합니다.

E는 네 가격이 모두 100이어서 전체 범위와 몸통이 0입니다. 이때 몸통 비율을 계산하려 하면 0 ÷ 0이 됩니다. E의 비율은 0%가 아니라 계산 불가로 남깁니다. 가격이 전혀 움직이지 않은 봉에 다른 봉과 같은 비율을 붙이지 않는 예외 처리입니다.

같은 도지에서 알 수 없는 장중 순서

TradingView의 Doji 설명은 시가와 종가가 같거나 거의 같은 봉을 도지로 설명하며 꼬리 길이는 달라질 수 있다고 안내합니다. 이 문서에는 ‘거의 같음’을 숫자로 판정하는 기준이 없습니다. 여기서는 임의의 5%나 10% 기준을 만들지 않고, 시가와 종가가 정확히 같은 C를 사용합니다. C의 몸통은 0이지만 윗꼬리는 12, 아래꼬리는 4여서 양쪽 길이가 다릅니다.

편집팀이 만든 다음 두 가격 순서는 모두 C의 OHLC와 일치합니다.

  • 고가 먼저: 100(시가) → 112(고가) → 96(저가) → 100(종가)
  • 저가 먼저: 100(시가) → 96(저가) → 112(고가) → 100(종가)

두 경로 모두 첫 가격과 마지막 가격은 100, 가장 높은 값은 112, 가장 낮은 값은 96입니다. 고가와 저가에 도달한 순서는 반대인데 같은 도지가 남습니다. 따라서 C 하나만 보고 고가에 먼저 갔는지 저가에 먼저 갔는지를 고를 수 없습니다. SVG 아래의 가로축은 이 순서를 표시하며 실제 장중 시간 간격을 재현하지 않습니다.

이 반례는 OHLC만으로 복원할 수 없는 정보가 무엇인지 보여줍니다. 가격별 거래량도 입력하지 않았으므로 어느 가격에서 얼마나 거래됐는지 알 수 없습니다. 같은 이유로 몸통 길이나 도지 출현만을 계산하고 미래 반등의 승률까지 확인했다고 쓸 수는 없습니다.

다음 봉을 보기 전에 남길 기록

실습에서는 종목·거래소·봉 주기와 정규장·시간외 거래 포함 여부를 먼저 적습니다. 아직 마감되지 않은 봉인지도 기록합니다. 이 예제처럼 확정된 OHLC끼리 비교해야 나중에 값이 바뀐 이유를 구분할 수 있습니다.

다음으로 O·H·L·C, 몸통과 두 꼬리, 몸통 비율을 계산합니다. R이 0이면 계산 불가를 적고 넘어갑니다. ‘몸통 비율 62.5%’와 같은 측정값은 관찰 칸에, 다음 움직임에 대한 예상은 예측 칸에 따로 적어 보세요. 예상에는 무엇을 보면 맞거나 틀렸다고 기록할지도 미리 적습니다.

다음 봉이 마감되면 확정된 OHLC를 보고 그 조건을 충족했는지 기록합니다. 다만 그 네 값으로 확인할 수 없는 장중 순서까지 판단하지는 않습니다. 이 과정은 화자의 매매 선호를 그대로 따르는 것보다 앞선, 모양과 수치를 일치시키는 연습입니다.

출처