터틀 트레이딩(Turtle Trading) 전략 구현 사례

소개

양복을 입은 남자가 있는 주식 차트의 스크린샷

— 시장의 거북이가 아니라, 꾸준함의 거북이가 되자.


최근 자동매매 전략을 만들어보고 있는데,
전설적인 추세 추종 전략 ‘터틀 트레이딩(Turtle Trading)’ 을 직접 코드로 구현해 봤다.

이 전략은 1980년대 리처드 데니스가 “트레이더는 길러질 수 있다”는 것을 증명하기 위해
일반인에게 규칙을 가르치고 실제 계좌를 맡긴 실험에서 탄생했다.
이름은 우스꽝스럽지만, 규칙만 보면 웃음기가 쫙 빠진다. 아주 냉정하고 기계적이다.

1. 터틀 전략 개념 요약

터틀 트레이딩은 한마디로 말하면 추세 추종(Trend Following) 이다.

  • 오르면 따라붙고

  • 내려오면 손절하고

  • 반대로 꺾이면 전체 청산

딱 이 세 줄이다.
미래를 예측하지 않고, 시장이 방향을 만들면 그냥 타는 전략이다.

2. 전략의 핵심 규칙 (단순 버전)

① 20일 돌파 진입

  • 종가가 20일 최고가 돌파 → 매수

  • 종가가 20일 최저가 돌파 → 매도

② 10일 반대 신호로 청산

  • 매수 보유 → 10일 최저가 이탈하면 청산

  • 매도 보유 → 10일 최고가 돌파하면 청산

③ ATR 기반 리스크 관리

터틀 전략의 ‘영혼’은 N값(ATR) 이다.

  • ATR × 2 = 손절 거리

  • 계좌의 1%만 위험에 노출되도록 포지션 크기를 자동 계산

즉, 변동성 큰 종목엔 적게 들어가고
변동성이 낮은 구간에선 더 많이 들어가는 방식이다.

3. 실제 코드 구현 (MT4 기준)

전체 EA 코드를 그대로 올리면 지루하니
핵심 구조만 요약하면 다음과 같다.

👉 ① 돌파 신호 계산

double hh_break = HighestHigh(20);
double ll_break = LowestLow(20);

if(prevClose > hh_break) → BUY
if(prevClose < ll_break) → SELL

👉 ② 청산 신호 계산

double hh_exit = HighestHigh(10);
double ll_exit = LowestLow(10);

if(BUY 보유 && prevClose < ll_exit) → 청산
if(SELL 보유 && prevClose > hh_exit) → 청산

👉 ③ ATR 기반 포지션 크기

riskMoney = equity * 0.01; 
stop = ATR * 2;
lots = riskMoney / (stop * tickValue);

👉 ④ 실제 주문 실행

OrderSend(OP_BUY or OP_SELL, lots, price, sl);

머리로만 보면 쉬워 보이는데,
막상 만들어보면 손절 계산, 슬리피지, 심볼 설정, 중복 진입 방지
EA 개발의 기본기가 전부 들어간다.

4. 구현하면서 느낀 점

1) 터틀 전략은 생각보다 단순하다

패턴 인식도 없고 복잡한 지표도 없다.
정말 말 그대로 “돌파만 따라가는 전략”.

2) 하지만 단순하다고 쉬운 전략은 아니다

터틀 전략은 횡보장에서 연속 손절(Whipsaw) 이 자주 발생한다.
즉, “조금 물렸다가 다시 간다”는 기대심리가 통하지 않는다.
감정 개입을 딱 끊지 않으면 절대 유지하기 어렵다.

3) 자동화하면 전략의 본질이 살아난다

터틀 전략은 인간이 하면 중간에 흔들린다.
하지만 EA로 돌리면 규칙·손절·추세·확률이 그대로 유지된다.
“전설적인 전략은 자동화될 때 비로소 완성된다”는 걸 느꼈다.

2
1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요