단계적 익절 전략 차트 고점 부분 매도 트레일링 스탑 금빛 라인
먼저 일부를 확정하고, 나머지는 가격을 따라가며 최대한 수익을 가져가는 구조입니다

매수보다 매도가 어렵다는 말이 있다. 수동 매매를 해본 사람이라면 공감할 것이다. 오르면 "더 오를 것 같아서" 못 팔고, 내리면 "곧 반등하겠지"라며 못 팔다가 결국 애매한 타이밍에 팔게 된다.

자동매매에서도 매도 로직이 가장 복잡하다. GENIE는 이 문제를 두 단계로 나눠서 해결했다. TP1(1차 익절)과 트레일링 스탑이다.

원칙은 단순하다. 먼저 일부를 확정하고, 나머지는 가격을 따라가다가 꺾이는 순간 판다.

🟢 TP1 — 1차 익절 구조

TP1은 매수 후 +4%가 되면 자동으로 30%를 파는 구조다. 로그에는 이렇게 찍힌다.

🧾 [매도접수:TP1] 089980 상아프론테크 qty=8 timeout=60s 🟢 [TP1] 089980 상아프론테크 mode=FIXED +4% → 30% 매도 📝 [SELL_CSV] 089980 상아프론테크 qty=5 price=27300 pnl=4880 (3.72%) 📝 [SELL_CSV] 089980 상아프론테크 qty=8 price=27281 pnl=7657 (3.65%)

상아프론테크 25주 중 8주를 27,300원에 익절했다. pnl은 약 7,657원 수익. 작은 금액이지만 핵심은 "확정"이다. 이 8주는 이후에 가격이 어떻게 되든 수익으로 고정됐다.

TP1의 목적은 최대 수익이 아니다. 수익의 일부를 먼저 확보해서 이후 트레일링 스탑 구간에서 심리적으로 덜 흔들리게 하는 것이다. 일부를 팔고 나면 남은 물량에 대한 압박이 줄어든다.

📉 트레일링 스탑 — 가격을 따라가다가 꺾이면 판다

TP1 이후 남은 물량은 트레일링 스탑으로 관리한다. 트레일링 스탑은 고점에서 일정 비율 이상 빠지면 자동으로 매도하는 구조다. 가격이 오르면 기준선도 따라 올라가고, 한 번 내려오기 시작하면 그 지점에서 판다.

🧾 [매도접수:TRAIL] 089980 상아프론테크 qty=20 timeout=60s 📝 [SELL_CSV] 089980 상아프론테크 qty=26 price=25450 pnl=-22603 (-3.31%) ✅ [포지션종료] 089980 상아프론테크 pnl=-22603 (-3.31%)

트레일링 스탑으로 나머지 물량이 25,450원에 정리됐다. -3.31% 손실이다. TP1에서 수익을 냈지만 트레일링 구간에서 밀리면서 전체적으로는 손실이 났다.

이게 현실이다. TP1 + 트레일링 구조가 모든 거래에서 수익을 보장하지는 않는다. 다만 무조건 들고 있다가 크게 밀리는 것보다 구조적으로 손실을 제한한다.

자동 매도 주문 실행 수익률 초록 숫자 부분 포지션 청산 터미널
TP1 실행 순간 — 일부를 먼저 확정하면 남은 물량에 대한 심리적 압박이 줄어듭니다

📊 두산테스나 — TP1 + 트레일링이 잘 맞물린 케이스

3월 18일 두산테스나는 다른 결과가 나왔다.

단계 수량 체결가 손익
TP1 익절 2주 86,800원 +6,130원 (+3.67%)
트레일링 스탑 7주 86,000원 +15,871원 (+2.71%)
합계 9주 +22,001원

※ GENIE V4.16 / 2026-03-18 로그 기준

TP1에서 수익을 확정하고, 트레일링 스탑도 수익 구간에서 잘 마무리됐다. 이게 이상적인 케이스다. 물론 모든 거래가 이렇게 되진 않는다.

트레일링 스탑 가격 추종 상승 하락 곡선 미니멀 플랫 일러스트 네이비 금빛
트레일링 스탑은 고정된 손절선이 아니라 가격을 따라 올라가는 유동적인 매도 기준입니다

❓ Q&A

Q. TP1 비율(30%)과 트리거(+4%)는 어떻게 정한 건가?

솔직히 처음엔 그냥 감으로 잡았다. +5%에 50% 매도도 해봤고, +3%에 20% 매도도 테스트해봤다. 결국 +4% / 30%가 가장 균형이 좋았다. 너무 일찍 너무 많이 팔면 상승 여력을 못 챙기고, 너무 늦게 너무 조금 팔면 확정 효과가 없다. 이 수치는 모의투자 결과를 보면서 계속 조정하는 파라미터다.

✍️ 8편을 마치며

매도 로직은 매수 로직만큼, 어쩌면 더 중요하다. 언제 얼마를 파느냐에 따라 같은 종목, 같은 매수 타이밍에도 결과가 완전히 달라진다.

TP1 + 트레일링 구조가 완벽하다고 생각하지 않는다. 지금도 파라미터를 조정하고 있고, 더 좋은 구조를 고민 중이다. 다만 "감으로 파는 것"보다는 훨씬 일관되고 기록에 남는 방식이라는 건 확실하다.

9편에서는 매도 과정에서 발견한 또 다른 버그, sell_cooldown 이야기다. 같은 종목을 두 번 팔 뻔한 그 황당한 상황.

※ 본 글은 자동매매 시스템 개발 과정을 기록한 정보 제공 목적의 개발 일지입니다. 투자 권유나 수익 보장이 아니며, 모든 투자 판단과 책임은 본인에게 있습니다.