이동평균 2선 크로스 전략 — 골든크로스 자동매매를 백테스트로 검증하는 법
이동평균 2선 크로스 전략 (MovingAvg2Line Cross Strategy) · 글: 주가맵 운영자 (9년 차 개인 투자자) · 콘텐츠 원칙에 따라 작성합니다

처음 자동매매라는 걸 흉내 내본 게 바로 이 전략이었습니다. 트레이딩뷰 차트에서 인디케이터 목록을 뒤지다 'MovingAvg2Line Cross'라는 이름을 발견하고, 골든크로스 사면 되는 거 아니야 하는 가벼운 마음으로 클릭했죠. 그런데 차트 아래 백테스트 탭에 승률과 손익비, 최대낙폭까지 숫자로 딱 떠오르는 걸 보고 머리가 띵했던 기억이 납니다. 막연히 좋아 보이던 골든크로스가 숫자로는 생각보다 초라했거든요.
이 글에서는 트레이딩뷰가 기본으로 제공하는 이동평균 2선 크로스 전략이 어떤 규칙으로 매수·매도하는지, 백테스트에 찍히는 숫자를 어떻게 읽어야 하는지, 그리고 파라미터를 만지다 빠지기 쉬운 과최적화의 함정은 무엇인지를 제가 직접 돌려본 경험과 함께 정리합니다. 전략을 처음 다루는 분이 자기 매매를 숫자로 검증하는 첫걸음으로 삼기 좋은 주제입니다. 화려한 지표를 좇기 전에, 가장 단순한 규칙 하나를 끝까지 검증해 보는 경험이 오히려 매매 실력을 키우는 데 더 큰 도움이 된다는 게 9년 동안 시장에 머물며 얻은 결론이기도 합니다.
전략 개요 — 두 이동평균선의 교차로 매매한다
이동평균 2선 크로스 전략은 기간이 다른 두 개의 이동평균선을 그어 두고, 그 둘이 교차하는 순간을 매매 신호로 삼는 가장 고전적인 추세추종 전략입니다. 짧은 선(단기 이평)이 긴 선(장기 이평)을 아래에서 위로 뚫고 올라가는 골든크로스에서 매수하고, 위에서 아래로 떨어지는 데드크로스에서 청산하는 방식입니다.
트레이딩뷰의 MovingAvg2Line Cross는 이 규칙을 코드로 옮겨 둔 기본 전략(Strategy)입니다. 단순한 인디케이터와 달리 전략은 가상의 매매를 실행해 손익을 누적하므로, 차트에 적용하면 과거 구간에서 이 규칙대로 사고팔았을 때 어떤 성과가 났는지를 즉시 보여줍니다. 규칙이 명확하고 변수가 적어, 백테스트라는 개념을 처음 익히기에 가장 적합한 출발점입니다. 코드를 한 줄도 몰라도 인디케이터 검색창에서 이름만 찾아 차트에 올리면 바로 결과가 나오므로, 진입 장벽이 거의 없다는 것도 큰 장점입니다.
핵심은 이 전략이 추세를 따라가는 도구라는 점입니다. 한 방향으로 길게 움직이는 장에서는 큰 흐름을 놓치지 않지만, 방향 없이 출렁이는 횡보장에서는 잦은 교차로 손실이 쌓이는 구조적 한계를 함께 안고 있습니다. 그래서 이 전략을 제대로 이해한다는 건, 잘 맞는 장세와 안 맞는 장세를 구분할 줄 안다는 뜻이기도 합니다.
이름에 들어간 2선이라는 표현이 중요합니다. 이동평균선 하나만 보고 가격이 그 위냐 아래냐로 판단하는 방식도 있지만, 이 전략은 선 두 개의 관계, 즉 단기선이 장기선보다 빠르게 움직인다는 성질을 이용합니다. 가격이 한 방향으로 힘을 받으면 단기선이 먼저 반응해 장기선을 가로지르고, 바로 그 교차의 순간을 추세가 바뀌었다는 신호로 받아들이는 것입니다. 단순하지만 추세의 본질을 꽤 잘 포착하는 발상입니다.
진입·청산 규칙 상세
규칙 자체는 군더더기가 없습니다. 단기 이동평균선이 장기 이동평균선을 상향 돌파하면 그 봉의 종가에서 매수 포지션에 진입하고, 반대로 단기선이 장기선을 하향 돌파하면 보유 포지션을 청산합니다. 신호가 봉 안에서 미리 깜빡이다 사라지는 것을 막기 위해, 보통 봉이 완전히 마감된 뒤에 교차가 확정되는 방식으로 동작합니다.
기본 설정에서는 한쪽 방향만 잡는 매수 진입과 청산 구조가 흔하지만, 옵션에 따라 데드크로스에서 매도(숏) 포지션까지 잡도록 양방향으로 돌릴 수도 있습니다. 어느 쪽이든 두 선의 기간 차이가 클수록 신호는 적고 느려지며, 차이가 작을수록 신호가 잦아지고 빨라집니다.
여기서 초보가 자주 헷갈리는 부분이 진입 가격입니다. 신호는 봉이 마감될 때 확정되므로, 실제 진입은 그 봉의 종가나 다음 봉의 시가가 됩니다. 차트에서 교차점을 눈으로 보면 마치 정확히 그 가격에 살 수 있을 것 같지만, 봉이 진행 중일 때는 교차가 생겼다 사라지기를 반복할 수 있어 마감 확정을 기다리는 규칙이 더 안전합니다. 이 한 박자의 지연이 전략 성과에 생각보다 큰 영향을 줍니다. 청산 역시 같은 원리로, 데드크로스가 확정된 봉에서 정리하므로 고점에서 칼같이 빠져나오기는 어렵습니다.
어떤 시간 단위에서 보느냐에 따라 신호의 성격이 완전히 달라진다는 점도 알아두면 좋습니다. 일봉에서의 골든크로스와 5분봉에서의 골든크로스는 의미하는 추세의 크기가 다르고, 짧은 봉으로 갈수록 노이즈에 휘둘려 거짓 신호가 늘어납니다. 같은 규칙이라도 자신이 감당할 수 있는 매매 빈도와 시간을 먼저 정한 뒤, 그에 맞는 봉 단위를 고르는 순서로 접근해야 흔들리지 않습니다.
- 매수: 단기 이평이 장기 이평을 상향 돌파(골든크로스)할 때 종가 진입
- 청산: 단기 이평이 장기 이평을 하향 돌파(데드크로스)할 때 정리
- 확정: 봉 마감 후 교차가 확정되어야 신호 인정(리페인팅 방지)
- 옵션: 데드크로스에서 매도 진입까지 잡는 양방향 운용 가능
백테스트 결과 해석 — 승률·손익비·MDD
전략을 적용하면 트레이딩뷰 하단의 전략 테스터에 성과 숫자가 뜹니다. 여기서 가장 먼저 봐야 할 세 가지가 승률, 손익비, 최대낙폭(MDD)입니다. 초보일수록 승률만 보고 좋다 나쁘다를 판단하는데, 이건 위험한 습관입니다. 추세추종 전략은 승률이 40퍼센트 안팎으로 낮아도 한 번 크게 먹는 수익이 여러 번의 작은 손실을 덮어 전체로는 이익이 나는 경우가 많기 때문입니다.
그래서 승률은 손익비와 반드시 함께 봐야 합니다. 손익비는 이긴 거래의 평균 수익을 진 거래의 평균 손실로 나눈 값으로, 이 값이 2라면 한 번 이길 때 두 번 질 손실만큼을 번다는 뜻입니다. 최대낙폭은 자산이 고점에서 가장 크게 줄어든 폭으로, 내가 이 전략을 실제로 버틸 수 있는지를 가늠하는 심리적 한계선입니다. 수익곡선이 아무리 우상향해도 중간에 30퍼센트 넘게 빠지는 구간을 견디지 못하면 그 전략은 나에게 맞지 않는 전략입니다.
여기에 한 가지 더 챙겨 보면 좋은 게 총 거래 횟수입니다. 백테스트 수익률이 아무리 좋아도 거래가 열 번 남짓이라면 그건 운이 좋았을 뿐일 가능성이 큽니다. 표본이 적으면 통계로서 의미가 약해지기 때문입니다. 또 수익곡선의 모양도 봐야 합니다. 꾸준히 우상향하는 곡선과, 평소엔 지지부진하다가 어쩌다 한두 번의 큰 추세에서 전부 벌어들인 곡선은 같은 총수익이라도 신뢰도가 전혀 다릅니다. 숫자 하나가 아니라 여러 지표를 묶어 입체적으로 보는 습관이 백테스트를 제대로 읽는 시작입니다.
| 지표 | 의미 | 해석 포인트 |
|---|---|---|
| 승률 | 전체 거래 중 이긴 비율 | 추세추종은 낮아도 정상, 손익비와 함께 판단 |
| 손익비 | 평균 수익 ÷ 평균 손실 | 1 미만이면 승률이 높아도 손실 위험 |
| 최대낙폭(MDD) | 고점 대비 최대 자산 감소폭 | 내가 버틸 수 있는 폭인지가 관건 |
| 총 거래 횟수 | 신호가 발생한 매매 건수 | 표본이 적으면 결과 신뢰도 낮음 |
| 수익 팩터 | 총수익 ÷ 총손실 | 1.5 이상이면 양호한 편으로 봄 |
과최적화(커브피팅)와 한계
백테스트의 가장 큰 함정은 과최적화, 흔히 커브피팅이라 부르는 것입니다. 단기·장기 이평 기간을 이리저리 바꾸다 보면 과거 차트에서 수익률이 가장 좋은 조합을 찾게 됩니다. 그런데 그 숫자는 그 과거 구간에 딱 맞춰진 값일 뿐, 미래의 다른 장세에서도 통한다는 보장이 전혀 없습니다. 과거에만 완벽한 설정값은 실전에서 무너지기 쉽습니다.
이 전략 자체의 구조적 한계도 분명합니다. 이동평균선은 후행 지표라 추세가 바뀐 뒤에야 교차가 나오므로, 진입과 청산이 늘 한 박자 늦습니다. 특히 횡보장에서는 두 선이 얽히며 거짓 신호가 쏟아져 작은 손실이 누적됩니다. 또 백테스트 결과에 수수료와 슬리피지를 반영하지 않으면 실제보다 성과가 부풀려 보입니다.
이런 함정을 줄이려면 파라미터를 과하게 만지지 않고, 한 종목이 아니라 여러 종목과 여러 기간에서 비슷하게 작동하는지 확인하는 견고함을 우선해야 합니다. 표본 거래 횟수가 충분한지, 수익이 특정 몇 번의 대박에만 의존하지는 않는지도 함께 살펴야 합니다.
검증 과정에서 흔히 쓰는 방법이 전체 기간을 둘로 나눠 보는 것입니다. 앞쪽 절반에서 설정값을 정하고 뒤쪽 절반에서 그 설정이 그대로 통하는지 확인하면, 그저 과거에 끼워 맞춘 숫자인지 어느 정도 걸러낼 수 있습니다. 또 같은 전략을 코스피 대형주와 변동성이 큰 코인, 환율 같은 서로 다른 시장에 적용해 보면 이 규칙의 성격이 더 또렷하게 드러납니다. 결국 좋은 설정값은 가장 화려한 수익률을 낸 값이 아니라, 여러 환경에서 무너지지 않고 그럭저럭 버텨주는 값입니다.
직접 써보고 느낀 점 — 검증의 습관을 길러준 전략
이 전략이 제게 남긴 가장 큰 가치는 돈을 벌어준 게 아니라 검증하는 습관을 길러준 데 있습니다. 골든크로스 매매가 좋다는 말은 수없이 들었지만, 직접 백테스트를 돌려 보니 횡보장에서 손익비가 1 아래로 내려앉고 최대낙폭이 생각보다 깊다는 걸 숫자로 확인하게 됐거든요. 막연한 믿음을 데이터로 깨보는 경험은 그 자체로 값졌습니다.
실제로 운용하면서 가장 크게 느낀 건 심리의 문제였습니다. 데드크로스가 떠서 청산했는데 바로 다음 날 다시 골든크로스가 나며 가격이 솟구치면, 규칙을 지킨 게 바보 같다는 생각이 들어 다음번에는 신호를 무시하게 됩니다. 그렇게 규칙을 어기기 시작하면 백테스트 숫자는 더 이상 내 매매와 아무 상관이 없어집니다. 단순한 전략일수록 규칙을 끝까지 지키는 일관성이 성과를 좌우한다는 걸 비싼 수업료를 내고 배웠습니다.
지금은 이 전략을 실매매에 그대로 쓰기보다, 새로운 아이디어가 떠올랐을 때 그게 정말 통하는지 빠르게 검증하는 기준선으로 활용합니다. 단순한 만큼 다른 전략과 비교하기 좋은 기준점이 되니까요. 어떤 새 전략이 이 단순한 2선 크로스보다 못한 성과를 낸다면, 굳이 복잡한 쪽을 택할 이유가 없다는 식으로 판단의 잣대로 삼는 것입니다. 다만 강조하고 싶은 건, 백테스트 결과는 어디까지나 과거 데이터로 만든 숫자라는 점입니다. 과거에 좋았다고 미래 수익을 보장하지 않으며, 모든 설정값과 매매의 최종 판단과 책임은 투자자 본인에게 있습니다. 저는 이 전략을 정답이 아니라 내 가설을 시험하는 출발점으로만 대합니다.