반응형
반응형
이전 포스팅에서 MFC 프로젝트 생성과 Dialog 화면 설계를 마쳤습니다. 이번 포스팅에서는 MFC 프로젝트에서 xingAPI를 사용할 수 있도록 xingAPI를 셋업 하는 방법을 알아보겠습니다. 이전 글 링크: 2021.10.01 - [트레이딩/시스템트레이딩] - [xingAPI][차트 데이터 수집기 만들기](1) 프로젝트 생성 및 화면 만들기 1. xingAPI 프로젝트 셋업 내가 작성하는 코드에서 xingAPI를 사용하기 위해서는 xingAPI에서 제공하는 DLL을 내 프로젝트에 로딩하고 xingAPI 헤더파일들을 내 프로젝트에 포함시켜야 합니다. xingAPI의 DLL은 Debug, Release 두 가지 버전으로 구분되어 제공됩니다. 각각 다운로드하여서 비교해 보면 아래와 같이 DEBUG버전에..
증권사 API를 활용하여 일봉, 주봉 등 차트 데이터를 수집하는 프로그램을 처음부터 만들어 보겠습니다. xingAPI 기반으로 만들어 봅니다. 수집한 데이터를 디스크에 파일로 저장하는 것이 목표입니다. 차트 데이터는 과거 데이터이고 수정주가 반영이 필요할 때 외에는 고정된 값이기 때문에 복잡한 데이터 가공이 필요하지 않으면 데이터베이스 사용 대신 파일로 관리해도 됩니다. "DB로 관리할까 파일로 관리할까"에 대한 여러 의견은 아래 링크에서 추가적으로 읽어보세요. https://quant.stackexchange.com/questions/29572/building-financial-data-time-series-database-from-scratch 1. MFC 프로젝트 생성하기 MFC App 프로젝트를 ..
예스트레이더, 메타트레이더가 아닌 시중에 자동매매 프로그램이라고 판매 중인 증권사 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 버전 기반..
1. QEMU의 필요성 QEMU는 가상화와 에뮬레이터 기능을 제공하는 오픈소스 소프트웨어이다. 동적 변환기를 사용하여 성능이 뛰어난 것이 특징이며 소프트웨어 스택 전체를 가상머신 위에서 실행할 수 있다. x86 시스템을 에뮬레이트 하기 위해서 만들어졌지만 현재는 ARM, MIPS, ALPHA 등의 다양한 프로세서에 대한 에뮬레이팅 환경도 제공한다. 에뮬레이터를 이용하면 실제 물리적인 하드웨어 없이 시스템 개발을 할 수 있는 장점이 있다. QEMU는 프로세서뿐 아니라 디바이스 단위까지 에뮬레이션을 제공하기 때문에 실제 타깃보드에서 실행하는 것과 동일한 효과를 얻을 수 있다. 임베디드 시스템용 소프트웨어는 개발과정에 많은 자원을 필요로 한다. 특히 디버깅이 어려운 편이며 디버깅 장비 또한 고가에 속한다. 하..