더북(TheBook)

3.13 주문 정보 얻어 오기

주문을 접수하거나 체결이 수행되면 _on_chejan_slot 함수로 응답을 받아 order 딕셔너리에 저장하여 주문 정보와 체결 상태를 확인할 수 있었습니다. 그러나 이는 주문이 접수되고 체결되는 순간에 _on_chejan_slot 함수가 동작하여 데이터를 order에 저장하는 것이기 때문에 가능했습니다. 주문 접수/체결 이후 프로그램을 재실행하면 접수/체결할 때만 호출되는 _on_chejan_slot이 동작하지 않아 이미 접수/체결된 주문 정보가 order에 저장되지 않을 것입니다. 이렇게 되면 접수한 주문 자체를 인지하지 못한 문제가 발생할 수 있으므로 프로그램이 실행될 때 TR을 이용하여 주문 정보를 얻어 와야 합니다.

여기서 사용할 TR은 OPT10075, ‘미체결 요청’입니다. TR 이름이 미체결 요청이지만, 체결 여부와 상관없이 당일 접수했던 전체 주문을 확인할 수 있습니다.

그러면 TR(OPT10075)을 이용하여 주문 정보를 조회해 와야 하는 이유를 좀 더 살펴보겠습니다. 다음 예시는 프로그램이 실행되고 바로 매수 주문을 접수하는 과정을 거친다고 가정해 보겠습니다.

프로그램 실행 > 주문 접수 > _on_chejan_slot 함수 실행 > order 데이터 저장 > 프로그램 종료 상황 발생 > 프로그램 재실행 > 재주문 > _on_chejan_slot 함수 실행 > order 데이터 저장

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