프로 코인코인 시세 차트 신호 실측 무료 책 받기

코인 · 자동매매

빗썸 자동매매, API 키와 JWT로 조건 매매 시작하기

빗썸 API 키 발급, 허용 IP 등록, JWT 인증 뒤 시세·조건·주문·기록을 연결하는 순서를 설명한다.

『차트의 정석 제2권』 표지

무료 책

차트는 기초가 가장 중요합니다.
신청하신 모든 분들께 무료로 보내드립니다.

『차트의 정석 제2권』 제5장 보조지표 사용설명서

51쪽 · 8장 차례 전체 보기

제5장 보조지표 사용설명서

RSI — 얼마나 세게 밀렸는가

한 줄 뜻
RSI — 최근 14일 동안 오른 날의 상승폭과 내린 날의 하락폭을 비교해 0에서 100 사이 숫자로 나타낸 것입니다. 오른 쪽이 셌으면 높고 내린 쪽이 셌으면 낮습니다.

흔히 70 이상이면 과매수, 30 이하면 과매도라고 부릅니다. 너무 많이 올랐다, 너무 많이 빠졌다는 뜻입니다.

이 기준이 실제로 쓸모 있는지 셌습니다.

숫자로 확인
RSI 30 이하 — 5일 뒤 +0.73% / +4.10% / 54.0%, 20일 뒤 +1.18% / +6.30% / 53.9%, 60일 뒤 +0.92% / +8.51% / 51.6%
RSI 70 이상 — 20일 뒤 -2.08% / +1.32% / 43.2%
아무 날이나 — 20일 뒤 -1.00% / +2.25% / 45.6%
(칸은 중앙값 / 평균 / 오른 비율. 390여 종목·RSI 30 이하 6만 8천여 건)

  1. RSI — 얼마나 세게 밀렸는가
  2. 다이버전스라는 것
  3. MACD — 두 이평선의 거리
  4. 볼린저밴드 — 변동성으로 그린 띠
  5. 지표를 여러 개 쓸 때의 원칙
  6. 과최적화라는 함정
  7. 핵심 정리
이 책 차례 전체와 첫 장 더 읽기51쪽 · 8장

수익률을 보장하지 않습니다.

빗썸 자동매매는 공식 API로 시세를 읽고, 사람이 정한 조건을 판정한 뒤 주문 요청을 보내는 구조로 만든다. 시작할 때는 API 활성 항목과 허용 IP를 정하고 키를 발급한 다음 JWT 인증부터 연결한다.

먼저 자동화할 조건을 적는다

API 키를 만들기 전에 주문 규칙을 한 문장으로 정리한다. ‘매일 정한 시각에 같은 금액을 산다’, ‘짧은 이동평균선이 긴 이동평균선을 아래에서 위로 통과하고 봉이 마감되면 산다’, ‘RSI가 정한 값 아래이면 한 번만 주문한다’처럼 작성한다.

문장에는 매수할 코인, 판정할 봉 간격, 지표의 계산 기간과 기준값, 한 번의 주문 금액을 넣는다. 매도 규칙도 쓴다면 매수와 분리한다. 같은 조건이 다음 조회에서도 참일 때 다시 주문할지, 한 번의 신호로 끝낼지도 정한다.

프로그램은 이 문장을 시세 조회, 계산, 참·거짓 판정, 주문 요청으로 나눠 실행한다. 사람이 맡을 부분은 규칙과 금액, 실행 시간이며 API는 그 값을 빗썸에 전달하는 통로다.

API 키 발급과 활성 항목

빗썸 Private API는 자산조회·주문조회·주문하기·출금하기 등에 사용한다. ‘마이페이지 > API 관리’로 이동해 사용할 API 활성 항목을 선택한다. 프로그램에 필요한 기능을 기준으로 조회와 주문 항목을 나눠 정하면 된다.

그다음 접근 허용 IP를 등록하고 약관에 동의한 뒤 API Key를 생성한다. 주문 프로그램이 접속하는 고정 IP를 허용 목록에 넣어 키와 실행 위치를 연결한다. 개발용과 계속 실행할 프로그램의 위치가 다르다면 각 실행 위치와 권한을 먼저 정리한다.

