소개
— 시장의 거북이가 아니라, 꾸준함의 거북이가 되자.
최근 자동매매 전략을 만들어보고 있는데,
전설적인 추세 추종 전략 ‘터틀 트레이딩(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로 돌리면 규칙·손절·추세·확률이 그대로 유지된다.
“전설적인 전략은 자동화될 때 비로소 완성된다”는 걸 느꼈다.