공정 엔지니어의 AI 엔지니어로의 성장 기록

비전공자의 바이브 코딩/일상 & 기초

클로드코드(Claude Code)로 코인 자동매매 프로그램 만들기 : #2. 자동매매 전략 수립

ai-process-engineer 2026. 5. 16. 15:44

PRD_3_Grid_Trading.txt
0.01MB
PRD_2_AutoTrade_Algorithms.txt
0.01MB

코인 매매 전략 수립
— 6가지 알고리즘과 실전 파라미터 튜닝

UI 뼈대가 완성되면 이제 실질적인 핵심, 즉 언제 사고 언제 팔 것인지를 결정해야 한다. 직관적인 차트 해석보다는 수학적으로 검증된 기본 지표를 선택했다. 시장 상황별로 다르게 대응하는 것이 목표였고, 결국 6가지 전략을 구현했다. 아래에 각 알고리즘의 원리와 실전에서 파라미터를 바꾸게 된 이유를 정리했다.

01 전략 선택의 철학

코인 시장은 크게 세 가지 국면으로 나뉜다. 각 국면에서 최적의 대응이 다르다.

상승장

추세를 따라 올라타야 이익이 크다. 이동평균 크로스, MACD, 변동성 돌파가 유리하다.

횡보장

레인지 내에서 반복 매매로 수익을 낸다. RSI 역추세, 볼린저 밴드, 그리드가 적합하다.

핵심 — 하나의 전략으로 모든 시장 상황을 이기는 알고리즘은 없다. 시장 국면을 인식하고 그에 맞는 전략을 배분하는 것이 실전의 본질이다.

02 5가지 기본 전략

① RSI 역추세 전략

RSI(Relative Strength Index)가 30 미만이면 과매도로 판단해 매수하고, 70을 초과하면 과매수로 판단해 매도한다. 박스권·횡보장에서 가장 잘 작동한다.

python — RSI 신호
# RSI 기간: 14봉
매수 신호: RSI < 30   # 과매도 구간
매도 신호: RSI > 70   # 과매수 구간

② 이동평균선 크로스 전략

단기 이동평균(MA5)이 장기 이동평균(MA20)을 상향 돌파(골든크로스)하면 매수, 하향 돌파(데드크로스)하면 매도한다. 추세 상승장에서 가장 강하다.

python — 골든/데드크로스
매수 신호: MA(5) > MA(20)   # 골든크로스
매도 신호: MA(5) < MA(20)   # 데드크로스

③ 볼린저 밴드 전략

20봉 이동평균에서 표준편차 2배를 더하거나 뺀 밴드를 기준으로 삼는다. 가격이 하단 밴드에 닿으면 매수, 상단 밴드에 닿으면 매도한다.

python — 볼린저 밴드 계산
# 기간 20봉, 표준편차 2.0배
상단 밴드 = MA(20) + 2σ
하단 밴드 = MA(20) - 2σ

매수 신호: 현재가 ≤ 하단 밴드
매도 신호: 현재가 ≥ 상단 밴드

④ MACD 크로스 전략

MACD 선이 Signal 선을 상향 돌파하면 매수, 하향 돌파하면 매도한다. 추세 전환 초기를 포착하는 데 유리하다.

python — MACD 계산
# Fast EMA 12봉, Slow EMA 26봉, Signal 9봉
MACD   = EMA(12) - EMA(26)
Signal = EMA(MACD, 9)

매수 신호: MACD > Signal   # 상향 돌파
매도 신호: MACD < Signal   # 하향 돌파

⑤ 변동성 돌파 전략 (핵심)

당일 시가에서 전일 변동폭의 K배를 더한 가격을 돌파하면 매수하고, 다음 봉 시가에 전량 매도한다. 코인 시장에서 역사적으로 높은 승률을 기록하는 단순한 추세 추종형 전략이다.

python — 변동성 돌파
# K값 초기 0.5, 이후 0.9로 강화
매수 가격 = 당일 시가 + (전일 고가 - 전일 저가) × K

> 현재가 ≥ 매수 가격: 즉시 매수
> 매도: 다음 봉 시가에 전량 매도

03 그리드 매매 전략 추가

실전 운용 중 횡보장 대응이 약하다는 것을 발견했다. 5가지 전략은 모두 방향성을 전제로 설계되어 있기 때문이다. 이를 보완하기 위해 그리드(Grid) 매매를 추가했다.

