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

API사용 업비트 와 글로벌 시세(BITFINEX) 시세 함께 확인하기 - VBA , 엑셀

by 큐브빌드 2021. 4. 22.
반응형

업비트로 코인을 거래하게 되면 함께 봐야 할 사이트 중 한 개는 BITFINEX입니다.

 

글로벌 시세와 일정 이상 가격 차이가 발생하였으면 저렇게 노출이 됩니다.

 

그리고 저 글로벌 시세는 과연 어떤 사이트의 시세인지는 닫고 나면 나옵니다.

 

근데 가장 대표적인 사이트가 BITFINEX라서 BITFINEX를 엑셀에서 함께 확인하겠습니다.

 

업비트의 모든 코인 시세를 조회하고 BITFINEX에 존재하는 코인의 시세를 읽어와 함께 노출하려고 합니다.

 

업비트 모든 코인 시세는 이전에 작성하였던 파일이 있습니다. 거기에 이어서 작성하려고 합니다.

 

BITFINEX에도 API를 지원하고 있었습니다.

 

그래서 BITFINEX API를 먼저 적용했습니다.

 

결괏값은

[ SYMBOL, BID, BID_SIZE, ASK, ASK_SIZE, DAILY_CHANGE, DAILY_CHANGE_RELATIVE, LAST_PRICE, VOLUME, HIGH, LOW ]

이렇게 보내주고 있습니다.

 

Sub bitfinex()

Dim ie As WinHttp.WinHttpRequest

Set ie = New WinHttp.WinHttpRequest



Dim UpBitName, CoinName



ie.Open "get", "https://api-pub.bitfinex.com/v2/tickers?symbols=ALL"

ie.SetRequestHeader "user-agent", "Chrome 87 on Windows 10"

ie.Send

ie.WaitForResponse



dalls = Range("b1")



t = Split(Replace(Replace(ie.ResponseText, """", ""), "[", ""), "],")



Set UpBitName = Worksheets(1).Cells(2, 1)

Rcnt = 1

Do Until UpBitName.Value = ""

    Rcnt = Rcnt + 1

    CoinName = Mid(UpBitName.Value, 5, Len(UpBitName.Value)) & "USD"

    Num = FindCoin(CoinName, t)

    If Num >= 0 Then

        DummyText = Split(Replace(t(Num), "t", "", 1), ",")

        Cells(Rcnt, 6).Resize(1, 3) = Array(Round(DummyText(1) * dalls, 0), Round(DummyText(9) * dalls, 0), Round(DummyText(10) * dalls, 0))

    End If

    Set UpBitName = UpBitName.Offset(1, 0)

Loop

End Sub

 

코인에 따라 ], 구분 = split(텍스트 , "], ")

이렇게 파싱을 했습니다.

그렇게 되면 정보는 코인 별로 구분됩니다.

코인별로 구분 이후 이제 필요한 정보의 번호를 찾았습니다.

SYMBOL = 0으로 시작되기 때문에 BID (가장 최근에 체결된 금액)입니다.

DummyText(1) 이 됩니다.

그리고 당일 최고가 HIGH는 9번째 이기 때문에 DummyText(9) 

LOW는 10번째 이기 때문에 DummyText(10)으로 지정하였습니다.

 

이렇게 데이터를 엑셀에 뿌려 넣었습니다.

 

그렇게 하면 업비트와 BITFINEX의 가격을 모두 노출할 수 있습니다.

 

생각보다 업비트의 시세는 항상 많이 높은 것 같습니다.ㅠㅠ

 

아래 엑셀 파일을 사용하시면 됩니다.

 

※ 아 그리고 BITFINEX는 달러이기 때문에 1달러 환율을 넣는 부분이 있습니다. 그건 넣으시면 됩니다.

BITFINEXVSUPBIT.xlsm
0.03MB

반응형

댓글