[3Commas] 리플(XRP) 일봉 DCA 봇 전략: 과매도 구간 바닥 잡기 최적화 가이드

최근 가상화폐 시장의 변동성을 이용해 자동 매매 봇을 구축하는 분들이 많습니다. 2달전에 3Commas의 DCA(Dollar Cost Averaging) 봇을 활용하여 XRP(리플)의 바닥 구간을 잡는 롱(Long) 전략을 세팅 했는데요. 2달 동안 무거래였습니다. 잘못된 설정을 분석하고, 더 높은 승률을 위한 최적화 방법을 함께 고민해 보겠습니다.
1. 기존 전략 분석 (XRP Long Strategy)

현재 검토 중인 전략은 바이비트 스팟(Bybit Spot) 거래소에서 XRP/USDT 페어를 대상으로 합니다. 주요 설정값은 다음과 같습니다.
- 매수 타점: 일봉(1 day) 기준 RSI가 32를 하향 돌파(Crossing Down)할 때.
- 보조 조건: 볼린저 밴드 %B가 -1.00을 하향 돌파할 것.
- 익절/손절: 익절 +6.50%, 손절 -2.20% 설정.
결론은 2달 동안 실제 거래가 안 일어났음
처음에 기능이 너무 많아서 첫달은 멍을 때리기만 했습니다. 감을 전혀 잡지 못하다가 2개월 정도 지나고 나서부터는 감이 좀 잡혔습니다. 그런데 이상하게 트레이딩뷰 연동 시그널 쪽은 XRP 거래가 일어나서 수익을 내고 있지만, 이상하게 DCA는 거래가 한 번도 일어나지 않았습니다. 실전 세팅을 하고 2개월이 지났고, 최근에 하락을 많이 했는데 구입이 된 적이 없어서 이상하다는 생각에 들어와서 옵션을 살펴봤습니다. 제 설정값이 문제가 있었습니다. 디테일한 옵션 값은 구글 제미나이에게 전략 체크를 해달라고 했고 아래처럼 답변을 줬습니다.
이 전략의 핵심 의도는 “역사적 과매도 구간에서 반등을 먹겠다”는 것입니다. 하지만 실제 구동 시 발생할 수 있는 몇 가지 기술적 함정이 있습니다.
백테스팅 처음 시도
그리고 저의 가장 큰 실수였던 백테스팅을 돌려봤습니다. 그 전에는 어떻게 하는지 몰라서 전혀 사용하지 않았습니다.
백테스트 기간: 약 9개월 (2025-05-22 ~ 2026-02-22)
결과는 수익 0% 였습니다.
사실 제가 백테스팅을 어떻게 쓰는지도 몰랐다가 지금 글을 쓰는 시점에서 제대로 이해했습니다. 신기한 것은 처음에는 이해하지 못해도 시간이 흐르면 어느 순간 이해하게 된다는 것입니다. 그 시간이 2달이나 걸렸습니다. 독학이라 시간이 오래 걸렸습니다.
2. 수익 극대화를 위한 3가지 핵심 최적화 포인트
아래는 제가 설정한 내용을 제미나이가 검토해준 내용입니다.
① 중복 조건 및 논리적 오류 제거
기존 설정에는 RSI 32 하향 돌파와 RSI 40 미만(Less Than) 조건이 함께 걸려 있습니다. 32를 뚫고 내려가는 순간은 이미 40보다 낮기 때문에, 조건 3(RSI < 40)은 삭제하여 봇의 연산 구조를 단순화하는 것이 좋습니다.
② ‘트리거’와 ‘필터’의 명확한 구분

두 개의 지표를 모두 ‘하향 돌파(Crossing Down)’로 설정하면, 두 지표가 정확히 같은 날 동시에 돌파가 일어나야만 매수가 실행됩니다.
- 수정 제안: 하나는 신호를 주는 ‘트리거(Crossing Down)’, 다른 하나는 현재 상태를 확인하는 ‘필터(Less Than)’로 설정해야 매수 기회를 놓치지 않습니다.
③ 볼린저 밴드 %B 수치의 현실화

현재 설정된 %B -1.00은 주가가 하단 밴드를 뚫고 밴드 폭만큼 더 폭락해야 발생하는 수치입니다. 이는 일봉 기준으로 거의 발생하지 않는 극단적인 상황입니다.
수정 제안: 일반적인 과매도 구간을 잡으려면 0 혹은 -0.1 정도로 수정하여 진입 빈도를 확보하는 것이 유리합니다.
저는 0 값으로 설정을 했습니다.
3. 최종 추천 최적화 세팅 (Summary)
| 구분 | 항목 | 권장 설정값 | 이유 |
| 조건 1 | RSI (14, 1 day) | Crossing Down 32 | 강력한 바닥 신호 포착 |
| 조건 2 | BB %B (20, 2, 1 day) | Less Than 0 | 주가가 밴드 하단 아래에 있을 때만 진입 |
| 조건 3 | – | 삭제 | 중복 조건 제거로 최적화 |
4. 익절 손절매 체크
익절 전략은 훌륭하지만 보유 기간 설정에는 치명적인 모순이 발견되었습니다.
주요 옵션들에 대한 검토 의견입니다.
① 분할 익절(Multiple targets) 설정: 매우 권장

