더북(TheBook)

첫 번째 매개변수 sScrNo는 우리가 임의로 정해서 사용하기로 한 화면 번호입니다. TR을 호출할 때 사용했던 화면 번호를 다시 전달받습니다. 두 번째 매개변수 sRQName은 ‘opt10081_req’로 TR을 호출할 때 사용했던 구분명을 다시 전달받습니다. 이후 등장하는 세 번째 매개변수 sTrCode가 바로 opt10081로 호출되는 TR 이름입니다. 네 번째 매개변수 sRecordName은 레코드 이름으로 설명되어 있지만, 실제로는 사용되지 않는 빈 값입니다. 마지막 sPrevNext는 TR 조회 후 OnReceiveTrData를 통해 결과를 수신할 때 동일 TR 조회에 대해 추가적으로 받아 올 데이터가 있는지 의미합니다. 추가로 받아 올 데이터가 있다면 이 값은 2로 전달받고, 그렇지 않다면 0을 수신합니다. 이후 매개변수 nDataLength, sErrorCode, sMessage, sSplmMsg는 KOA의 설명대로 사용하지 않는 변수들입니다.

이 매개변수들을 사용하여 TR 응답을 수신하는 self._on_receive_tr_data 함수의 원형은 다음과 같습니다(Kiwoom 클래스 내부 함수라 첫 번째 매개변수로 self가 들어갑니다).

def _on_receive_tr_data(self, screen_no, rqname, trcode, record_name, next, unused1, unused2, unused3, unused4):

매개변수들의 이름은 KOA 설명대로 사용하지 않고 2장에서 다룬 변수 명명 규칙대로 바꾸었습니다(예를 들어 sScrNo는 screen_no로 바꾸고, sRQName은 rqname으로 바꾸었습니다). 그리고 사용하지 않는 변수들은 unused로 명명했습니다. 이렇게 변수명은 변경하여 사용할 수 있지만, 사용 순서는 KOA에 나온 것과 반드시 동일해야 합니다.

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