구글시트로 업비트 시세 조회하기

in #kr7 years ago (edited)

첨 시작은 .. 투자한거에 수익률 계산을 원하는대로 좀 해보고자 한거였는데
만들고 나서보니 금액이 생각대로 맞지를 않아서 ㅠㅠ

그나마 볼 수 있을만한게 업비트 시세조회까지는 된거 같아서 내용공유합니다 ^^

사용한건 ImportJSON 함수와
구글링한 결과의 집합(새벽에 이거만 한거 같네요 ㅋㅋ)입니다

허접하기 짝이 없지만 .. 공식 API가 없는 거래소의 값을 구글시트에서 본다는거에 만족하고 있습니다
(이거를 파이썬으로 해보겠다고 삽질한 시간이 더 길지만 ㅠㅠ 역시나 기본문법도 모르고 코딩하긴 힘들다는 ㅠㅠ)

https://crix-api-endpoint.upbit.com/v1/crix/candles/minutes/3?code=CRIX.UPBIT.KRW-BTC&count=1

기본적인 조회함수 입니다. minutes 뒤에 숫자는 몇분단위인지에 대한 구분이고

CRIX.UPBIT.KRW-BTC
이부분이 조회할 통화이며, 뒤에 count 는 가져올 갯수입니다

조회해주는 데이터의 기본은 통화 코드로만 있어서 해당 통화의 명칭은 아직 가져올데를 못찾은 관계로 그냥 타이핑합니다 ;;

시세 조회하는 셀에 들어갈 수식은

=ImportJSON(concatenate("https://crix-api-endpoint.upbit.com/v1/crix/candles/minutes/3?code=CRIX.UPBIT.KRW-", 코인코드셀(ex:B8),"&count=1&",$B$3), "/tradePrice", "noInherit,noTruncate,noHeaders")

count=1뒤는 필요 없는건데 B3셀이 포함된건 뒤에서 설명하고,
/tradePrice는 위 주소에서 가져온 값중에 금액만 가져오기 위해 쓴 부분이고
뒤에 옵션은 ImportJSON 사이트에서 보시면 될듯한데, noHeaders를 주셔야 해당 셀에 값이 입력됩니다

저 옵션이 없으면 수식입력한 줄에는 tradePrice 가 찍히고 아래셀에 값이 나오네요
(사실 이거때메 초반에 표를 가로로 만들었던건데 .. 코인 종류가 많아져서 가로로 하길 잘했다고 위안을 삼았습니다 ㅋ)

가져온 데이터중에 timestamp 값이 있어서 .. 조회기준일시라고 할만한 데이터가 있습니다만

1515255133844

이런식으로 나와서 현재시간을 알 수 없습니다

역시나 구글링과 .. 어차피 오늘날짜에 현재시간일테니 .. 대략 수식 짜맞추기 해서 구하긴 했는데요

=((((M6/1000)/60)/60+9)/24)+DATE(1970,1,1)

숫자값을 현재 시간으로 변환하기 위해 나누기를 하고 (1/1000 초, 60초, 60분, 24시간 )
timestamp 기준시간인 1970/01/01 을 더합니다

중간에 60+9는 한국시간 맞추기 위해 +9시간 하려고 넣은 값입니다 ^^

여기까지가 기본적인 조회방법인데요, 만들고 나서보니 문제가 하나 있었습니다

사용자정의 함수 같은것들은 함수내에 인자값으로 랜덤, NOW 등을 쓸 수 없고,
해당 함수의 리프레시를 위해선 인자값이 변경되야만 합니다 ㅡㅡ;;

ImportJSON 에다가 트리거를 걸어봤으나 원하는데로 되지 않아 .. 단순무식한 스크립트하나 추가합니다

function edit_cell() {
  SpreadsheetApp.getActiveSheet().getRange('B3').setValue(SpreadsheetApp.getActiveSheet().getRange('B3').getValue()+1);
}

길지만 .. B3셀 값을 가져와서 +1해서 set 하는거밖에 없습니다
(아직 함수를 잘 쓸줄 몰라서 .. 역시나 구글링으로 get함수 있길래 set을 그냥 해본 ;;;;)

이 함수를 등록해놓고 트리거에 다음과 같이 분단위로 호출하면 매분마다 B3셀의 값이 +1 됩니다
(넘 커지면 그냥 1로 기재해주심 되겠네여 ^^;)

아, 트리거나 스크립트는 .. 아래 메뉴로 가시면 나옵니다

스크립트창 뜨면 아래 트리거 버튼

여기까지 시세 조회 끝 입니다 ^^

거래내역 가져다가 (아직 API 없어서 수기로 ;;;) 투자대비 현재금액 수익율 계산은 해봤는데 ..

사기만 하고 팔지 않아야 수익율이 정확하게 나와서 이부분은 좀더 수정해보고 추가해야 할것 같습니다 ^^

구글시트 파일은 아래 링크 걸었습니다

성투하시길 ^^

업비트 시세조회 구글시트 링크

p.s. 혹시 게시글 작성에도 시간제한이 있는건가요?
어제 써놓았던글이 이제야 작성하기 버튼이 활성화 되네요 ;;

Sort:  

글작성5분간격마다됩니다~
글 잘봤습니다!! 팔로우했습니다~ 맞팔부탁드려요 ^O^

네 감사합니다~ ^^ 맞팔할께요 ~
글작성은 하다보니 태그 갯수하고도 연관이 있는거 같네요 ;;

정말 감사합니다! 덕분에 큰 도움이 되었습니다-.

Coin Marketplace

STEEM 0.27
TRX 0.21
JST 0.039
BTC 97039.33
ETH 3673.82
USDT 1.00
SBD 3.88