코인 선물 트레이딩 프로그램, 바이낸스(Binance) API : part4 쓰레드(Thread) 클래스 만들기qq

DongJoo Kwak·2022년 3월 10일
0
post-thumbnail

✨ 오늘은 바이낸스 서버와 끊임 없이 통신하게 해주는 쓰레드(Thread) 클래스를 만들어 보겠습니다!


프로그램 자세한 코드 및 내용 -> https://url.kr/7bwveh

📌쓰레드 클래스 코드

''' 호가 쓰레드'''
class OrderbookWorker(QThread):
    dataSent = pyqtSignal(dict)

    def __init__(self, ticker):
        super().__init__()
        self.ticker = ticker
        self.alive = True

    def run(self):
        while self.alive:
            #print('통신코인',g_tick_data)
            #start_time = timeit.default_timer()
            data = binance.fetch_order_book(g_tick_data, limit=10)  #limit 변경시 2가지 변경, 1.pyqt사이즈 2.호가창 리셋for문
            #terminate_time = timeit.default_timer()
            #print("%f초 걸렸습니다." % (terminate_time - start_time))

            time.sleep(0.001)
            self.dataSent.emit(data)

    def close(self):



🌲 특징

✔ OrderbookWorker(QThread) : QThread를 상속받아 쓰레드 불러와 바이낸스 API와 통신을 끊임 없이 하게 된다.

✔ binance.fetch_order_book(g_tick_data, limit=10), limit 값변경으로 불러오는 데이터양 조절

✔ 현재 통신하는 코인은 g_tick_data변수에 담겨져 있다.

✔ 주석으로 처리되어 있는 부분은 바이낸스 API와 통신하여 데이터를 불러오는 시간을 측정하는 것이다.

✔ time.sleep(0.001)으로 잠깐의 시간을 가지고 통신해야 쓰레드와 API통신간에 에러가 발생하지 않는다.

0.01 초 이하로는 변경해도 속도가 드라마틱하게 변하지 않는다.

✔ self.dataSent.emit(data) 코드를 통해 API에서 불러온 데이터를 호가창에 끊임 없이 전달한다. data = 바이낸스 호가데이터



✨이렇게 쓰레드 클래스는 마무리하고 다음 게시물에는 불러온 호가데이터를 처리하는 클래스를 만드러 프로그램을 완성하겠습니다!



🌳API 문법 참고 사이트

🥕바이낸스 선물 공식 깃허브 : https://github.com/Binance-docs/Binance_Futures_python
🥕바인낸스 공식 API 페이지 : https://binance-docs.github.io/apidocs/delivery/en/#change-log

profile
즐거운 개발 공간

0개의 댓글