shud.log
바이브코딩 기록

나도봇 첫 달 결산 — 체결 130회에 -$7.85, 원인을 찾았습니다

2026-04-10나도봇마켓메이킹핑퐁봇손실분석크립토봇

처음엔 당연히 수익이 날 줄 알았습니다.

로직이 간단했거든요. BTC 현재가 기준으로 아래에 매수 주문, 위에 매도 주문을 걸어두고, 한쪽이 체결되면 반대쪽을 다시 겁니다. 가격이 위아래로 왔다갔다 할 때마다 갭만큼 수익이 생기는 구조입니다.

한 달 넘게 돌리고 결과를 봤더니 이랬습니다.

  • 총 체결: 130회
  • 누적 손익: -$7.85

분명히 뭔가 잘못됐습니다.


데이터를 뜯어봤습니다

로그 파일에는 모든 체결 기록이 남아있습니다. 직접 분석해봤더니 이상한 패턴이 보였습니다.

체결 내역 중에 "source": "stop_loss" 라고 표시된 항목들이 있었습니다. 손절 체결입니다. 이게 몇 개나 있는지 세봤더니.

94개.

130번 체결 중 94번이 손절이었습니다. 비율로 따지면 72%입니다.


왜 손절이 이렇게 많이 났을까

봇에 스탑로스 로직이 있었습니다. 포지션이 반대 방향으로 일정 % 이상 움직이면 시장가로 청산하는 안전장치입니다.

문제는 그 기준이 0.5% 였습니다.

BTC는 하루에도 수십 번 0.5% 이상 움직입니다. 특히 변동성이 큰 날은 시간당 0.3~0.5% 왔다갔다하는 게 일상입니다.

제가 설정한 건 이런 의미였습니다.

"BTC가 0.5% 이상 흔들리면 무조건 손절"

그런데 BTC는 0.5% 흔들리는 게 일상이었습니다. 결과적으로 봇이 체결될 때마다 손절당하는 구조가 반복됐습니다.

손절 한 번에 약 $0.75 손실이 납니다. 94번이면 대략 -$70 입니다. 핑퐁으로 번 수익이 있었지만 손절 손실이 그걸 다 먹어버린 것입니다.


ETH는 더 심각했습니다

BTC 핑퐁 봇이 어느 정도 안정된 것 같아서 ETH도 추가했었습니다.

ETH는 BTC보다 변동성이 더 큽니다. 갭을 $10으로 너무 좁게 설정한 것도 문제였습니다. ETH는 1시간에 $10 움직이는 게 흔한 일인데, 갭이 $10이면 매수 주문이 체결되자마자 반대 방향으로 치고 나가버립니다.

ETH에서만 손절이 36회. 추정 손실 $25 정도.

결국 ETH 봇은 중간에 껐습니다.


수정한 내용

원인이 명확하니 수정은 간단했습니다.

스탑로스 기준 조정

| | 변경 전 | 변경 후 | |---|---|---| | BTC 손절 | 0.5% | 2.0% | | ETH 손절 | 0.5% | 1.5% |

그리고 갭도 넓혔습니다.

| | 변경 전 | 변경 후 | |---|---|---| | BTC 갭 | $150 | $300 | | ETH 갭 | $10 | $30 |

갭이 넓으면 체결 횟수는 줄지만, 한 번 체결될 때 수익이 더 큽니다. 그리고 손절 기준보다 갭이 충분히 크면 정상적인 핑퐁 체결이 손절보다 먼저 일어납니다.

원웨이 감지 추가

같은 방향으로 2번 연속 체결되면 봇이 30분 동안 대기합니다. 가격이 한 방향으로 강하게 흐를 때는 핑퐁 전략 자체가 안 맞습니다. 무조건 버티는 것보다 잠깐 쉬는 게 낫습니다.


수정 후 결과

수정하고 나서 최근 2주 기준으로 보면 일별 PnL이 플러스로 돌아섰습니다.

물론 아직 초기라 확신하기 이릅니다. 변동성이 낮은 횡보 구간이라 좋게 나오는 것일 수도 있습니다. 한 달은 더 지켜봐야 의미 있는 결론이 나올 것 같습니다.


솔직히 느낀 것

처음에 봇 만들 때 스탑로스를 0.5%로 설정한 건 "안전하게 가자"는 생각이었습니다.

근데 실제로는 그 설정이 제일 위험한 설정이었습니다. 너무 자주 손절이 나서 정상적인 전략이 작동할 기회조차 없었던 것입니다.

파라미터 하나가 이렇게 큰 차이를 만드는지 몰랐습니다. 백테스팅 없이 실전으로 배우니까 수업료가 $70이 됐습니다.

다음엔 파라미터를 건드리기 전에 과거 데이터로 먼저 테스트해보는 습관을 들여야겠다고 생각했습니다.

← 목록으로