✨ 이번에는 바이낸스(Binance) API를 사용한 메서드를 모아놓은 메서드 클래스를 작성해볼 것입니다!!
✨ 코드 설명은 주석으로 달았습니다!
📌 전역변수 및 api데이터 불러오기
#전역변수
global order # 주문 정보를 담은 리스트
global order_num_list #주문번호를 담은 리스트
global position #Long or Short 포지션 가격
order_num_list = []
g_tick_data = 'ADA/USD' #현재 호가창 및 거래를 할 코인종류 전역변수
#세팅
markets = binance.load_markets() #마켓 데이터 불러오기
binance.verbose = True
📌 class BinanceFunction()
🌳 현재가 조회
def present_price(self):
ticker = binance.fetch_ticker(g_tick_data)
print(ticker['open'], ticker['high'], ticker['low'], ticker['close'] # 시가, 고가, 저가, 종가
print('현재가 : ',ticker['close'])
return ticker['close'] #매수 매도는 종가기준
🌳매수
def buy_long(self):
global position
position = self.present_price()
# 코인 주문 : binance.create_order
order = binance.create_order(g_tick_data, "limit", "buy", 1, price=position, params={})
#binance.create_order(코인 종류, 시장가or지정가, 포지션, 수량, 가격)
order_num_list.append(order) # 주문번호 리스트에 저장
print('매수전송', order)
🌳매도
def sell_short(self):
global position
position = self.present_price()
order = binance.create_order(g_tick_data, "limit", "sell", 1, price=position, params={})
#binance.create_order(코인 종류, 시장가or지정가, 포지션, 수량, 가격)
order_num_list.append(order)
print('매도전송', order)
🌳주문 취소
#후입 선출 주문 취소
def cancel_lifo_order(self):
temp = order_num_list[(len(order_num_list))]
order_id = temp['info']['orderId']
order_cancel = binance.cancel_order(order_id, g_tick_data)
order_num_list.pop()
print('주문취소완료',order_cancel)
#모든 주문 일괄취소
def cancel_all_order(self):
for i in range(len(order_num_list)):
temp = order_num_list[i]
order_id = temp['info']['orderId']
order_cancel = binance.cancel_order(order_id, g_tick_data)
print('주문 일괄취소 완료',order_cancel)
order_num_list.clear()
🌳잔고확인
def balance(self):
balance = binance.fetch_balance()
return balance[g_tick_data.split('/')[0]] #0번째 인덱스가 잔고
위 클래스안에 메서드를 통해 가격을 받아오고 매수/매도/잔고확인을 할 수 있다. 그외의 다른 메서드는 아래 첨부해 놓은 사이트에 있다. 모두 알고리즘 트레이딩으로 성투하길 바라요~
다음 시간에는 Binance API를 활용하여 만는 메서드들을 통해 쓰레드, 호가창 구현을 하겠습니다!![]
코드 설명은 주석으로 담았으며, 궁금한 점은 댓글로 남겨주시면 답변하겠습니다.
🌳API 문법 참고 사이트
🥕바이낸스 선물 공식 깃허브 : https://github.com/Binance-docs/Binance_Futures_python
🥕바인낸스 공식 API 페이지 : https://binance-docs.github.io/apidocs/delivery/en/#change-log