고객은 크게 오르지도 내리지도 않고 일정 범위에서 오르내리는 횡보장을 노렸습니다.
가격을 격자처럼 촘촘히 나눠 놓고 싸지면 사고 비싸지면 파는 반복매매를 하려는 것이었습니다.
다만 이걸 사람이 24시간 손으로 반복하기는 어렵습니다.
요청은 이랬습니다. 정해 둔 격자에 따라 자동으로 사고팔 것.
수수료를 줄이기 위해 시장가는 쓰지 않고 지정가(메이커)만 쓸 것.
업비트를 쓰다가 빗썸으로도 옮겨 돌릴 수 있게 한 프로그램에서 두 거래소를 지원할 것.
코인은 24시간 움직이고, 두 거래소는 인증 방식과 응답 형식, 호가 단위가 서로 다릅니다.
격자를 깔고 채우는 전략 로직만큼이나,
같은 전략을 두 거래소에서 똑같이 돌아가게 맞추는 일이 컸습니다.
02구현 방식
정해 둔 기준 기간의 고점과 저점으로 격자를 만들고, 체결될 때마다 반대 주문을 자동으로 채워 넣습니다.
설정한 기준 기간의 분봉 고가와 저가에서 매수, 매도 기준가를 뽑고, 정한 간격(원)으로 위아래에 격자를 깝니다.
모든 주문은 지정가(메이커)로만 냅니다. 시장가를 쓰지 않는 것은 수수료를 줄이기 위해서입니다.
한 슬롯이 체결되면 바로 반대 주문을 넣습니다. 이때 수량은 체결된 순서의 역순(LIFO)으로 맞춥니다.
슬롯마다 진입 수량을 다르게 줄 수 있어서, 아래로 내려갈수록 더 많이 사는 마틴게일식 운용이 가능합니다.
그리드 매매 흐름. 격자 생성부터 LIFO 매칭, 차등 수량, 거래소별 처리와 청산까지
두 거래소에 같은 전략을 그대로 쓰고, 인증과 통신 부분만 거래소 규격에 맞게 갈아 끼웁니다.
화면에서 업비트와 빗썸 라디오 버튼만 바꾸면 선택한 거래소에서 같은 격자 전략이 돌아갑니다.
시세는 WebSocket으로 받고, 주문과 잔고, 체결 조회는 REST로 처리합니다.
실시간 틱마다 반응하지 않고 분봉이 바뀌는 시각에 한 번씩 격자 재배치와 체결 확인을 돌립니다.
이렇게 하면 호출 제한에 걸리지 않고, 판단 기준도 분봉 종가로 일정합니다.
03어려웠던 부분
거래소마다 다른 호가 단위와 빗썸 nonce
지정가만 쓰는 격자는 말로는 간단하지만, 거래소마다 주문 가격을 받아 주는 규칙이 다릅니다.
빗썸은 요청에 nonce(시간 기반 일회성 값)가 필요해서 PC 시계가 조금만 어긋나도 주문이 거부됩니다.
또 코인마다 호가 단위가 달라서 소수점 자릿수를 잘못 붙이면 주문이 받아들여지지 않습니다.
그래서 서버 시각에 맞춘 nonce 보정과, 거래소와 종목에 따라 호가 단위를 맞추는 처리를 봇에 넣었습니다.
매수와 매도 모두 지정가로만 접수하고, 격자 가격에 정확히 걸리게 했습니다.
빗썸 응답에 담긴 서버 시각으로 PC와의 시간 차이를 계산해 nonce에 반영합니다. PC 시간을 동기화할 권한이 없어도 시간이 어긋나 주문이 거부되는 일이 없습니다.
가격대에 맞는 호가 단위로 가격을 맞춰 보냅니다. 예를 들어 41원대 코인은 0.1원, 2,000원대는 1원 단위입니다.
매수가와 매도가가 겹쳐 내 주문끼리 체결되는 상황은 주문 전에 걸러 냅니다.
설정한 분봉이 바뀌는 시각에, 데이터 갱신이 늦는 것을 감안한 여유를 두고 한 번씩 실행합니다.
04주요 기능
체결된 매수의 역순으로 매도 수량을 맞추고, 매도가 체결되면 빈 슬롯을 다시 채웁니다.
슬롯마다 진입 수량을 다르게 설정할 수 있습니다.
청산은 격자별 분할 매도와 평단가 기준 전량 매도 중에서 고릅니다. 뒤쪽을 고르면 평단가 대비 목표 수익률에 닿을 때 보유 전량을 정리합니다.
미체결 주문과 슬롯 상태를 저장해 두어 재시작하면 이어받습니다. 리셋해서 새로 시작할 수도 있습니다.
화면에서 격자 슬롯 상태(대기, 매수중, 체결, 매도중), 보유 수량, 평단, 손익, 체결 로그를 실시간으로 봅니다.
05제작 과정 (약 2~3주)
1주차에 격자 파라미터와 청산 방식을 확정하고, 업비트와 빗썸의 인증, 주문, 조회 연동 뼈대를 만들었습니다. 공통 전략과 거래소별 부분은 이때 분리했습니다.
2주차에는 격자 생성과 재배치, LIFO 역순 매칭, 슬롯 상태 관리, 슬롯별 차등 수량, 평단가 일괄매도, 화면을 구현했습니다.
3주차에 빗썸 nonce 보정과 호가 단위를 점검하고 자기매칭 방지를 검증했습니다. 소액 실계좌로 실제 체결을 확인한 뒤 인수인계했습니다.
06납품 결과물
실행 프로그램 (GUI 대시보드 포함, 단일 실행 파일)
업비트와 빗썸 두 거래소 지원 (라디오 전환)
격자 파라미터 설정 저장과 불러오기, 상태 복원
사용설명서, API 키 발급과 설정 가이드
납품 후 30일 무료 AS (협의 범위 내)
07기술 스택
업비트 API (REST, WebSocket, JWT)빗썸 API (REST, WebSocket, HMAC-SHA512)Python그리드 엔진 (LIFO 매칭, 슬롯 상태머신)tkinter GUI (다크 테마)PyInstaller (단일 exe 빌드)
※ 본 사례는 과거 고객 요구사항을 익명 처리하여 재구성한 것이며, 수익률과 수익금은 공개하지 않습니다.
알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다.
과거 백테스트 결과가 미래 실거래 수익을 보장하지 않습니다. 암호화폐, 파생상품 투자는 원금 손실 위험이 있습니다.