더북(TheBook)

체결 정보 외에도 _on_receive_real_data 함수를 사용하면 장 시간(장 시작 전, 장 중, 장 종료) 같은 정보도 실시간으로 수신할 수 있습니다. 따라서 _on_receive_real_data 함수로 전달되는 두 번째 인자 real_type을 사용하여 지금 수신한 데이터 종류가 ‘장 시작 시간’인지 ‘체결 정보’인지 구분할 수 있습니다.

이 책에서 장 시작 시간에 대한 확인 및 그에 대한 처리는 다루지 않지만 이렇게 사용될 수도 있다는 의미로 if real_type == '장시작시간' 정도로만 코드를 작성했습니다.

Note ≡


장 시작 시간에 대한 처리가 필요할 수 있는 순간도 있습니다. 예를 들어 대입 수능 시험이 있는 날에는 주식 시장을 1시간 정도 늦게 개장하는데, 이 사실을 인지하지 못하고 프로그램을 9시부터 동작시키면 매매가 되지 않아 문제가 생겼다고 생각할 수도 있습니다. 하지만 이는 실제로 매매 로직에 문제가 있거나 프로그램 오작동이 아니기 때문에 개장을 늦게 하는 날에 조금 일찍부터 프로그램을 동작시켜도 큰 문제가 없습니다. 또 이렇게 장 시작 시간이 변경되는 이슈가 자주 있지 않기 때문에 장 시작 시간을 이용한 별도의 처리를 하지 않았다는 것을 알립니다.

그다음으로 나오는 elif로 시작하는 코드 블록이 체결 정보를 얻어 오는 부분입니다. 천천히 살펴보겠습니다.

elif real_type == "주식체결":
    signed_at = self.dynamicCall("GetCommRealData(QString, int)", s_code, get_fid("체결시간"))
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.