주식투자 프로그래밍(시스템 트레이딩) 3.14 #. 주문 이벤트 핸들러

By | 2018-01-14

#. 주문 이벤트 핸들러

증권거래 시스템에서 내부적으로 주문 명령 처리 과정은 컴퓨터의 서버-클라이언트 모델과 똑같은 원리로 동작한다. 그래서 사용자가 HTS를 통하여 주문을 클릭해서 서버에 주문을 넣으면 서버에서는 주문을 접수했다는 응답을 보내고 이어서 주문이 체결되면 증권서버는 체결 신호를 사용자 HTS에 보내준다. 실제로 일반 HTS에서 주문처리 과정을 음성 파일로 알려주는 옵션을 켜두면 2단계 처리 과정을 들을 수 있는데 HTS 내부적으로 주문 이벤트 핸들러를 통하여 주문 이벤트를 접수할 때마다 계좌 내용을 실시간으로 갱신해준다. 따라서 사이보스플러스를 이용해서 주문처리를 했다면 반드시 주문처리 이벤트 핸들러를 호출하여 이벤트를 수신해야만 계좌 내용을 실시간으로 업데이트할 수 있다. 사이보스플러스는 주문 이벤트를 수신할 수 있도록 CpConclusion 함수를 제공하며 주문 이벤트는 크게 4가지 구분하고 오류가 발생하면 거부 메시지를 보낸다. 또한 CpConclusion 함수는 다른 이벤트 처리기와 마찬가지로 Subscribe 방식으로 수신을 요청해서 Receive 방식으로 수신한다. 주문 이벤트 처리 코드 설명은 생략하고 주문 이벤트를 수신하는 부분만 소스코드로 보충하겠다.

구분

매수 / 매도

정정 / 취소

1 단계

접수

2 단계

체결

확인

오류

거부

8 주문 이벤트 핸들러 메시지 구분

<소스코드> 주문처리 이벤트 수신과 해석 방법
LONG CTrdEventTbl::OnReceived(WPARAM wParam, LPARAM lParam) {
strCodeName = (LPCTSTR)(_bstr_t)m_CpConclusion->GetHeaderValue(2); // 2-종목명
ret_amount = m_CpConclusion->GetHeaderValue(3); // 3-(long)체결수량
ret_price = m_CpConclusion->GetHeaderValue(4); // 4-(long)체결가격
ret_ordernumber = m_CpConclusion->GetHeaderValue(5); // 5-(long)주문번호
strCodeVal = (LPCTSTR)(_bstr_t)m_CpConclusion->GetHeaderValue(9); // 9-종목코드
strTrdType = (LPCTSTR)(_bstr_t)m_CpConclusion->GetHeaderValue(12);//매매구분(체결구분 1:체결일 때만 1:매도,2:매수)
strConSt = (LPCTSTR)(_bstr_t)m_CpConclusion->GetHeaderValue(14);//체결구분(“1″:체결,”2″:확인,”3″:거부,”4”: 접수)
strOrderStyle = (LPCTSTR)(_bstr_t)m_CpConclusion->GetHeaderValue(16);// 16 -정정취소구분
}

그림 6 통합 주문 처리기

 

 


주식투자 프로그래밍(시스템 트레이딩)

이 글은 필자가 2005 ~ 2007년 개발했던 내용을 2009.10 ~ 2010.1 (월간) [마이크로소프트웨어]에 투고했던 내용을 정리해서 올린 것입니다.

  • 당시 가격제한폭(상한가/하한가)는 15% 적용(새로 고쳐야 함)

  • 소스코드 모두 제공

  • 실제 매매 가능

차례


1. 주식투자 프로그래밍(시스템 트레이딩)

1.1주식투자 프로그래밍(시스템 트레이딩) 

1.2 #. HTS와 시스템트레이딩

1.3 #. HTS 종속 시스템트레이딩

1.4 #. 범용 프로그램 언어 시스템트레이딩

1.5 #. 대신증권 [CYBOS PLUS]

1.6 #. 종목 리스트 다운로드

1.7 #. 현재 가격 시세 구하기


2. 주식투자 프로그래밍(시스템 트레이딩)

2.1 주식투자 프로그래밍(시스템 트레이딩)

2.2 #. 주식투자기법

2.3 #. 급등주와 테마주

2.4 #. 눌림목 투자 기법

2.5 #. 기술을 넘어서 심리분석

2.6 #. 캔들 프로그래밍

2.7 #. 세력주 검색 프로그래밍

2.8 다음에는 …


3. 주식투자 프로그래밍(시스템 트레이딩)

3.1 #. 초소형 미니 HTS와 모의투자

3.2 #. 모의투자 시스템

3.3 #. Boolhts 구조와 설계

3.4 #. 사이보스플러스 이벤트 처리기

3.5 #. 종목 선택창 만들기

3.6 #. 호가창 만들기

3.7 #. 체결창 만들기

3.8 #. 계정 로그인

3.9 #. 예수금 조회

3.10 #. 주문과 조회 처리

3.11 #. 매수와 매도 주문

3.12 #. 체결/미체결 잔고조회

3.13 #. 정정과 취소 주문

3.14 #. 주문 이벤트 핸들러

3.15 #. 통합 주문처리기


4. 주식투자 프로그래밍(시스템 트레이딩)

4.1 #. 금융공학과 상한가 따라잡기

4.2 #. 수학적 금융공학

4.3 #. 전산 금융공학 – 알람펀드

4.4 #. 전산 금융공학 – 스피드 트레이딩

4.5 #. 차익 시스템트레이딩

4.6 #. 확률 시스템트레이딩

4.7 #. 개별 종목 확률 시스템트레이딩

4.8 #. 상한가 따라잡기

4.9 #. 상한가 전화기

4.10 #. 특수 상한가 전화기

4.11 #. 멀티 상한가 전화기

4.12 다음에는 …


5. 주식투자 프로그래밍(시스템 트레이딩)

5.1 #. 주식 투자 트위터

5.2 #. 트위티언(Twittian) or 원시인

5.3 #. Open API 혁명, 트위터 (Twitter)

5.4 #. 한글트위터 twtkr.com

5.5 #. 주식 뉴스 발송 트위터

5.6 #. 주가 정보 발송 트위터

5.7 #. 주가 차트 등록 트위터

5.8 #. 트위터 이미지를 본문에 포함시기키

5.9 #. 대한민국 증권사에 바란다.

5.10 #. 모바일 혁명의 배후, KT에 바란다.

5.11 #. 연재를 마감하면서……


boolhts 소스코드(source code) 1 부 다운로드

boolhts 소스코드(source code) 2 부 다운로드

boolhts 소스코드(source code) 3 부 다운로드

boolhts 소스코드(source code) 4 부 다운로드

[boolhts 소스코드(source code) 5 부] 따로 없음

boolhts 통합 소스코드(source code) 다운로드(준비 중)


 

 

 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

Time limit is exhausted. Please reload CAPTCHA.