이후 슬롯에서 응답 대기를 종료시키는 데 사용했던 self.tr_event_loop.exit() 코드에서 선언하지 않고 사용했던 self.tr_event_loop 변수를 만들어 보겠습니다. 이 변수로 TR을 호출한 후 응답이 올 때까지 기다릴 수 있습니다. 이 변수가 선언될 곳은 class의 생성자인 __init__ 함수입니다.
Kiwoom.py
class Kiwoom(QAxWidget):
def __init__(self):
super().__init__()
self._make_kiwoom_instance()
self._set_signal_slots()
self._comm_connect()
self.account_number = self.get_account_number()
self.tr_event_loop = QEventLoop() ------ tr 요청에 대한 응답 대기를 위한 변수
이렇게 준비를 마쳤으면 실제로 가격 정보를 얻어 오는 함수를 만들어 보겠습니다. 가격 정보를 얻어 오는 함수라고 하면 가져올 데이터의 기준(분봉, 일봉, 주봉, 월봉 등)을 명시하는 것이 좋지만, 본 프로젝트는 조금 포괄적인 의미로 단순하게 get_price_data라고 함수명을 지었습니다.
주식용어 ≡
우리가 가져오려는 가격 정보는 하루 동안 생성된 캔들인 일봉을 의미했습니다. 여기서 가져올 데이터의 시간 기준을 분 단위, 주 단위, 월 단위로 바꾼 것을 분봉, 주봉, 월봉이라고 합니다.