더북(TheBook)

[주문 처리 단계]

주문 처리 순서

SendOrder(주문 발생) → OnReceiveTrData(주문 응답) → OnReceiveMsg(주문 메시지 수신) → OnReceiveChejan(주문 접수/체결)

※ 주의(역전 현상): 주문 건수가 폭증하는 경우 OnReceiveChejan 이벤트가 OnReceiveTrData 이벤트보다 앞서 수신될 수 있습니다.

각 단계 설명

SendOrder - 사용자가 호출. 리턴 값 0인 경우 정상

OnReceiveTrData – 주문 발생 시 첫 번째 서버 응답. 주문 번호 취득(주문 번호가 없다면 주문 거부 등 비정상 주문)

OnReceiveMsg – 주문 거부 사유를 포함한 서버 메세지 수신

OnReceiveChejan - 주문 상태에 따른 실시간 수신(주문 접수, 주문 체결, 잔고 변경 각 단계별로 수신됨)

OnReceiveTrData() 이벤트는 주로 조회 요청 후 데이터 수신 이벤트지만 주문 시에도 발생됩니다.

주문이 정상인 경우 이 이벤트 내부에서 주문 번호를 얻을 수 있습니다.

비정상 주문인 경우 주문 번호는 공백("")으로 전달됩니다.

각 주문 함수의 리턴 값이 0(성공)이여도 장 개시 전 주문, 시장가 주문 가격 입력, 호가 범위를 벗어난 주문 등 다양한 원인으로 주문은 실패할 수 있습니다.

▲ 그림 3-90 KOA 주문 처리 단계(KOA > 개발 가이드 > 주문과 잔고 처리 > 기본 설명)

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