원리는 단순하다. 미리 설정한 가격 범위를 N개 구간으로 나누어 각 구간 하단에 매수, 상단에 매도 주문을 격자처럼 걸어둔다. 가격이 오르내릴 때마다 자동으로 저가 매수, 고가 매도가 반복되면서 수익이 누적된다.

핵심 규칙 — (상한 - 하한) / 그리드 수 / 중간가 × 100 ≥ 1.2% 이를 지키지 않으면 최소 스프레드 필터에 걸려 거래가 발생하지 않는다. 수수료를 커버하기 위한 최소 스텝 크기다.

최종 설정한 코인별 그리드 파라미터는 다음과 같다.

코인 그리드 범위 구간당 스텝
BTC 100M ~ 130M원 약 1.74%
ETH 3.0M ~ 3.75M원 약 1.48%
XRP 1,890 ~ 2,460원 약 1.75%
SOL 121K ~ 145K원 약 1.17%
DOGE 148 ~ 180원 약 1.30%

04 백테스팅 시스템과 종합 점수

각 알고리즘을 실전에 쓰기 전에 과거 데이터로 성과를 먼저 검증해야 한다. 아래 5가지 지표로 백테스팅 결과를 평가하고, 종합 점수를 산출한다.

지표 의미 기준
승률 수익 거래 비율 > 50%
총 수익률 기간 내 총 수익 > 0%
MDD 최대 낙폭 (Maximum Drawdown) < 20%
거래 횟수 총 매매 횟수 (샘플 충분성) > 30회
샤프 비율 위험 대비 수익 > 1.0
formula — 종합 점수
Score = 40% × 수익률
      + 30% × 승률
      - 20% × MDD
      + 10% × 샤프비율

# 이 점수 기준으로 AI 스캐너가 최적 알고리즘 자동 추천

시장 상황별로 어떤 알고리즘이 유리한지 정리하면 다음과 같다.

시장 상황 권장 알고리즘
박스권 / 횡보 RSI 역추세, 볼린저 밴드, 그리드
상승 추세 이동평균선 크로스, MACD
급등 시세 변동성 돌파
불확실 AI 스캐너로 백테스팅 1위 자동 선택

05 실전 파라미터 튜닝: v1에서 v8까지

초기 배포 후 데이터를 보면서 여러 차례 파라미터를 조정했다. 가장 큰 교훈은 수수료였다.

v1 문제 (2026년 3~4월): 3일간 13회 거래, 승률 46%, PnL -4,870원. 상승장임에도 봇이 손실을 냈다. 수수료가 수익의 3배였다. 매매 빈도가 너무 높고 진입 조건이 너무 느슨했다.

v8 대규모 개편 (2026년 5월): 4~5월 초 변동성 돌파 전략 누적 분석 결과, 96건 거래에서 수수료 전 그로스 +45,750원이었지만 수수료가 177,260원이었다. 실질 손실 -131,510원. 이 데이터를 보고 전략을 전면 개편했다.

파라미터 변경 전 변경 후 이유
VB K값 0.7 0.9 강한 돌파만 진입, 허위 신호 제거
매수 주문 방식 Taker Maker 수수료 절감
최소 이익 실현 기준 2.5% 1.5% 이익 실현 빈도 증가
손절 기준 -2.0% -1.5% 더 빠른 손절
그리드 최소 스프레드 0.5% 1.0% 수수료 커버 확보
BTC/ETH 체크 주기 30분 2시간 과잉 매매 방지
교훈 — 변동성 돌파 전략에서 K=0.5는 허위 돌파 신호가 너무 많다. K=0.9로 강화하면 진입 빈도는 줄지만, 한 번 진입할 때 이익 폭이 커진다. 수수료 대비 수익이 의미 있으려면 1회 거래 수익이 왕복 수수료(약 0.4%)보다 충분히 커야 한다.
Summary

RSI, 이동평균선 크로스, 볼린저 밴드, MACD, 변동성 돌파 5가지 기본 전략에 횡보장 대응을 위한 그리드 매매를 추가해 총 6가지 알고리즘을 구현했다. 백테스팅 종합 점수 기반으로 AI 스캐너가 코인별 최적 전략을 자동 추천한다. v1에서 수수료 문제로 손실이 발생했고, v8 대개편을 통해 진입 조건 강화, Maker 주문 방식 전환, 매매 주기 조정을 단행했다. 3편에서는 손익 분석 시스템과 머신러닝 앙상블 전략 도입을 다룬다.

 

변동성 돌파
그리드매매