이후 if 문은 서버에서 전달받은 fid가 우리가 미리 정의한 FID_CODES에 존재하는지 간단히 확인하는 코드입니다(FID_CODES는 const.py 파일에 있습니다).
그다음 코드는 이 fid 값과 GetChejanData 함수를 사용하여 fid에 해당하는 항목 데이터를 얻어 옵니다. 먼저 KOA에서 설명하는 GetChejanData() 함수를 살펴보겠습니다.
[GetChejanData( ) 함수]
GetChejanData( long nFid // 실시간 타입에 포함된 FID(Field ID) )
OnReceiveChejan() 이벤트가 발생될 때 FID에 해당되는 값을 구하는 함수입니다.
이 함수는 OnReceiveChejan() 이벤트 안에서 사용해야 합니다.
예) 체결가 = GetChejanData(910)
▲ 그림 3-101 GetChejanData( ) 함수(KOA > 개발 가이드 > 주문과 잔고 처리 > 관련 함수)
여기서 다음 코드는 fid 9001(종목 코드)을 전달하여 얻어 온 데이터를 code에 저장하라는 의미입니다. 하지만 받아 온 데이터에서 0번째 인덱스를 제외하고 1번째 인덱스부터 사용하는 이유는 fid 9001을 전달하여 얻어 온 종목 코드 값이 ‘A007700’처럼 앞에 문자가 붙어 있기 때문에 이를 제거하여 숫자 6자리만 얻기 위해서입니다.
code = self.dynamicCall("GetChejanData(int)", '9001')[1:]