왜 방향성 지표, 왜 한국전력인가
DMI는 가격이 오르는 힘과 내리는 힘을 따로 떼어 재는 지표다. 상승일의 고가 갱신폭과 하락일의 저가 갱신폭을 각각 누적해서 +DI와 -DI 두 개의 선으로 만든다. +DI가 -DI보다 크면 상승 압력이 우세하다는 뜻이고, 반대면 하락 압력이 우세하다는 뜻이다. 여기에 ADX라는 세 번째 선이 붙는데, 이건 방향과 무관하게 지금 추세가 얼마나 뚜렷한지만 알려준다. +DI와 -DI가 방향을, ADX가 강도를 맡는 구조다.
한국전력은 이번 구간에서 시험대로 쓰기에 조건이 맞는 종목이었다. 7월 6일 39,500원까지 오른 주가가 8월 19일 30,400원까지 밀리면서 고점 대비 23.04% 빠졌고, 이후 다시 34,100원 선까지 반등했다. 하락과 반등이 한 구간 안에 다 들어 있어서, 방향이 뒤집히는 시점마다 DMI가 실제로 얼마나 빨리, 그리고 얼마나 정확하게 따라오는지 확인하기 좋다.
종목 한국전력(015760)
구간 2026-06-30 ~ 2026-09-09 (50거래일)
출처 stockanalysis.com, KRX 일봉
최고가 39,500원 (2026-07-06)
최저가 30,400원 (2026-08-19)
낙폭 최고가 대비 -23.04%
시작종가 37,000원 (2026-06-30)
종료종가 33,750원 (2026-09-09, 구간 누적 -8.78%)
이 글은 투자 권유가 아니다. 계산과 검증 과정을 남기는 기록이다.
지표를 뜯어본다: 계산식과 파라미터
DMI/ADX는 세 단계로 계산한다. 먼저 하루의 변동폭을 재는 TR, 그리고 고가·저가가 전일 대비 얼마나 움직였는지를 재는 +DM과 -DM을 구한다. 이 세 값을 14일 Wilder 평활로 누적한 뒤 비율을 내면 +DI14와 -DI14가 나온다. 이 둘의 차이를 정규화한 값이 DX이고, DX를 다시 14일 평활한 값이 ADX다.
TR max(고가-저가, |고가-전일종가|, |저가-전일종가|)
+DM 고가-전일고가, 단 이 값이 -DM 원값보다 크고 0보다 클 때만, 아니면 0
-DM 전일저가-저가, 단 이 값이 +DM 원값보다 크고 0보다 클 때만, 아니면 0
--------------------------------------------------
TR14 전일TR14 - 전일TR14/14 + 당일TR (첫 값은 14일치 단순 합)
+DM14 전일+DM14 - 전일+DM14/14 + 당일+DM
-DM14 전일-DM14 - 전일-DM14/14 + 당일-DM
--------------------------------------------------
+DI14 100 x (+DM14 / TR14)
-DI14 100 x (-DM14 / TR14)
DX 100 x |+DI14 - -DI14| / (+DI14 + -DI14)
ADX 전일ADX x 13/14 + 당일DX/14 (첫 값은 14일치 DX 단순평균)기간은 14일을 썼다. Wilder가 1978년에 이 지표를 처음 소개할 때 쓴 기본값이고, 이 시리즈에서 이미 다룬 ATR과 같은 기간이라 나란히 놓고 보기도 편하다. 문제는 이번처럼 50거래일 남짓한 데이터에 14일 평활을 두 번 거치면 예열 구간이 길어진다는 점이다. TR과 DM을 먼저 14일 누적해야 +DI14, -DI14가 나오고, 거기서 나온 DX를 다시 14일 누적해야 ADX가 나온다. 실제로 이번 데이터에서 +DI14와 -DI14가 처음 값을 갖는 날은 7월 21일(15번째 거래일)이고, ADX가 처음 값을 갖는 날은 8월 7일(28번째 거래일)이다. 50개 종가 중 ADX를 볼 수 있는 날은 23일뿐이라는 뜻이다. 이 글에 나오는 ADX 수치는 전부 이 23일 구간 안의 값이다.
실측: 교차가 세 번 일어났다

50거래일 동안 +DI14와 -DI14가 자리를 바꾼 시점은 세 번이다.
날짜 +DI14 -DI14 ADX14 종가 판정
--------------------------------------------------
2026-08-26 30.10 24.60 29.89 34,800원 틀림 -8.33%
2026-08-31 24.43 28.32 25.26 31,900원 틀림 +1.72%
2026-09-03 27.58 26.87 21.12 32,450원 맞음 +4.01%(미결)8월 26일, +DI가 24.60이던 -DI를 30.10으로 앞질렀다. 그날 종가는 34,800원으로 전일 대비 6.42% 급등한 날이었다. 상승 전환 신호가 맞다면 이후 주가가 더 올라야 한다. 그런데 다음 교차가 나온 8월 31일까지 종가는 오히려 31,900원으로 8.33% 떨어졌다. 이 신호는 틀렸다.
8월 31일, 이번엔 -DI가 28.32로 +DI 24.43을 다시 앞섰다. 이론대로면 주가가 계속 밀려야 한다. 그런데 다음 거래일인 9월 1일 종가가 32,350원으로 1.41% 올랐고, 다음 교차가 나온 9월 3일까지 누적으로도 31,900원에서 32,450원으로 1.72% 상승했다. 이 신호도 틀렸다. 다만 그 사이 9월 2일 종가가 31,250원까지 한 번 더 밀렸다가 되돌아온 흐름이 있었다. 이틀짜리 창 안에서 하락과 반등이 같이 일어난 결과라, 완전히 방향을 잘못 짚었다기보다는 타이밍이 어긋났다고 보는 편이 정확하다.
9월 3일, +DI가 27.58로 -DI 26.87을 다시 넘었다. 데이터가 끝나는 9월 9일까지 종가는 32,450원에서 33,750원으로 4.01% 올랐다. 방향은 맞았다. 다만 9월 9일 이후 다시 반대 신호가 나올 수 있어서, 이 판정은 아직 미결이다.

