본문 바로가기

바이낸스 가입방법
  • 코인 잡기술 블로그
기술/지표 알림

코인 거래량 알림

by 금붕맨 2023. 4. 7.
반응형

코인 거래량 알림 설정

 

코인 거래량 알림

 

바이낸스 API로 가져올 수 있는가?

네, 거래량은 바이낸스 Kline에 포함된 정보로 Kline을 HTTP요청을 하면 받을 수 있는 데이터입니다. requests 모듈의 get() 함수로 "https://www.binance.com/api/v3/uiKlines?limit=1000&symbols=BTCUSDT&interval=5m"와 같은 url을 입력하면 다음과 같은 response를 받으실 수 있습니다.

Kline

왼쪽은 예시로 주어진 값이고 오른쪽은 열의 정보입니다. 12개의 열과 1000개의 행의 데이터프레임을 받을 수 있으며 제가 알고 싶은 거래량은 Volume과 Quote asset volume에 해당합니다. 여기서 Volume은 코인거래수량이고 Quote asset volume은 거래대금입니다. Quote asset의 뜻은 거래통화이므로 USDT(테더)를 기준으로 한 거래대금이라고 이해하시면 됩니다. 개인적인 투자 관점으로 거래량은 볼 필요가 없고 이 거래대금을 이용하는 것이 좋다고 생각합니다.

 

거래대금의 경우에는 Kline을 요청하는 것만으로 바로 얻을 수 있으므로 별도의 가공이 필요 없어 쉽게 다룰 수 있는 지표입니다. 앞으로 다양한 지표들의 알림을 만들 텐데 이동평균선 같은 지표들 대부분은 API문서를 보면 알다시피 제공을 안 합니다. 하지만 시간, 시가, 고가, 저가, 종가, 거래량 등으로 모두 충분히 만들어낼 수 있는 지표들이므로 Kline의 데이터를 요청하는 것만으로 알림을 만들 수 있습니다.

 

 

미리 정리해 둔 함수

많지는 않지만 제가 알림 봇을 만들면서 자주 쓰는 코드를 함수정의하여 모아두는 곳이 binance.py입니다. 함수정의를 알고 싶으신 분은 "코인 알림 봇 만들기" 카테고리를 참고해 주시길 바랍니다.

 

'기술/코인 알림 봇 만들기 (기초)' 카테고리의 글 목록

코인 금붕어의 코인 반성문

goldfishman.tistory.com

 

 

전체 코드

import binance as bn
import numpy as np
import threading

tickers = bn.tickers("future")

def run():
    for i in tickers:
        try:
            volume = bn.get(i, "5m")['volume']
            close = bn.get(i, "5m")['close']

            close998 = close.iloc[-2]
            close997 = close.iloc[-3]

            volume_range = volume[:997]
            volume_avg = np.average(volume_range)
            volume998 = volume.iloc[-2]

            volume_ratio = round(volume998 / volume_avg, 1)

            if close998>close997 and volume_ratio>10 and volume998 > 50000:
                bn.tel_text(i + " " + str(volume_ratio) + "배")

        except Exception as e:
            if str(e).startswith('429'):
                bn.tel_text(i + "  " + str(e))
            else:
                pass

    threading.Timer(270, run).start()

run()

조건식은 5분 봉 기준 캔들이 양봉 마감 and 약 최근 5000분 동안 한 캔들의 거래대금 평균보다 10배 이상 and 거래대금이 50000 테더 이상으로 마감하면, 텔레그램으로 코인이름과 거래대금의 평균 대비 배율을  나타내어 줍니다. 저는 투자 스타일이 캔들의 마감을 끝까지 지켜보고 결정하기 때문에 iloc[-1](현재 변동 중인 캔들)이 아닌 한 칸씩 뒤로하여 iloc[-2]를 기준으로 하였고, 거래량으로 만든 저만의 지표인 volume_ratio를 만들어내어 조건식에 넣었습니다. 여러분도 이제 각자의 투자기술에 적절한 지표를 만들어 조건식을 조정하며 알림을 설정하시면 됩니다.

 

거래량 알림

OMG 코인 하나가 올라온 것을 볼 수 있고 코인이름과 배율도 잘 전달되었습니다.

반응형

댓글