
2017년 불장 끝물에 코인을 샀을 때는 잠든 사이에도 가격이 오르길 바랐습니다. 몇 년 뒤 코인 자동매매 봇을 소액으로 돌려보면서는 반대 생각을 했어요. 잠든 사이에 주문이 계속 나간다는 게 꽤 불편했습니다. 봇은 제가 정한 규칙을 빠짐없이 실행하지만, 그 규칙이 지금 시장에 맞는지는 판단해주지 않으니까요.
그래서 봇을 고를 때 수익률 화면보다 먼저 보는 게 있습니다. 어떤 조건에서 사고파는지, 한 번 잘못 움직이면 얼마를 잃을 수 있는지, 제가 멈추고 싶을 때 바로 멈출 수 있는지입니다. 이 세 가지를 설명하기 어렵다면 아직 실거래를 시작할 때가 아니라고 봅니다.
봇보다 먼저 매매 규칙을 종이에 적기
자동매매 방식은 여러 가지입니다. 일정 간격으로 매수하는 방식은 진입 시점을 나누는 데 쓰이고, 정해둔 가격 구간에서 사고파는 그리드 방식은 가격이 그 구간을 오갈 때 거래가 쌓입니다. 이름은 달라도 봇이 하는 일은 미리 입력한 조건에 따라 주문을 내는 것입니다. 시장 방향을 맞히거나 손실을 없애주는 기능은 아닙니다.
처음에는 규칙을 한 문단으로 적어봤습니다. ‘현물 비트코인만 거래한다. 투입액은 30만 원을 넘기지 않는다. 한 번에 3만 원어치만 산다. 가격이 설정 구간을 벗어나면 새 주문을 멈추고 직접 확인한다.’ 이 정도도 막상 쓰려니 빈칸이 보였습니다. 이미 보유한 코인이 있는데 추가 매수해도 되는지, 미체결 주문은 어떻게 처리할지 같은 문제였죠.
그리드는 특히 하락장에서 조심해야 합니다. 매수 체결 횟수만 늘고 가격이 되돌아오지 않으면 코인 보유량과 평가손실이 함께 커집니다. 상승장이 강하게 이어질 때는 일찍 판 뒤 재진입 기회를 놓칠 수도 있고요. 바이낸스의 봇 안내도 과거 성과가 미래 수익을 보장하지 않으며 거래 수수료가 발생한다고 설명합니다. 남의 수익률을 복사하기 전에 그 사람이 설정한 가격 범위와 운용 기간부터 봐야 하는 이유입니다.
거래 횟수보다 수수료를 먼저 계산하기
소액 테스트에서 가장 먼저 체감한 건 거래가 많다고 돈이 많이 남지는 않는다는 점이었습니다. 화면에는 ‘수익 거래’가 여러 건 찍혀도 전체 계좌의 평가금액은 크게 달라지지 않을 수 있습니다. 매수·매도 수수료와 매수·매도 가격 차이, 체결되지 않은 코인의 평가손익을 함께 봐야 합니다.
가상의 예를 들어볼게요. 10만 원에 사서 10만 1천 원에 팔았고, 양쪽 거래에 각각 0.05% 수수료가 붙는다면 가격 차이 1천 원에서 수수료 약 100원을 빼야 합니다. 실제로는 주문이 일부만 체결되거나 원한 가격보다 불리하게 체결될 수도 있습니다. 따라서 봇 화면의 거래별 이익보다 ‘시작할 때 넣은 돈과 코인 전체’의 현재 가치를 비교하는 편이 낫습니다. 수수료율은 거래소와 계정 조건에 따라 달라지니 실행 전에 본인 계정에서 확인해야 합니다.
백테스트 숫자도 같은 방식으로 읽습니다. 수수료와 불리한 체결을 빼고 계산했는지, 상승장 한 구간만 시험한 것은 아닌지 확인합니다. 과거 자료에 꼭 맞춘 설정이 다음 달에도 통한다는 보장은 없습니다. 저는 수익률보다 최대 손실 폭을 먼저 보는 쪽이 마음이 편했습니다.
API 키는 주문에 필요한 권한만 주기
외부 봇을 거래소 계정에 연결한다면 API 키 권한을 꼼꼼히 봐야 합니다. 업비트 개발자 문서에는 자산조회, 주문조회, 주문하기, 출금하기 등이 서로 다른 권한으로 나뉘어 있고 접속을 허용할 IP도 등록하게 되어 있습니다. 현물 주문용 봇이라면 필요한 조회·주문 권한만 선택하고 출금 권한은 주지 않는 편이 안전합니다. 비밀 키는 발급 화면에서만 확인할 수 있으니 메신저나 공개 저장소에 옮겨두지 않습니다.
처음 연결할 때는 잔고 조회가 되는지부터 확인하고, 실제 주문은 최소한의 금액으로 한 번만 넣어봅니다. 주문을 취소했을 때 거래소 화면에도 취소가 반영되는지 확인해야 합니다. 업비트 원화 마켓은 최소 주문 가능 금액과 가격별 호가 단위가 정해져 있습니다. 주문 금액을 너무 잘게 나누거나 허용되지 않는 가격을 넣으면 봇이 생각대로 작동하지 않을 수 있습니다. 이 기준도 거래소 안내에서 다시 확인하는 게 좋습니다.
시작할 때 멈추는 조건까지 정하기
제가 봇을 켤 때 따로 적어두는 건 중단 조건입니다. 하루 손실이 정한 금액을 넘거나, 같은 오류가 반복되거나, 설정한 가격 범위를 벗어나면 알림을 확인하고 새 주문을 중지합니다. 봇 화면만 믿지 않고 거래소의 미체결 주문과 잔고도 대조합니다. 연결이 끊겼다가 다시 붙는 동안 주문 상태를 잘못 읽으면 같은 방향으로 주문이 겹칠 수 있어서입니다.
초보라면 선물이나 레버리지 봇보다 현물 소액 테스트가 이해하기 쉽습니다. 선물은 가격 움직임에 따른 손실이 커질 수 있고 청산 위험도 더해집니다. 며칠 돌려본 뒤에는 수익률 숫자 하나 대신 총자산 변화, 수수료, 최대 평가손실, 예상과 달랐던 주문을 기록해 둡니다. 그 기록을 보고도 규칙을 납득할 수 있을 때만 운용 금액을 늘리는 게 제 방식입니다.
자동매매의 장점은 감정이 흔들릴 때도 정해둔 주문을 실행한다는 데 있습니다. 그런데 제가 틀린 규칙을 넣으면 그 실수도 성실하게 반복합니다. 그래서 코인 자동매매 봇을 볼 때마다 ‘얼마나 벌까’보다 ‘어디서 멈출까’를 먼저 묻게 됩니다.
