MACD, 그림으로 이해하기
MACD는 이름이 위압적이지만 계산은 놀랄 만큼 단순합니다. 이동평균선 강의를 읽었다면 사실상 이미 다 아는 내용입니다 — MACD는 빠른 이동평균에서 느린 이동평균을 뺀 값이 전부입니다.
차트는 앞선 강의들과 같은 구간입니다 — Binance의 BTC/USDT 4시간봉 200개, 2026년 8월 3일부터 9월 5일까지. 계산식은 시뮬레이터가 백테스트에서 실행하는 것과 동일합니다.
1. MACD = 빠른 EMA − 느린 EMA
MACD 선은 EMA 12에서 EMA 26을 뺀 값입니다. 그게 전부입니다. 두 평균이 벌어지면 값이 커지고, 가까워지면 0에 가까워지며, 빠른 쪽이 느린 쪽 아래로 내려가면 음수가 됩니다.
그래서 아래 패널은 새로운 정보가 아니라 위 패널에 이미 있는 간격을 따로 떼어 그린 것입니다. 간격은 가격 차트 위에서는 눈대중으로 재야 하지만, 따로 그리면 그 변화를 훨씬 또렷하게 볼 수 있습니다.
위 패널의 세로 막대가 EMA 12와 EMA 26 사이의 거리입니다. 아래 패널은 그 거리를 그대로 그린 것입니다.
- 가격(종가)
- EMA 12
- EMA 26
- MACD 선
09/05: EMA 12 − EMA 26 = 437
BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05
위 패널의 굵은 세로 막대가 두 EMA 사이의 거리이고, 아래 패널의 같은 위치 막대가 그 값입니다.
2. 시그널 선과 히스토그램
MACD에는 보통 두 가지가 더 따라붙습니다. 시그널 선은 MACD 선을 다시 9기간 EMA로 평활한 것이고, 히스토그램은 MACD 선에서 시그널 선을 뺀 값입니다.
즉 MACD 전체는 평균의 평균의 뺄셈입니다. 세 겹처럼 보이지만 원재료는 종가 하나뿐입니다.
시그널 선은 MACD 선의 EMA 9이고, 히스토그램은 둘의 차이일 뿐입니다.
- MACD 선
- 시그널 선
- 히스토그램
MACD 437 − 시그널 493 = 히스토그램 -56
BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05
검은 세로선이 MACD 선과 시그널 선의 간격이고, 그 간격이 곧 히스토그램 막대의 높이입니다.
3. 12 / 26 / 9는 어디서 온 숫자인가
1970년대에 제럴드 아펠이 제안한 기본값이고, 그 뒤로 거의 모든 차트 도구의 초기값으로 굳었습니다. 시장이 26일마다 무언가를 하는 것은 아닙니다.
흔히 쓰는 12 / 26 / 9는 기본값일 뿐, 발견된 숫자가 아닙니다.
- MACD 선
- 시그널 선
12 / 26 / 9 설정에서 이 구간의 시그널 교차는 6회입니다.
BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05
세 값을 직접 움직여 보세요. 아래 숫자가 그 설정에서 이 구간에 실제로 발생한 시그널 교차 횟수입니다.
4. '교차'는 두 가지가 있습니다
MACD를 이야기할 때 '교차'라는 말이 두 가지 서로 다른 사건을 가리킵니다. 하나는 MACD 선이 시그널 선을 넘는 것이고, 다른 하나는 MACD 선이 0을 넘는 것입니다.
둘은 의미가 다릅니다. 시그널 교차는 '간격의 변화 속도가 바뀌었다'는 뜻이고, 0선 교차는 '두 이동평균 자체가 교차했다'는 뜻입니다. 0선 교차가 더 느리고 더 드뭅니다.
MACD 선이 자신의 시그널 선을 교차하는 것 — 더 자주 발생하는 쪽입니다.
- MACD 선
- 시그널 선
- 상향 교차
- 하향 교차
이 구간에서 시그널 교차 6회.
BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05
두 가지를 번갈아 보세요. 같은 데이터에서 발생 횟수도, 발생 지점도 다릅니다.
이 구간의 0선 상향 교차는 8월 17일에 일어났습니다. 이동평균선 강의의 골든크로스와 같은 봉이고, 볼린저 밴드 강의의 스퀴즈가 풀린 바로 다음 봉입니다 — 당연한 결과이기도 합니다. MACD의 0선 교차는 정의상 두 이동평균의 교차와 같은 사건이니까요.
5. MACD에는 '과매수'가 없습니다
RSI는 0과 100 사이에 갇혀 있어서 70 같은 기준선을 그을 수 있었습니다. MACD는 그렇지 않습니다. 두 가격의 차이이기 때문에 값의 크기가 가격 수준을 그대로 따라갑니다.
MACD는 두 가격의 차이이므로 값의 크기가 가격 수준을 따라갑니다. 같은 숫자가 구간에 따라 전혀 다른 의미를 갖습니다.
- 가격(종가)
- MACD 선
전반부 최대 MACD 값: 357 (가격 약 $64,046). 후반부: 3474 (가격 약 $78,099) — 같은 지표, 같은 설정인데 약 9.7배 큽니다.
BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05
같은 지표, 같은 설정인데 가격대가 높은 후반부의 값이 훨씬 큽니다.
이 구간 전반부의 MACD 최대값은 357, 후반부는 3474였습니다 — 약 9.7배입니다.
그래서 'MACD가 200을 넘으면 과열'같은 절대 기준은 성립할 수 없습니다. 같은 200이 가격이 낮을 때는 큰 값이고 높을 때는 사소한 값입니다. 종목이 다르면 더더욱 비교할 수 없습니다.
6. 빠른 기간과 느린 기간을 바꾸면
덜 알려진 사실 하나. 빠른 기간을 느린 기간보다 길게 설정하면 MACD는 고장 나는 것이 아니라 정확히 뒤집힙니다. 뺄셈의 순서가 바뀌었을 뿐이므로 모든 값이 부호만 반대가 됩니다.
일반적인 설정: 빠른 12, 느린 26.
- MACD 선
- 시그널 선
- 히스토그램
근사치가 아니라 정확한 거울상입니다 — 뺄셈 순서를 바꾸면 모든 값이 그대로 음수가 되어 0 위가 0 아래가 되고 모든 교차가 반대로 뒤집힙니다. 실수가 아니라 하나의 설정 선택입니다: 움직임을 확인해 주던 지표가, 이미 많이 간 움직임을 표시해 주는 지표로 바뀝니다.
BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05
12/26과 26/12를 번갈아 보세요. 모양이 위아래로 정확히 대칭입니다.
이것이 실수가 아니라 하나의 선택일 수 있습니다. 일반적인 MACD가 '움직임이 시작됐다'를 확인해 준다면, 뒤집힌 MACD는 '이미 꽤 많이 갔다'를 표시해 줍니다. 진입을 확인하는 용도가 아니라 너무 늦은 진입을 걸러내는 게이트로 쓰는 설정입니다.
7. 흔한 오해들
- MACD는 독립된 지표가 아니라 이동평균 두 개의 뺄셈입니다. 이동평균이 가진 지연을 그대로 물려받습니다.
- 절대 수치에는 의미가 없습니다. 가격 수준에 따라 같은 값의 의미가 달라지고, 종목 간 비교는 더더욱 불가능합니다.
- 시그널 교차와 0선 교차는 다른 사건입니다. 어느 쪽을 말하는지 구분하지 않으면 전혀 다른 전략을 같은 이름으로 부르게 됩니다.
- 히스토그램은 새로운 정보가 아니라 두 선의 간격을 눈에 보이게 한 것입니다.
- 빠른 기간 > 느린 기간은 고장이 아니라 부호가 뒤집힌 다른 도구입니다.
8. 시뮬레이터에서 직접 확인하기
시뮬레이터에는 MACD가 두 가지 역할로 들어 있습니다. 하나는 MACD로 직접 진입·청산을 결정하는 템플릿이고, 다른 하나는 다른 전략의 진입을 걸러 주는 필터입니다.
세 기간의 조합을 직접 비교하고 싶다면 Sweep이 지정한 범위의 모든 조합을 실제로 백테스트해 순위로 보여줍니다 — 빠른 기간이 느린 기간보다 긴 조합까지 포함해서입니다.
- MACD Trend — MACD 선과 시그널 선의 교차로 진입·청산을 결정하는 템플릿입니다.
- MACD 필터 — 다른 전략의 진입을 MACD 조건으로 걸러 주는 선택 필터입니다. 빠른·느린·시그널 기간을 따로 설정할 수 있습니다.