함수 원형(이름, 매개변수)을 만들었다면 함수 내 로직을 만들겠습니다. _on_receive_tr_data는 여러 TR 요청에 대한 응답을 받아 오는 역할을 하지만, TR마다 받아 오는 응답이 다르므로 rqname(TR 이름) 값에 따라 결정됩니다. 따라서 호출하는 TR의 응답 부분을 확인해야 어느 값들을 얻어 오는 코드를 만들어야 할지 알 수 있습니다. 가격 정보를 얻고자 호출한 opt10081의 응답 결과는 다음과 같습니다.
▲ 그림 3-86 KOA에서 확인할 수 있는 opt10081의 응답 결과
그림 3-86에서 [OUTPUT] 영역을 보면 하나의 TR 응답이 싱글 데이터와 멀티 데이터로 나뉜다는 것을 알 수 있습니다. 싱글 데이터란 한 행으로 출력되는 데이터고, 멀티 데이터는 여러 행으로 출력될 수 있는 데이터로 멀티 데이터를 제공하는 TR은 반복문을 이용해서 값을 가져와야 합니다. 종목의 일봉 데이터를 가져오는 OPT10081은 싱글 데이터와 멀티 데이터를 모두 제공하지만, 우리에게 필요한 가격 정보는 멀티 데이터에서 가져올 수 있습니다.