- 내용: 수익 3.5% 지점에서 물량의 50%를 매도하고, 나머지 50%는 6.5% 수익을 목표로 가져가는 설정입니다.
- 의견: 변동성이 큰 XRP 특성상 수익을 중간에 확정하는 분할 익절은 심리적 안정감을 주며, 승률을 높이는 데 큰 도움이 되는 아주 좋은 세팅입니다.
② 손절매(Stop Loss) 2.2%: 위험 요인

- 내용: 평균 단가 대비 -2.2% 하락 시 모든 포지션을 종료합니다.
- 의견: 앞서 말씀드린 대로 일봉(1 day) 과매도 전략에서 2.2% 손절은 폭이 너무 좁습니다. 일봉은 하루 변동폭만으로도 2~3%를 쉽게 넘나들기 때문에, 진정한 반등이 시작되기 전에 ‘꼬리’에 걸려 손절될 확률이 매우 높습니다.
③ 최대 보유 기간(Maximum hold period) 72시간: 전략적 모순

내용: 매수 후 72시간(3일)이 지나면 수익 여부와 상관없이 봇이 강제로 매도합니다.
의견: 이 설정은 현재 전략과 가장 어울리지 않는 부분입니다. 현재 진입 조건은 일봉(1 day) 기준의 강력한 과매도 구간을 잡는 것입니다. 일봉상 바닥을 잡고 6.5%의 수익 목표까지 도달하려면 보통 3일 이상의 시간이 소요되는 경우가 많습니다.
72시간이라는 짧은 제한을 두면, 이제 막 반등을 시작하려는 찰나에 시간이 다 되어 손실이나 적은 수익으로 강제 종료될 위험이 큽니다.
추천: 일봉 전략이라면 이 옵션을 끄거나(Off), 기간을 최소 168시간(7일) 이상으로 넉넉하게 잡으시는 것이 전략의 승률을 보장하는 길입니다.
결론적으로: 분할 익절 구조는 좋으나, 보유 기간(72시간)과 손절 폭(2.2%)이 일봉 전략치고는 너무 촉박합니다.
위의 설정은 본 블로그 글을 쓰기 전에 바로 발견한 옵션이었습니다. 궁금해서 물어볼 겸 함께 넣었더니 아주 똑똑한 답변을 주고 있습니다. 제미나이가 갈수록 똑똑해져서 조만간 오픈에이아이에게 이런 내용도 직접 시켜볼 수 있는 날을 기대해보고 있습니다. 어쨌든 위의 72시간 옵션은 제가 실제로 쓰고 있는 내용은 아닙니다. 그럼 이 기능은 언제 써야 좋을지 물어봤습니다.
3Commas의 최대 보유 기간(Maximum hold period) 기능은 말 그대로 “돈이 묶이는 것”을 방지하기 위한 강제 종료 장치입니다. 현재 설정하신 72시간(3일)은 일봉(1 day) 전략에는 독이 될 수 있지만, 특정 상황에서는 아주 유용한 ‘방패’가 됩니다.
언제 이 기능을 써야 ‘돈값’을 하는지 활용법을 정리해드리겠습니다.
72시간 보유 제한이 빛을 발하는 3가지 상황

① 단타(Scalping) 및 저분봉 전략
- 활용: 1분 봉, 5분 봉처럼 짧은 주기로 매매할 때 사용합니다.
- 이유: 단타는 빠르게 수익을 내고 나오는 게 핵심인데, 며칠씩 물려 있으면 그사이에 다른 기회(기회비용)를 모두 놓치게 됩니다. 5분 봉 전략이라면 보통 2~4시간 정도의 제한을 둡니다.
② 선물 거래의 ‘펀딩비’ 방어
- 활용: 포지션을 오래 들고 있을수록 펀딩비(수수료)를 계속 내야 하는 선물 시장에서 사용합니다.
- 이유: 수익은 1%인데 펀딩비로 0.5%를 낸다면 의미가 없겠죠? 수익이 나지 않더라도 일정 시간이 지나면 포지션을 정리해 수수료 폭탄을 피하는 용도입니다.
③ 변동성 매매 (뉴스/이벤트 드리븐)
- 활용: 특정 지표 발표(CPI 등)나 이벤트 직후의 변동성을 먹으려고 들어갔을 때 사용합니다.
- 이유: 보통 이벤트 직후 1~2시간 안에 승부가 나지 않고 횡보하기 시작하면, 이미 그 재료는 소멸한 것입니다. 이때 강제로 빠져나오기 위해 씁니다.
2. 제대로 쓰는 ‘황금 비율’ 공식
보유 기간을 무작정 72시간으로 잡는 게 아니라, 본인이 보는 ‘차트의 시간 프레임’에 맞춰야 합니다.
- 초단타 (1분~5분 봉): 1시간 ~ 4시간 제한
- 단기 스윙 (15분~1시간 봉): 12시간 ~ 24시간 제한
- 중기 스윙 (4시간~일봉): 최소 7일(168시간) 이상 혹은 기능 끄기(Off)
특히 최대 보유 기간 옵션을 해제하거나 대폭 늘린 후, 이전 포스팅에서 추천해드린 진입 조건 수정안(Crossing Down → Less Than)과 함께 다시 한 번 백테스트를 돌려보시길 강력히 권장합니다. 훨씬 더 안정적인 수익 곡선을 확인하실 수 있을 것입니다.
9개월 백테스팅 결과

