본문 바로가기
코인/업비트API

엑셀 업비트 API 실시간 캔들값 엑셀 파일 자동 갱신 - VBA

by 큐브빌드 2021. 5. 12.
반응형

파이썬 , 자바 , C# 등 사실 다양한 언어로 API를 연동할 수 있습니다.

 

그런데 유독 엑셀을 사용하여 업비트의 정보를 불러오려고 합니다.

 

이유를 생각해보니 엑셀이 보기 편하고 정리하기 편해서였습니다.

 

그래서 엑셀을 사용한 업비트 API 실시간 캔들 값을 자동 경신하도록 만들었습니다.

 

엑셀에서 불러온 엑셀 값을 마음껏 수정하셔도 되고 텔레그램을 연결하여 특정 조건에 맞는 경우 핸드폰 알람 설정까지 가능합니다.

 

5분 양봉일 때 알람 되는 프로그램은 하나 올려놨습니다.

그리고 업비트 API에서 캔들을 1종류씩 밖에 불러올 수가 없습니다.

 

하지만 엑셀에서 최대 5개까지 업비트 API를 통해 캔들을 불러올 수 있도록 만들었습니다.

 

업비트 자체적으로는 캔들을 여러 개 동시에 볼 수 없지만 엑셀로 정리하면서 여러 코인을 한꺼번에 볼 수 있다는 장점이 생겼습니다.

 

필요에 따라 해당 데이터를 엑셀로 가공하여 사용하시면 틀림없이 좋은 투자가 될 수 있다고 생각합니다.


코드

무식하게 진행한 파싱 부분까지 코드를 포함해서 공유하겠습니다.

 

 

 

여러 개가 되는 건 직접 만드셔도 되고 제가 올려둔 파일에서는 5개까지 밖에 안됩니다.

 

그리고 VBA 도구 > 참조 > Microsoft WinHTTP Services, version 5.1을 체크하셔야 합니다.

 

 

Sub Candles()
Dim WH As New WinHttp.WinHttpRequest
baseurl = "https://api.upbit.com/v1/candles/minutes/" & Range("b4")

Symbol = '가상화폐 심벌 예) KRW-BTC
Query = "?market=" & Symbol & "&count=3" 'count 개수를 변경하시면 해당 개수만큼 캔들값 나옴
WH.Open "get", baseurl & Query
WH.SetRequestHeader "user-agent", "Windows10"
WH.Send
WH.WaitForResponse
resulttext = Split(Replace(WH.ResponseText, """", ""), "},{") ' 결과값
Set WH = Nothing
For Each RText In resulttext
Parse RText, KSTTime, Opening, Highing, lowing, trade
KSTTime = '거래시간
Opening = '해당 캔들의 시가
Highing = '해당 캔들의 고가
lowing = '해당 캔들의 저가
trade = '해당 캔들의 종가
Next
i = i + 1
Loop
End Sub

Sub Parse(RText, KSTTime, Opening, Highing, lowing, trade)
sp1 = InStr(RText, "candle_date_time_kst:") + 21
sp1len = InStr(sp1, RText, ",") - sp1
KSTTime = Mid(RText, sp1, sp1len)
sp2 = InStr(RText, "opening_price:") + 14
sp2len = InStr(sp2, RText, ",") - sp2
Opening = Mid(RText, sp2, sp2len)
sp3 = InStr(RText, "high_price:") + 11
sp3len = InStr(sp3, RText, ",") - sp3
Highing = Mid(RText, sp3, sp3len)
sp4 = InStr(RText, "low_price:") + 10
sp4len = InStr(sp4, RText, ",") - sp4
lowing = Mid(RText, sp4, sp4len)
sp5 = InStr(RText, "trade_price:") + 12
sp5len = InStr(sp5, RText, ",") - sp5
trade = Mid(RText, sp5, sp5len)
End Sub

엑셀 파일

공유하는 엑셀 파일은 암호가 걸려있습니다.

 

거의 모든 코드가 다 공개되어있지만 제가 한 코드가 궁금하시면 댓글로 남겨주시면 비밀번호 공유드립니다.

 

사용법은 간단합니다. 

 

엑셀 안에 버튼이 있으며 , 초록색 부분만 값을 입력하시면 됩니다.

 

입력 가능한 부분은 이렇게 리스트가 존재합니다. 

 

업비트캔들.xlsm
0.03MB

반응형

댓글