더북(TheBook)

먼저 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 > 개발 가이드 > 주문과 잔고 처리 > 관련 함수)

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