MACD 전략 백테스트 보는 법 — 트레이딩뷰 기본 전략 해부
MACD 전략 (MACD Strategy) · 글: 주가맵 운영자 (9년 차 개인 투자자) · 콘텐츠 원칙에 따라 작성합니다

처음 트레이딩뷰에서 전략(Strategy) 탭을 발견했을 때, 저는 마치 보물을 찾은 기분이었습니다. 코드 한 줄 짜지 않아도 'MACD Strategy'를 클릭하면 과거 차트 위에 매수·매도 화살표가 쫙 깔리고, 승률과 누적 손익이 숫자로 떠올랐거든요. 그날 밤 저는 '이대로만 따라 하면 되겠다'며 들떴습니다. 그 들뜸이 오해였다는 걸 깨닫는 데는 오래 걸리지 않았지만요.
MACD 전략은 트레이딩뷰가 기본으로 제공하는 전략 스크립트 중 하나로, MACD 지표의 신호를 그대로 매매 규칙으로 옮긴 것입니다. 이 글에서는 이 전략이 어떤 규칙으로 사고파는지, 백테스트에 찍히는 승률과 손익비와 MDD를 어떻게 읽어야 하는지, 그리고 과최적화라는 함정을 어떻게 피하는지를 제가 직접 돌려본 경험과 함께 정리합니다.
전략 개요 — MACD 신호를 매매 규칙으로
MACD 전략의 뼈대는 단순합니다. MACD는 단기 이동평균과 장기 이동평균의 차이를 그린 MACD선과, 그 MACD선을 다시 평활한 시그널선으로 이루어집니다. 트레이딩뷰 기본 MACD 전략은 이 둘의 교차를 매매 신호로 삼습니다. MACD선이 시그널선을 아래에서 위로 뚫으면 매수, 위에서 아래로 뚫으면 매도(청산)로 보는 식입니다.
여기서 핵심은 이 전략이 '항상 시장에 들어가 있는' 구조라는 점입니다. 매수 신호가 나오면 매수 포지션을 잡고, 반대 신호가 나오면 그 자리에서 청산과 동시에 반대 방향으로 돌아서기도 합니다. 즉 별도의 청산 규칙 없이 다음 교차가 나올 때까지 포지션을 유지하는 추세 추종형 전략에 가깝습니다.
그래서 MACD 전략은 추세가 한 방향으로 길게 뻗는 구간에서 빛을 봅니다. 반대로 방향 없이 출렁이는 박스권에서는 교차가 쉴 새 없이 번갈아 나와 잦은 매매로 수수료만 까먹기 쉽습니다. 전략의 성격을 모르고 결과 숫자만 보면 오해하기 딱 좋습니다.
진입·청산 규칙과 주요 파라미터
기본 MACD 전략의 파라미터는 MACD 지표의 그것과 동일합니다. 빠른 이동평균 길이(기본 12), 느린 이동평균 길이(기본 26), 시그널선 길이(기본 9)가 전부입니다. 이 세 값이 교차 타이밍을 좌우하므로, 백테스트를 돌리기 전에 어떤 값으로 설정돼 있는지부터 확인하는 습관이 필요합니다.
진입과 청산 규칙은 교차 한 가지로 통일됩니다. 다만 트레이딩뷰 전략 설정에서 주문 수량, 수수료(commission), 슬리피지(slippage)를 함께 지정할 수 있는데, 이 항목을 0으로 둔 채 돌린 결과는 현실과 동떨어진 장밋빛이 되기 쉽습니다. 실제 거래 비용을 반영해야 비로소 의미 있는 숫자가 나옵니다.
저는 처음에 빠른 길이와 느린 길이를 무작정 줄여 신호를 더 자주 받으려 했던 적이 있습니다. 결과는 매매 횟수만 폭발적으로 늘고 수수료에 성과가 갉아먹히는 것이었습니다. 파라미터는 신호의 민감도를 정하는 손잡이일 뿐, 작게 돌린다고 더 좋은 전략이 되는 건 아니라는 걸 그때 배웠습니다.
| 파라미터 | 기본값 | 역할 |
|---|---|---|
| 빠른 길이 (Fast Length) | 12 | 단기 이동평균 구간 |
| 느린 길이 (Slow Length) | 26 | 장기 이동평균 구간 |
| 시그널 길이 (Signal) | 9 | MACD선을 평활하는 구간 |
| 수수료 (Commission) | 사용자 입력 | 거래 비용 반영 |
| 슬리피지 (Slippage) | 사용자 입력 | 체결 미끄러짐 반영 |
- 매수 진입: MACD선이 시그널선을 상향 돌파(골든크로스)
- 매도·청산: MACD선이 시그널선을 하향 돌파(데드크로스)
- 포지션 유지: 다음 반대 교차가 나올 때까지 보유
- 필수 확인: 수수료·슬리피지를 실제 값으로 입력했는지
백테스트 결과 해석 — 승률·손익비·MDD
전략을 적용하면 하단 '전략 테스터(Strategy Tester)' 창에 성과 요약이 뜹니다. 초보 시절 저는 순이익(Net Profit)만 보고 좋다 나쁘다를 판단했는데, 그건 가장 위험한 습관이었습니다. 같은 순이익이라도 그 과정에서 자산이 얼마나 깊게 파였는지, 어떤 매매에서 벌었는지를 봐야 전략의 진짜 체력을 알 수 있습니다.
특히 승률과 손익비는 함께 봐야 합니다. 승률이 70퍼센트라도 한 번 질 때 크게 잃고 이길 때 조금씩 번다면 전체 성과는 마이너스일 수 있습니다. 반대로 승률이 40퍼센트라도 손익비(이긴 매매 평균 / 진 매매 평균)가 충분히 크면 우상향합니다. 추세 추종형인 MACD 전략은 보통 승률은 낮고 손익비로 버티는 쪽에 가깝습니다.
MDD(최대낙폭)는 제가 가장 무겁게 보는 숫자입니다. 자산이 고점 대비 가장 많이 줄어든 비율인데, 이 값이 내가 심리적으로 버틸 수 있는 선을 넘으면 아무리 최종 수익이 좋아도 실전에서는 중간에 포기하게 됩니다. 결과 숫자는 견딜 수 있는지를 먼저 묻는 도구여야 합니다. 화면 속 우상향 곡선과 실제 계좌에서 깊은 골을 견디는 일은 전혀 다른 경험이거든요.
| 지표 | 의미 | 볼 때 주의점 |
|---|---|---|
| 순이익 | 전체 누적 손익 | 거래 비용 반영 여부 확인 |
| 승률 | 이긴 매매 비율 | 단독으로 보면 착시 |
| 손익비 | 평균 이익 / 평균 손실 | 승률과 짝으로 해석 |
| MDD(최대낙폭) | 고점 대비 최대 하락폭 | 심리적 한계선과 비교 |
| 총 거래 횟수 | 표본 크기 | 너무 적으면 신뢰 낮음 |
과최적화(커브피팅)와 한계
전략 백테스트의 가장 큰 함정은 과최적화, 흔히 커브피팅이라 부르는 것입니다. 파라미터를 이리저리 바꿔가며 과거 차트에서 가장 예쁜 곡선이 나오는 조합을 찾아내는 일입니다. 12, 26, 9 대신 13, 30, 8로 바꿨더니 수익이 두 배가 됐다면, 그건 전략이 좋아진 게 아니라 그 특정 과거에만 들어맞는 값을 우연히 찾은 것일 가능성이 큽니다.
과거에 완벽히 맞춘 값일수록 미래의 새로운 데이터에서는 무너지기 쉽습니다. 저는 이걸 비싸게 배웠습니다. 한 종목에서 환상적인 곡선을 만든 설정을 다른 종목과 다른 기간에 그대로 적용했더니 성과가 절반 이하로 떨어지더군요. 그래서 지금은 표본을 나눠, 한 구간에서 정한 설정을 손대지 않은 다른 구간에서 검증하는 방식을 씁니다. 검증 구간에서도 버텨주면 그제야 조금 믿어보는 정도입니다.
또 하나의 한계는 백테스트가 과거 데이터일 뿐이라는 점입니다. 거래 비용을 0으로 두거나, 실제로는 체결되지 않았을 가격에 체결됐다고 가정하거나, 표본 거래 수가 손에 꼽을 만큼 적으면 그 결과는 신뢰할 수 없습니다. 숫자가 아무리 화려해도 가정이 비현실적이면 그저 그림일 뿐입니다.
직접 써보고 느낀 점 — 정답표가 아니라 점검표
여러 해 동안 MACD 전략을 돌려보며 제가 내린 결론은, 이 전략을 '자동 수익기'가 아니라 '내 생각을 점검하는 도구'로 쓸 때 가장 쓸모 있다는 것입니다. 추세가 뚜렷한 구간에서는 교차 신호가 흐름을 잘 잡아주지만, 횡보장에서는 어김없이 톱질에 당했습니다. 그래서 저는 이 전략을 단독으로 돌리기보다, 시장이 추세인지 횡보인지 먼저 가늠한 뒤 보조 참고로만 활용합니다.
무엇보다 백테스트가 좋게 나왔다고 해서 그 결과가 내 미래 수익을 보장하지 않는다는 점을 늘 되새깁니다. 모든 백테스트는 이미 지나간 과거 데이터로 만든 그림이고, 시장은 같은 패턴을 다시 보여줄 의무가 없습니다. MACD 전략은 규칙을 명료하게 정리해주는 좋은 출발점일 뿐, 최종 판단과 그에 따른 책임은 전적으로 투자자 본인에게 있다는 사실을 잊지 않으셨으면 합니다.