더북(TheBook)

KOA에 실시간 체결 데이터를 수신하는 방법은 총 두 가지로 설명되는데, 이 책에서는 두 번째 방법인 SetRealReg 함수를 사용하겠습니다. 이 방법을 이용하면 실시간 체결 정보 수신을 희망하는 종목들을 등록(SetRealReg)해 두면 이후 API 서버에서 지속적으로 체결 정보를 전달받을 수 있습니다.

Note ≡


KOA에서 소개하는 첫 번째 방법은 TR(OPT10003)을 호출하는 것인데, 이 방법을 이용해도 실시간 시세를 얻어 올 수 있습니다. 이 방법은 TR 조회 이후 한 번의 체결 데이터를 얻어 오고 끝나는 것이 아니라 입력 값으로 사용한 종목의 체결 정보를 지속적으로 수신하는 처리도 맡습니다. TR 조회 이후 응답을 수신하고 나서 또 다시 TR 조회를 해야 응답을 받아 오는 방식보다는 실시간 데이터 확인에 더 유용합니다. 하지만 데이터를 수신할 종목을 등록하는 과정에서 한 번에 여러 종목을 등록할 수 없는 문제가 있어 여기서는 이를 보완한 두 번째 방법인 SetRealReg 함수를 사용합니다.

사용 방법은 TR을 사용한 호출과 응답 수신을 받는 방법과 많이 유사합니다. 실시간 데이터를 보내 달라는 요청을 전달하고 지속적으로 응답을 받을 슬롯을 만들면 됩니다. 먼저 체결 정보 수신을 희망하는 종목들을 등록(SetRealReg)하는 방법을 알아보겠습니다.

[SetRealReg( ) 함수]

SetRealReg(
BSTR strScreenNo,   // 화면 번호
BSTR strCodeList,   // 종목 코드 리스트
BSTR strFidList,    // 실시간 FID 리스트
BSTR strOptType     // 실시간 등록 타입, 0 또는 1
)

종목 코드와 FID 리스트를 이용해서 실시간 시세를 등록하는 함수입니다.

한 번에 등록 가능한 종목과 FID 개수는 100종목, 100개입니다.

실시간 등록 타입을 0으로 설정하면 등록한 종목들은 실시간 해지되고 등록한 종목만 실시간 시세가 등록됩니다.

실시간 등록 타입을 1로 설정하면 먼저 등록한 종목들과 함께 실시간 시세가 등록됩니다.

[실시간 시세 등록 예시]

OpenAPI.SetRealReg(_T("0150"), _T("039490"), _T("9001;302;10;11;25;12;13"), "0");
// 039490 종목만 실시간 등록
OpenAPI.SetRealReg(_T("0150"), _T("000660"), _T("9001;302;10;11;25;12;13"), "1");
// 000660 종목을 실시간 추가 등록

▲ 그림 3-108 SetRealReg( ) 함수(KOA > 개발 가이드 > 조건 검색 > 관련 함수)

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