빗썸 그리드 봇 만들기
방향을 예측하는 매매는 어렵습니다. 오를지 내릴지 맞히는 게임이니까요. 그리드 매매(grid trading)는 발상이 다릅니다. 방향을 맞히는 대신, 변동성 그 자체를 수익으로 바꿉니다. 국내 거래소 빗썸에서 그리드 봇을 만들며 정리한 개념과 구조입니다.
그리드 매매란
가격이 오르내리는 구간에 일정 간격으로 격자(grid)를 깔고, 각 선에서 기계적으로 사고팝니다.
- 가격이 내려가면 아래 격자선에서 매수
- 가격이 올라가면 위 격자선에서 매도
싸게 사서 비싸게 판다는 원칙을, 감정 없이 반복하는 것입니다. 위아래로 출렁이는 횡보장에서 특히 강합니다. 한 번 오르내릴 때마다 격자 간격만큼의 차익이 쌓이니까요. 반대로 한 방향으로 쭉 빠지는 하락장에서는 매수 물량만 계속 쌓여 취약합니다. 이 약점을 아는 게 중요합니다.
매수/매도 갭 전략
그리드의 핵심 파라미터는 갭(gap), 즉 매수가와 매도가의 간격입니다. 이 갭이 곧 회전당 수익의 원천입니다.
현재가: 100원, 갭: 2%
├─ 매도 주문: 102원 (오르면 팔아 차익 실현)
├─ 현재가: 100원
└─ 매수 주문: 98원 (내리면 사서 평단 낮춤)
개념적으로는 이렇게 동작합니다.
type GridConfig struct {
OrderCount int // 격자 개수
GapPercent float64 // 매수/매도 간격 (%)
OrderQty float64 // 주문당 수량
}
// 현재가 기준으로 매수/매도 목표가 산출 (개념 예시)
func gridLevels(price float64, cfg GridConfig) (buys, sells []float64) {
for i := 1; i <= cfg.OrderCount; i++ {
gap := cfg.GapPercent / 100 * float64(i)
buys = append(buys, price*(1-gap)) // 아래쪽 매수선
sells = append(sells, price*(1+gap)) // 위쪽 매도선
}
return
}
매수가 체결되면 그 위에 매도 주문을 걸고, 매도가 체결되면 그 아래 매수 주문을 다시 겁니다. 이 사이클이 계속 돌면서 갭만큼의 차익이 누적됩니다.
갭을 좁히면 회전은 잦아지지만 거래 수수료 부담이 커집니다. 넓히면 회전은 뜸해도 한 번의 이익이 큽니다. 수수료를 이기는 갭을 잡는 게 설계의 핵심입니다.
웹 대시보드로 모니터링
콘솔 로그만 보고 그리드 봇을 운영하는 건 고통스럽습니다. 지금 몇 개 주문이 걸려 있는지, 코인/원화 잔고가 얼마인지 한눈에 봐야 하죠. 그래서 표준 웹 서버로 대시보드를 붙입니다.
http.HandleFunc("/api/status", handleStatus) // 현재가·주문 수·잔고
http.HandleFunc("/api/settings", handleSettings) // 갭·수량 등 파라미터 조회/변경
http.HandleFunc("/api/orders", handleOrders) // 활성 매수/매도 주문 목록
http.HandleFunc("/api/reset-orders", handleReset) // 전체 주문 취소 후 재시작
대시보드에서 제공하면 좋은 것들:
- 실시간 상태 — 현재가, 매수/매도 주문 수, 코인·원화·총자산 (10초 폴링)
- 설정 관리 — 갭·주문 수량·심볼을 재시작 없이 즉시 변경
- 주문 리셋 — 그리드가 한쪽으로 쏠렸을 때 전체 취소 후 현재가 기준으로 재배치
특히 주문 리셋은 실전에서 자주 씁니다. 가격이 그리드 범위를 벗어나면 한쪽 주문만 남게 되는데, 리셋으로 현재가 중심에 격자를 다시 까는 거죠.
보안과 운영 주의
거래소 API 봇에서 빠뜨리면 안 되는 것들:
- API 키 권한 최소화 — 거래 권한만, 출금 권한은 반드시 차단
- 대시보드 노출 범위 — 기본은 로컬(127.0.0.1). 외부 개방 시 인증·HTTPS 필수 (키가 그대로 노출될 수 있음)
- 하락장 대비 — 그리드는 한 방향 하락에 약하다. 손절 라인이나 범위 이탈 시 정지 로직을 반드시 둘 것
정리
- 그리드 매매는 방향 예측이 아니라 변동성을 수익화하며, 횡보장에 강하다
- 매수/매도 갭이 회전당 수익의 원천 — 수수료를 이기는 폭으로 잡는다
- 웹 대시보드로 주문·잔고를 실시간 모니터링하고 파라미터를 즉시 조정한다
- 한 방향 하락에 취약하므로 범위 이탈 대비 로직과 API 키 권한 최소화가 필수다
그리드는 단순해서 강력하지만, 만능은 아닙니다. 시장 국면을 이해하고 약점을 방어하는 순간, 비로소 쓸 만한 도구가 됩니다.
이 글은 교육·정보 목적이며 투자 권유가 아닙니다. 자동매매에는 원금 손실 위험이 있으며, 결과에 대한 책임은 본인에게 있습니다.
댓글
댓글 쓰기