오늘은 xingAPI를 사용한 자동매매 프로그램을 만들기 위한 기본 작업들에 대한 포스팅을 하려 한다. 이 내용은 이베스트 투자증권의 xingAPI 소개자료에도 동일하게 소개되어 있는 내용이지만, 엑셀 VBA를 사용한 개발 소스로 정리되어 있다. 내가 정리하는 내용은 C# COM 방식의 xingAPI 개발 방법이다. 앞서 포스팅한 내용처럼 이베스트 xingAPI의 경우, HTS 서버 연결과 HTS 로그인이 별개로 동작한다. 2020/07/08 - [Trading] - [Trading] HTS 로그인 설계, 구현 [Trading] HTS 로그인 설계, 구현 이베스트에서 제공하는 XingAPI에 의한 로그인 기능은 키움API에서 제공하는 기능과는 사뭇 다르다. 먼저 키움API의 경우에는 로그인 할때 키움 HTS에서 로그인하는 것과 같은 방식을 제공한다. 로�� brandon-dev.tistory.com 때문에 이베스트 투자증권 보유계좌를 활요하기 위해서는 아래의 단계를 거쳐야 한다. [서버연결] - [로그인] - [보유계좌선택] 위의 단계가 완료된 이후부터 종목을 검색하고, 내가 가진 종목 확인을 하고, 주식 주문을 할 수 있다. 자동매매 프로그램 시작의 3단계를 간단한 테스트 프로그램으로 구현해보자. xingAPI Test 프로그램 시작 화면테스트 프로그램이므로 화면 구성은 매우 간단하다. 서버 연결을 할 수 있는 버튼, 아이디/비밀번호를 입력할 수 있는 텍스트 박스와 로그인할 수 있는 버튼, 로그인 후 불러오기가 완료된 보유 계좌 목록 캄보 박스와 사용할 계좌를 선택할 수 있는 버튼. 그리고 이후 포스팅하게 될 [단일데이터 조회]용 자산현황 조회 버튼과 [반복데이터 조회]용 계좌잔고 조회 버튼이 있다. 실제로 xingAPI를 이용한 자동매매 프로그램을 설계해보면 위의 기능들외의 데이터 조회 기능을 굳이 사용하지 않아도 충분하다는 것을 깨달을 것이다. 아래는 계좌 선택까지의 Full 소스다.
이제 한 단계씩 프로그램을 실행해 보자. STEP 1. 서버 연결 에러 발생 없이 정상적으로 이베스트 HTS 실투자 서버에 접속했다. STEP 2. 로그인 아이디와 비밀번호를 입력하고 로그인을 누르면, HTS 로그인 요청이 완료되었다는 문구와 함께 공인인증서 비밀번호를 입력하는 팝업이 하나 뜬다. 많은 xingAPI 자동매매 프로그램들이 아이디/비밀번호와 함께 공인인증서 비밀번호를 입력하도록 만들어져 있는 걸 보았는데 이렇게 보안 프로그램에서 입력하는 것이(조금 번거로울 수 있겠지만...) 더 안전하겠다. STEP 3. 보유 계좌 선택 로그인이 성공하면 보유계좌 목록에 보유한 계좌들이 저장되게 되고, 그중에서 하나를 골라 선택 버튼을 누르면 비로소 해당 계좌에 대해 자동 매매를 진행할 준비가 완료된다. 이 이후부터는 xingAPI의 TR들을 적절히 조합하여 자신만의 자동 매매 프로그램을 만들어 적용하면 된다. 다음은 선택한 계좌의 자산현황을 조회하는 기능으로 xingAPI의 [단일데이터 조회] 기능을 구현해본다. |