본문 바로가기

Upbit trading bot - 2 본문

개인 프로젝트 공부

Upbit trading bot - 2

Seongjun_You 2024. 7. 19. 19:38

오늘은 나의 계좌정보에 대한 정보와

코인들의 정보들 가져와보았다.

 

 

def get_ticker(coin_name):
    headers = {"accept": "application/json"}
    response = requests.get(UPBIT_SERVER_URL + '/v1/ticker?markets=' + coin_name, headers=headers)
    return response.json()


def get_candle_info(coin_name):
    headers = {"accept": "application/json"}
    response = requests.get(UPBIT_SERVER_URL + '/v1/candles/minutes/240?market=' + coin_name + '&count=20', headers=headers)
    return response.json()

get_ticker에 코인 코드를 넘겨주면 그에 대한 정보들을 받을 수 있다.

get_candle_info도 마찬가지로 코인에 대한 캔들 정보를 받을 수 있다.

 

 

def main():
    Exclusions = ['ETHW', 'KRW', 'ETHF']
    my_coin = []
    account_info = get_account_info()
    for sub_data in account_info:
        if not sub_data['currency'] in Exclusions:
            my_coin.append(sub_data['currency'])
    print(my_coin)

    for coin in my_coin:
        coin_info = get_ticker("KRW-" + coin)

        print('코인 정보 :', coin_info[0]['market'])
        print('최근 거래 일자 :', coin_info[0]['trade_date'])
        print('최근 거래 시각 :', coin_info[0]['trade_time'])
        print('시가 :', coin_info[0]['opening_price'])
        print('고가 :', coin_info[0]['high_price'])
        print('저가 :', coin_info[0]['high_price'])
        print('종가(현재가) :', coin_info[0]['trade_price'])
        print('전일 종가(UTC 0시 기준) :', coin_info[0]['prev_closing_price'])
        print('보합, 상승, 하락 :', coin_info[0]['change'])
        print('변화액 절대값 :', coin_info[0]['change_price'])
        print('변화율의 절대값 :', coin_info[0]['change_rate'])
        print('부호 포함 변화액 :', coin_info[0]['signed_change_price'])
        print('부호 포함 변화율 :', coin_info[0]['signed_change_rate'])
        print('가장 최근 거래량 :', coin_info[0]['trade_volume'])
        print('누적 거래대금(UTC 0시 기준) :', coin_info[0]['acc_trade_price'])
        print('24시간 누적 거래대금 :', coin_info[0]['acc_trade_price_24h'])
        print('누적 거래량(UTC 0시 기준) :', coin_info[0]['acc_trade_volume'])
        print('24시간 누적 거래량 :', coin_info[0]['acc_trade_volume_24h'])
        print('누적 거래대금(UTC 0시 기준) :', coin_info[0]['acc_trade_price'])
        print('누적 거래대금(UTC 0시 기준) :', coin_info[0]['acc_trade_price'])
        print('누적 거래대금(UTC 0시 기준) :', coin_info[0]['acc_trade_price'])
        now = coin_info[0]['timestamp'] / 1000
        date_str = datetime.datetime.fromtimestamp(now).strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
        print('타임스탬프 :', date_str)
        print()

    print("캔들 정보 : KRW-" + my_coin[0])
    candle_info = get_candle_info("KRW-" + my_coin[0])
    for candle in candle_info:
        print(candle)

더 많은 키값들이 있는데 필요 없는 부분은 제거했다.

 

캔들 정보 같은 경우는 240분 즉 4시간 차트로 최신 20개의 캔들을 가져오게 설정했다.

생각보다 많은 정보들을 제공해준다.

 

 

캔들의 필드명과 정보 타입이다.

이에 대한 정보들을 얻을 수도 있었다.

market 마켓명 String
candle_date_time_utc 캔들 기준 시각(UTC 기준) 포맷: yyyy-MM-dd'T'HH:mm:ss String
candle_date_time_kst 캔들 기준 시각(KST 기준) 포맷: yyyy-MM-dd'T'HH:mm:ss String
opening_price 시가 Double
high_price 고가 Double
low_price 저가 Double
trade_price 종가 Double
timestamp 해당 캔들에서 마지막 틱이 저장된 시각 Long
candle_acc_trade_price 누적 거래 금액 Double
candle_acc_trade_volume 누적 거래량 Double
unit 분 단위(유닛) Integer

 

 

 

 

'개인 프로젝트 공부' 카테고리의 다른 글

Upbit trading bot - 4  (0) 2024.07.23
Upbit trading bot - 3  (1) 2024.07.22
Upbit trading bot - 1  (0) 2024.07.15
Traceroute - 3(완)  (0) 2024.07.14
Traceroute - 2  (0) 2024.07.09
Comments