더북(TheBook)

그러면 지금까지 TR을 호출하고 응답받았던 방법들과 동일하게 주문 정보를 얻어 오는 함수를 만들고 _on_receive_tr_data 함수에 해당 TR에 대한 응답을 수신하는 코드를 추가하겠습니다.

우선 다음과 같이 TR을 호출하는 get_order 함수를 Kiwoom.py 파일의 _on_chejan_slot 함수에 이어서 작성합니다.

Kiwoom.py

(...)
def get_order(self):  ------ 주문 정보를 얻어 오는 함수
    self.dynamicCall("SetInputValue(QString, QString)", "계좌번호", self.account_number)
    self.dynamicCall("SetInputValue(QString, QString)", "전체종목구분", "0")
    self.dynamicCall("SetInputValue(QString, QString)", "체결구분", "0") ------ 0:전체, 1:미체결, 2:체결
    self.dynamicCall("SetInputValue(QString, QString)", "매매구분", "0") ------ 0:전체, 1:매도, 2:매수

    self.dynamicCall("CommRqData(QString, QString, int, QString)", "opt10075_req", "opt10075", 0, "0002")

    self.tr_event_loop.exec_()
    return self.tr_data

계좌번호는 Kiwoom 객체가 생성될 때 self.account_number에 저장되니 self.account_number 그대로 접근하여 입력 값을 설정했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.