비트렉스 API를 사용하여 엑셀에다가 코인 시세 정리하는 엑셀 파일입니다.
시세차익에 관련한 것을 찾다 보니 비트렉스라는 큰 코인 거래소가 있었습니다.
비트렉스도 엑셀에 시세를 정리해서 사용하면 편리할 것 같아서 작성하였습니다.
김프 계산기에는 추후에 추가할 예정입니다.
비트렉스는 USDT , BTC , ETH , EUR , USD 재화로 코인 구매가 가능합니다.
사실 BTC , ETH의 경우 코인의 종류 변경이라고 보시는 게 맞겠네요.
일단 비트렉스 API를 어떻게 엑셀에 옮겨 넣는지부터 설명하겠습니다.
비트렉스 API 문서를 먼저 확인합니다. (bittrex api 라고 검색하면 잘 나옵니다.)
문제는 여기서 원하는게 어떤 것인지 찾는 게 어렵습니다.
하지만 시세 같은경우는 대부분 public에 존재합니다.
중요한 나만의 자산같은건 public에 존재할 수 없겠죠?
그리고는 그냥 막 찾은 결과 모든 코인이 나오는
public/getmarketsummaries
api를 사용하기로 했습니다.
여기서 결과값으로 받아 올 수 있는 것들은
"MarketName": "BTC-LTC", "High": 0.0135, "Low": 0.012, "Volume": 3833.97619253, "Last": 0.01349998, "BaseVolume": 47.03987026, "TimeStamp": "2014-07-09T 07:22:16.72","Bid": 0.01271001, "Ask": 0.012911, "OpenBuyOrders": 45, "OpenSellOrders": 45, "PrevDay": 0.01229501, "Created": "2014-02-13T 00:00:00","DisplayMarketName": "string"
이렇게 받아 올 수 있습니다.
이걸 정리하자면
결과값 | 내용 |
MarketName | 마켓 이름 |
High | 고가 |
Low | 저가 |
Volume | 거래량 |
Last | 최근 거래금액 |
BaseVolume | 기본 거래량 |
TimeStamp | 검색한 시간 |
Bid | 매수 금액 |
Ask | 매도 금액 |
OpenBuyOrders | 이 부분은 검색해도 이해가 잘 안가서... 설명을 못드리네요. 추측하자면 위에서부터 구매 주문 개수 (100원 , 105원 이런형태의 개수) 판매 주문 개수 전날 종가 코인이 거래되기 시작한 날짜 |
OpenSellOrders | |
PrevDay | |
Created |
정도인 것 같습니다.
그러면 이제 VBA 코드를 정리하겠습니다.
그전에 json 파싱 관련 부분이 필요합니다.
json 파싱 링크
해당 파일을 불러오면 됩니다.
링크 문서에 포함되어있지만 레퍼런스에 Microsoft Scripting Runtime을 추가하셔야 합니다.
Sub bittrex()
Application.ScreenUpdating = False
Cells.ClearContents
Set whttp = CreateObject("winhttp.winhttprequest.5.1")
whttp.Open "get", "https://api.bittrex.com/api/v1.1/public/getmarketsummaries"
whttp.SetRequestHeader "user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36"
whttp.Send
whttp.WaitForResponse
Set JSon = JsonConverter.ParseJson(whttp.ResponseText)
Set whttp = Nothing
Set Result = JSon("result")
Rcnt = 5
For Each Rtext In Result
colcnt = 0
Rcnt = Rcnt + 1
For Each Rtext1 In Rtext
TypeValue = Rtext1
Value = Rtext(Rtext1)
colcnt = colcnt + 1
If Rcnt = 6 Then
Cells(Rcnt, colcnt) = TypeValue
End If
Cells(Rcnt + 1, colcnt) = Value
Next
Next
End Sub
이렇게 적용하면 됩니다.
그러면 이렇게 정리되어 나타납니다.
댓글