이전에 설계했던 리플(XRP) 일봉(1 day) 과매도 전략의 실제 백테스트 결과가 나왔습니다. 단순히 “얼마를 벌었는가”보다 더 중요한 데이터들이 숨어있는데요. 핵심 지표들을 하나씩 뜯어보며 전략의 실효성을 검증해 보겠습니다.

- 실현 수익 (PNL): +$12.4
- 미실현 수익 (uPNL): $0 (모든 거래가 깔끔하게 종료됨을 의미)
- 총 거래 대금 (Volume): 813.09 USDT
- 지불 수수료 (Fees): 0.81 USDT
분석 의견: 약 813 USDT의 거래 규모를 통해 12.4 USDT의 순이익을 창출했습니다. 수수료 비중이 수익 대비 매우 낮아(약 6.5%), 잦은 매매보다는 확실한 타점에서 비중 있게 들어가는 일봉 전략의 장점이 잘 드러나고 있습니다.
리스크 지표: MDD와 MFD의 숨은 의미
이 섹션이 이번 백테스트의 핵심입니다.
- 최대 낙폭 (MDD): -$2.3
- 최대 유동 손실 (MFD): -$51.3
주의 깊게 봐야 할 점:

- MDD(-$2.3)는 잔고의 최고점 대비 하락 폭이 매우 작았음을 보여주는 아주 긍정적인 신호입니다.
- 하지만 MFD(-$51.3)가 상당히 높게 잡혀있습니다. 이는 봇이 포지션을 잡은 뒤, 수익으로 전환되기 전까지 최대 약 $51 정도의 마이너스 구간을 견뎌야 했다는 뜻입니다.
3. 전략 수정 제안: 왜 ‘손절가’ 조절이 필요할까?
MFD가 -$51.3까지 내려갔음에도 최종 수익이 +$12.4로 끝났다는 것은, “주가가 크게 빠졌다가 결국 반등에 성공했다”는 것을 의미합니다.
만약 이때 손절가를 너무 타이트하게(예: -2.2%) 잡았다면 어떻게 됐을까요? 아마 -$51까지 내려가기도 전에 봇이 손절을 해버려서, 뒤에 찾아온 반등 수익을 먹지 못하고 확정 손실만 입었을 가능성이 큽니다.
4. 최종 결론 및 향후 계획
이번 백테스트를 통해 리플 일봉 바닥 낚시 전략의 수익성은 확인되었습니다. 다만, MFD 지표를 볼 때 다음 두 가지를 반드시 고려해야 합니다.
- 충분한 여유 자금: 유동 손실 구간(-$51.3 수준)을 견딜 수 있는 증거금이 필요합니다.
- 손절선 최적화: 너무 짧은 손절보다는, 일봉의 변동성을 버틸 수 있는 넉넉한 손절선 혹은 DCA 추매(Safety Order) 설정을 통해 평균 단가를 낮추는 전략이 유효합니다.
위는 제미나이의 설명이고요. 그럼 이제 제가 설명하겠습니다. DCA가 쉽게 설명하면 자동 물타기 기능입니다. 물타기 설정이 열려 있기 때문에 물타기를 한다고 생각했는데, Averaging orders per trade = 0이라는 숫자 때문에 전혀 하지 않았습니다. 옵션을 제가 제대로 이해하지 못한 것도 있고요. 3commas에서 가이드가 제대로 되지 않은 것도 이유가 있습니다. 보통 0번이면 온/오프 버튼을 만들어야 좀 더 직관적일 겁니다.

위에 물타기 설정을 보면 Averaging orders per trade가 0인데요. 이게 0이면 물타기를 하지 않는다고 하지만, 실제 백테스팅에서는 물타기를 했습니다. 무제한일 수도 있겠다는 생각이 들었습니다. 내용이 너무 길어져서 여기서 마무리를 짓고 이어지는 내용은 다음 편에 올리겠습니다. 참고로 위에 내용은 암산이 안 되는 영역이라 제가 계산기도 만들었습니다. 2개의 포스팅으로 나눠서 추후 올려 보겠습니다.
마치며
자동 매매의 핵심은 ‘이론과 실제의 간극’을 줄이는 것입니다. 특히 일봉 기반 전략은 진입 기회가 적은 만큼, 한 번의 진입이 수익으로 연결될 수 있도록 정교한 필터링이 필요합니다. 앞으로 백테스팅을 계속 돌려 보면서 좋은 값이 나온다면, 그 이유를 분석해 보고 결과를 공유해보겠습니다.