세 번 중 두 번이 틀렸다. 표본이 3건뿐이라 통계로 부르기엔 부족하지만, 이번 구간만 놓고 보면 방향을 맞히는 지표로 기대하기엔 성적이 나쁘다.
ADX로 걸러도 크게 나아지지 않는다. 흔히 쓰는 규칙은 ADX가 25를 넘을 때만 DI 교차를 신뢰하고, 그 밑에서는 무시하는 것이다. 그런데 8월 26일 신호가 나온 날 ADX는 29.89로 이미 25를 넘어 있었고, 8월 31일에도 25.26으로 기준선 위였다. 정작 맞은 신호였던 9월 3일의 ADX는 21.12로 기준선 아래였다. 이 구간만 보면 ADX 필터가 틀린 신호 두 개를 걸러내지 못했고, 맞은 신호 하나는 오히려 걸렀을 상황이다.
기간을 바꾸면 신호가 얼마나 달라지나
기간 파라미터에 지표 결과가 얼마나 민감한지 보려고, 같은 데이터에 기간만 9, 14, 20으로 바꿔 +DI와 -DI를 다시 계산했다.

기간 9일에서는 같은 50거래일 동안 교차가 9번 나왔다. 기간 14일에서는 3번, 기간 20일에서는 딱 1번, 그것도 데이터 마지막 날에 가까운 9월 8일에야 나왔다. 짧은 기간일수록 신호가 자주 나오고 그만큼 자주 뒤집힌다는 뜻이다. 14일도 이번 구간에서 절반 넘게 틀렸으니, 더 민감한 9일로 바꿨다면 성적은 더 나빴을 가능성이 크다. 반대로 20일은 신호를 거의 내지 않아 안전해 보이지만, 대신 늦다. 8월 중순의 급락도, 8월 말의 단기 반등도 20일짜리 DI는 하나도 잡아내지 못했다.
봇 게이트에 넣을 것인가
이번 결과만 보면 DMI 교차를 단독 매매 신호로 쓰기는 이르다. 세 번 중 두 번이 틀렸고, ADX 25 기준선 필터도 도움이 안 됐다. 다만 ADX 값 자체의 흐름은 눈여겨볼 만하다. 8월 24일 32.16까지 올랐던 ADX가 9월 7일 18.53까지 꾸준히 내려갔는데, 이 하락은 실제로 추세가 약해지고 방향성 없는 등락으로 바뀌는 구간과 겹친다. 봇 게이트에 넣는다면 DI 교차 자체를 매매 트리거로 쓰기보다, ADX가 떨어지는 국면에서 포지션 크기를 줄이는 보조 신호로 쓰는 편이 더 현실적이지 않을까 싶다. 이것도 50거래일, 교차 3건이라는 작은 표본으로 확정 지을 결론은 아니다.
남는 것
이번 구간에서 남길 건 두 가지다. 첫째, DI 교차는 급등락이 섞인 구간에서 특히 잦게 뒤집힌다. 8월 26일과 8월 31일 신호가 5거래일 사이에 붙어 나온 게 그 증거다. 둘째, ADX 25라는 기준선을 그대로 믿기엔 이번 표본이 너무 작다. 다음에 같은 지표를 다른 종목으로 다시 다룰 때, 25 기준선이 이번처럼 무력한지 아니면 이번 구간이 예외였는지 비교해 볼 필요가 있다.
이 글에 실린 수치는 전부 수집한 일봉과 거기서 직접 계산한 값이다. 매매 판단의 근거로 쓰지 말 것.
약어 풀이
- 이 글에 나온 영어 약어를 풀어 둔다.
- DMI (Directional Movement Indicator): 방향성 지표. 상승 압력과 하락 압력을 나눠서 측정한다.
- ADX (Average Directional Index): 방향성 지표에서 추세의 강도만 뽑아낸 값. 방향은 알려주지 않는다.
- DI (Directional Indicator): +DI(상승 방향 지표)와 -DI(하락 방향 지표)를 함께 부르는 말.
- DX (Directional Movement Index): +DI와 -DI의 차이를 정규화한 값으로, ADX를 만들기 전 단계다.
- TR (True Range): 하루 동안의 실제 변동폭. 전일 종가까지 포함해서 계산한다.
- DM (Directional Movement): 고가·저가가 전일 대비 얼마나 움직였는지를 나타내는 값.
- KRX (Korea Exchange): 한국거래소.