Secret Key는 발급 시 한 번만 표시된다. 발급 화면에서 사용할 저장 위치를 정하고, 프로그램은 실행 환경에서 읽도록 구성한다. 화면을 닫은 뒤 다시 확인하는 순서를 전제로 만들지 않는다.

JWT 인증을 프로그램에 붙인다

빗썸 Private API 인증에는 JWT 인증 토큰이 필요하다. 프로그램은 발급받은 API Key와 Secret Key를 사용해 요청에 맞는 인증 토큰을 만들고 Private API 호출에 넣는다.

인증 함수는 조건 계산 함수와 나눠 둔다. 인증 함수는 키를 읽고 JWT를 만들어 요청 헤더에 넣는 일만 맡는다. 시세 함수는 가격 데이터를 가져오고, 조건 함수는 지표를 계산하며, 주문 함수는 매수·매도 값과 인증 헤더를 조립한다.

이렇게 나누면 시세 조회까지만 실행하거나 조건 판정까지만 실행하는 단계 확인이 쉽다. 기록에는 키나 완성된 인증 토큰 대신 요청 시각, 함수 이름, 판정 결과, 주문 응답을 남긴다.

조건 매매를 연결하는 순서

먼저 공개 시세를 가져와 사용할 봉의 간격과 필요한 개수를 정한다. 이동평균선을 두 개 쓴다면 두 기간을 계산할 만큼 데이터를 읽는다. RSI를 쓴다면 프로그램과 차트에서 같은 기간과 같은 봉 간격을 사용한다.

다음은 지표 계산이다. 골든크로스라면 이전 봉에서 짧은 이동평균선이 긴 이동평균선 아래에 있었고, 현재 마감 봉에서는 위에 있는지 비교한다. 현재 값이 위에 있다는 사실만 검사하면 교차 뒤 여러 봉에서 같은 조건이 이어질 수 있으므로 ‘교차한 순간’을 코드로 구분한다.

조건이 참이면 잔고와 이전 주문 기록을 확인하고 주문 값을 만든다. 그 뒤 JWT를 포함한 Private API 요청을 보낸다. 마지막으로 거래소 응답, 주문 시각, 사용한 가격과 지표 값을 한 묶음으로 기록한다.

트레이딩뷰 얼러트를 함께 쓰는 법

조건 계산을 트레이딩뷰에서 먼저 만들 수도 있다. 가격 얼러트 또는 지표·전략에 대한 기술적 얼러트에서 연산자와 값, 시간 간격, 발동 빈도를 지정한다. 발동 빈도에는 ‘한 번만’, ‘매번’, ‘봉 마감 시마다 한 번’, ‘1분마다 한 번’이 있다(2026년 9월 확인 기준).

웹훅을 고르면 얼러트 발생 시 지정한 URL로 POST 요청을 보낸다. 메시지가 유효한 JSON이면 application/json, 그렇지 않으면 text/plain으로 전송된다. 프로그램은 알림 내용을 받은 뒤 자신의 조건 문장과 주문 설정을 확인하고 빗썸 API 요청을 만든다.

트레이딩뷰 공식 문서는 웹훅을 외부 애플리케이션에 알리는 기능으로 설명한다. 따라서 빗썸 JWT 인증, 주문값 구성, 주문 기록은 내가 만든 프로그램에서 맡도록 구분한다.

처음 한다면 이 순서로

  1. 코인, 봉 간격, 조건, 주문 금액을 한 문장으로 적는다.
  2. ‘마이페이지 > API 관리’에서 API 활성 항목과 접근 허용 IP를 정하고 키를 발급한다.
  3. 한 번만 표시되는 Secret Key를 정한 위치에 보관하고 JWT 인증 함수를 만든다.
  4. 시세 조회와 조건 판정을 확인한 뒤 주문 함수를 연결한다.
  5. 판정값, 주문 요청과 응답을 시각과 함께 기록한다.

책에서 이어지는 것

골든크로스와 보조지표를 조건 문장으로 바꾸는 근거는 ‘제5장 보조지표 사용설명서’에서 이어진다. RSI·MACD·볼린저밴드가 무엇을 계산하는지 읽고 서로 다른 재료의 지표를 고르는 법을 다룬다.

함께 보면 좋은 페이지

esc
↑ ↓ 고르기enter 이동