반응형
마지막 정리 정돈
이번엔 편의성을 위해 자주 사용하는 코드들을 함수정의로 정리하는 작업을 가지도록 하겠습니다.
티커(심벌) 리스트
def tickers(market):
if market == "all":
return ['SLP', 'BNBUP', ... ]
elif market == "spot":
return ['QUICK', 'JUV', ... ]
elif market == "future":
return ['IOTX', 'FIL', ... ]
else:
return []
tickers() 괄호 안에 (1) "all"을 입력하면, USDT현물시장에 상장된 모든 티커들 (2) "spot"을 입력하면, 선물시장에는 없고 오로지 현물시장에만 상장된 티커들 (3) "future"을 입력하면, 선물시장에 상장된 티커들을 리스트로 반환되는 함수로 정의하였습니다. 매개변수는 문자열이므로 따옴표를 붙여주셔야 합니다. ex) tickers("future")
HTTP요청 ~ 데이터프레임
def get(symbol, interval):
url = "https://www.binance.com/api/v3/uiKlines?limit=1000&symbol=" + symbol + "USDT&interval=" + interval +""
headers = {"User-Agent": "본인의 유저에이전트"}
res = requests.get(url, headers=headers)
res.raise_for_status()
value = res.json()
df = pd.DataFrame(value).astype(float)
df.columns = ['time', 'open', 'high', 'low', 'close', '5', '6', 'volume', '8', '9', '10', '11']
return df
get(티커, 인터벌)을 넣어주면 그에 맞는 url로 HTTP요청을 하게 되고 응답받은 정보를 데이터프레임으로 반환합니다. 티커랑 인터벌은 문자열이기 때문에 따옴표 붙여주셔야 합니다. ex) get(BTC, "15m")
텔레그램 메시지
def tel_text(text):
bot = telegram.Bot(token='본인의 토큰값')
chat_id = 본인의 챗아이디
bot.send_message(chat_id=chat_id, text= text)
괄호 안에 원하는 알림 메시지를 입력해 주시면 텔레그램 봇이 메시지를 보내게 됩니다.
전체코드
import requests
import telegram
import pandas as pd
def tickers(market):
if market == "all":
return ['SLP', 'BNBUP', ... ]
elif market == "spot":
return ['QUICK', 'JUV', ... ]
elif market == "future":
return ['IOTX', 'FIL', ... ]
else:
return []
def get(symbol, interval):
url = "https://www.binance.com/api/v3/uiKlines?limit=1000&symbol=" + symbol + "USDT&interval=" + interval +""
headers = {"User-Agent": "본인의 유저에이전트"}
res = requests.get(url, headers=headers)
res.raise_for_status()
value = res.json()
df = pd.DataFrame(value).astype(float)
df.columns = ['time', 'open', 'high', 'low', 'close', '5', '6', 'volume', '8', '9', '10', '11']
return df
def tel_text(text):
bot = telegram.Bot(token='본인의 토큰값')
chat_id = 본인의 챗아이디
bot.send_message(chat_id=chat_id, text= text)
저는 이 파이썬 파일을 binance.py라는 이름으로 저장하였습니다.
모듈 사용 예시
import binance as bn
tickers = bn.tickers("future")
for i in tickers:
vol999 = bn.get(i, "5m")['volume'].iloc[-1]
if vol999 > 500000:
bn.tel_text(i + " " + str(vol999))
이제 binance모듈만 들여오면 자주 쓰는 코드들은 간단하게 불러올 수 있습니다. 자신이 매매에 필요한 조건식들만 상황에 맞게 만들어 사용하시면 됩니다.
반응형
'기술 > 코인 알림 봇 만들기 (기초)' 카테고리의 다른 글
[python]코인 알림 봇 만들기(마지막) : 텔레그램 봇 연동하기 (441) | 2023.04.05 |
---|---|
[python]코인 알림 봇 만들기(5.5편) : 더미 티커(심벌) 걸러내기 (423) | 2023.04.04 |
[python]코인 알림 봇 만들기(8편) : 바이낸스 API 에러 코드 (401) | 2023.04.03 |
[python]코인 알림 만들기(7편) : 모든 코인 데이터 가져오기 (417) | 2023.04.02 |
바이낸스 API 이용 시 주의 사항 (IP차단) (405) | 2023.03.31 |
댓글