반응형
반응형
증권사 API로 차트 데이터를 수집하려면 종목코드를 알아야 하는데 전 종목에 대한 종목코드는 주식마스터조회 API를 호출하여 얻을 수 있습니다. 이베스트투자증권의 xingAPI의 TR 에는 t8430(주식종목조회), t8436(주식종목조회 API용), t9945(주식마스터조회 API용)가 있는데 그중 t8430(주식종목조회)를 이용하여 전체 주식종목(주식마스터)을 조회해 보겠습니다. 1. 주식마스터 API 사용방법 알아보기 먼저 DevCenter를 통해 t8430의 속성을 확인합니다. 초당 2회 조회할 수 있고 Block Mode로 응답이 온다고 되어 있네요. Request는 t8430Inblock에 속성을 설정하여 전송하고 응답은 t8430OutBlock에 담겨서 옵니다. 1개 종목의 정보가 t8430..
이전 글에서 차트 데이터 수집기 개발을 위한 다이얼로그 화면 구성, 설정값 내부 변수 저장, 로그인 처리를 하였습니다. 이번 포스팅에서는 수집상태 화면을 완성하기 전에 내부에 작업 스레드를 생성하고 주식마스터 테이블을 생성 후 주식종목조회 TR을 이용하여 전체 주식종목을 메모리에 로딩해 보겠습니다. 1. 작업 스레드 생성하기 메인 다이얼로그에서 수집작업을 수행하면 코드가 실행되는 동안 GUI가 Freezing 상태가 되기 때문에 별도의 Worker Thread를 생성하도록 하겠습니다. MFC에서는 UI Thread와 Worker Thread를 생성할 수 있습니다. MFC에서의 스레드에 대한 정보는 아래 포스팅을 참고하세요. 2023.12.10 - [프로그래밍/C | C++] - [MFC] MFC 스레드 ..
이번 포스팅에서는 차트데이터 수집에 필요한 옵션 설정 기능을 만들어 보겠습니다. 1. 수집 옵션 설정화면 주식마스터 조회 API 호출 시 코스피, 코스닥을 선택하여 조회할 수 있게 되어 있어서 전종목, 코스피, 코스닥, 사용자지정 개별 종목코드를 선택할 수 있도록 하였습니다. 데이터 종류는 틱 데이터, 1분봉 데이터, 일봉 데이터를 설정할 수 있도록 하였습니다. 그리고 수집 기간과 저장 경로를 설정할 수 있도록 하였습니다. 2. 화면 컨트롤 속성 설정 방법 수집 종목 선택에 라디오 버튼을 사용했는데 라디오 버튼을 그룹으로 묶으려면 탭 순서를 연속된 번호로 지정해 주어야 합니다. 리소스 뷰어에서 메인 대화창을 열고 ctrl+D 버튼을 누르면 아래와 같이 탭 순서가 표기됩니다. 아래 그림에서는 연속된 번호로..
예스트레이더, 메타트레이더가 아닌 시중에 자동매매 프로그램이라고 판매 중인 증권사 API 기반의 프로그램들은 사용자가 직접 코딩을 할 수 없는 대신 HTS에서 사전에 설정한 조건검색을 기반으로 매수/매도를 하도록 되어 있습니다. 그만큼 API를 이용한 자동매매에는 조건검색 기능이 가장 핵심입니다. 이번 포스팅에서는 이베스트증권의 xingAPI를 활용하여 조건검색을 하는 방법을 알아보겠습니다. 1. xingAPI의 조건검색 TR T1857 사용전 알아야 할 점 키움증권 API는 실시간 종목검색을 5개까지 등록가능하고, OnMsg()에 조건명을 파라미터로 넘겨주기 때문에 어떤 조건에 의한 종목인지 처리하기가 쉽습니다. 하지만 이베스트투자증권 xingAPI는 실시간 종목검색을 2개까지 등록가능하고(작성일 기준..
증권사 API에서 제공하는 TR 종류는 200여 개가 넘는데 각 TR에 대한 헤더파일을 소스코드에 추가하는 작업만 해도 시간이 오래 걸리고 관리도 어렵습니다. 이럴 때 엑셀을 활용하여 C코드를 자동 생성하는 방법을 알아보겠습니다. 1. 엑셀을 활용하여 C 코드를 생성하는 이유 증권사 API(이베스트투자증권 xingAPI)는 용도별로 TR이 구분되어 있습니다. 주식 주문을 하려면 TR CSPAT00600을 호출하면서 계좌번호, 계좌비밀번호, 종목번호, 매수/매도 구분값, 신용/현금 여부 등의 파라미터를 넘기게 됩니다. 이베스트투자증권은 작성일 현재 207개의 TR을 제공합니다. 헤더파일도 207개, TR전송함수 207개, 수신함수 207개, TR별 수신함수 콜백 맵, 흐름제어, 진단모듈에서 정보 참조를 위..
MFC에서 xingAPI DLL을 사용하기 위한 개발환경 구축에 대해 알아보겠습니다. 1. xingAPI DLL 로딩 설정하기 xingAPI 패키지를 설치하면 "C:\eBEST\xingAPI\" 경로에 DLL 파일과 공인인증서 라이브러리가 복사됩니다. 프로그램이 이 경로에 있는 DLL을 로딩하도록 설정해도 되지만, 저는 개발하는 소스트리의 바이너리파일(.EXE) 생성 경로에 라이브러리를 복사해 두고 이 라이브러리를 사용하는 것을 권장합니다. 향후 배포 시, 실행 PC의 DLL 버전차이에 따른 다른 동작을 피할 수 있습니다. xingAPI가 배포된지 몇 년이 지난 시점에 매우 안정화되어 있을 라이브러리라고 기대하고 시작하였으나 바로 얼마 전까지 Visual Studio 6.0 기반이었고 2010 버전 기반..