먼저 OnReceiveMsg() 함수에 대한 KOA 설명을 참고하여 매개변수명을 변경하고, 이후 전달받은 매개변수 모두를 순서대로 출력하는 print 문을 넣어 어느 요청에서 온 메시지인지 알 수 있도록 하겠습니다. Kiwoom.py 파일의 send_order 함수에 이어서 다음 코드를 작성합니다.
Kiwoom.py
(...)
def _on_receive_msg(self, screen_no, rqname, trcode, msg):
print("[Kiwoom] _on_receive_msg is called {} / {} / {} / {}".format(screen_no, rqname, trcode, msg))
그러면 이제 응답 확인을 위한 _on_chejan_slot 함수를 만들어 보겠습니다. 이 함수 설명은 KOA에서 미리 찾아보길 바랍니다.
[OnReceiveChejanData( ) 이벤트]
OnReceiveChejanData( BSTR sGubun, // 체결 구분. 접수와 체결 시 '0' 값, 국내 주식 잔고 변경은 '1' 값, 파생 잔고 변경은 '4' LONG nItemCnt, BSTR sFIdList )
주문 전송 후 주문 접수, 체결 통보, 잔고 통보를 수신할 때마다 발생됩니다.
GetChejanData() 함수를 이용해서 FID 항목별 값을 얻을 수 있습니다.
▲ 그림 3-97 OnReceiveChejanData( ) 이벤트(KOA > 개발 가이드 > 주문과 잔고 처리 > 관련 함수)