주식투자 프로그래밍(시스템 트레이딩) 3.8 #. 계정 로그인

By | 2018-01-14

#. 계정 로그인

HTS에 의존하지 않고 개발자가 직접 주문 프로그램을 만들려면 항상 증권거래용 계정을 알고 있어야 하는데 여기서 말하는 계정은 사이보스플러스에 로그인하는 ID값이 아니라 증권거래용 통장 번호를 가리킨다. 시스템트레이딩 프로그램은 항상 계정을 기억하고 있어야 하는데 소스코드에 통장 번호를 변수로 선언해서 기억해두는 방법도 있지만 비효율적이라서 권장할 만한 방법이 아니다. 예를 들어 통장이 2개 이상인 경우에는 각각의 계정을 따로 입력해야 하는데 프로그램 변수로 계정을 고정시켰을 경우에는 2개 이상의 사이보스플러스를 실행시키기 어렵다. 다행히 사이보스플러스는 계정을 자동으로 읽어올 수 있도록 함수를 지원하기 때문에 계정을 기억할 필요가 없다. 사이보스플러스에서 계정을 구하기 위해서는 CpTdUtil를 생성(Create)하고 곧 바로 초기화(Init)한 후에 계정을 요청해야 한다. 또한 계정을 획득한 이후에도 곧 바로 CpTdUtil를 해제(Release)시키면 안 되는데 그것은 CpTdUtil가 주문처리에서 백그라운드로 작용하기 때문이다. 또한 CpTdUtil는 로컬 변수로 선언하면 컴파일러 내부적으로 임시 메모리에 할당하므로 함수가 끝났을 때 CpTdUtil가 자동으로 없어지므로 주문 명령을 실행시키면 오류가 발생한다. 따라서 CpTdUtil는 글로벌 변수로 선언해줘야 한다. 한편 CpTdUtil를 생성한 후에 초기화시키는 CpTdUtil->TradeIni() 함수를 실행시키면 계좌비밀번호 입력 확인창이 나오는데 모의투자에서는 실제 거래가 아니라서 아무 번호나 입력하면 된다. 또한 화면 아래쪽에 보면 [주문내역확인] 체크 박스가 나타타는데 이것을 켜두면 주문을 넣을 때마다 별도의 확인 메시지가 나타나서 자동매매를 방해하므로 시스템트레이딩에 의한 자동매매를 수행하려면 이 옵션을 켜지 말아야 한다.

<소스코드 CpTdUtil와 계정 획득>
init_trade() { // 계정 사용 초기화
HRESULT hr = pTradeUtil.CreateInstance(__uuidof(CpTdUtil));
switch(pTradeUtil->TradeInit(0)) {
case 0: break; // 정상
case 1: // “업무키 입력 오류
case 2: // 비밀번호 오류
case 3: // 최소라서 오류는 아니다.
default: // 설정되지 않은 리턴값
pTradeUtil.Release(); return ffalse;
}
}
get_accountnumber(CString &cstrAccNum) { // 계정 구하기
sa = pTradeUtil->GetAccountNumber();
psaAccountNumber = sa.parray;
hr = SafeArrayGetLBound(psaAccountNumber, 1, &lLBound);
hr = SafeArrayGetUBound(psaAccountNumber, 1, &lUBound);
for (i = lLBound; i <= lUBound; i++) {
hr = SafeArrayGetElement(psaAccountNumber, &i, &bsAccountNumber);
cstrAccNum = (LPCTSTR)_bstr_t(bsAccountNumber);
}
}

그림 3 CpTdUtil에서 TradeInit 실행

 

 


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

이 글은 필자가 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.