[xingAPI][차트 데이터 수집기 만들기](4) 데이터 수집 설정 기능

반응형

이번 포스팅에서는 차트데이터 수집에 필요한 옵션 설정 기능을 만들어 보겠습니다.

 

1. 수집 옵션 설정화면

주식마스터 조회 API 호출 시 코스피, 코스닥을 선택하여 조회할 수 있게 되어 있어서 전종목, 코스피, 코스닥, 사용자지정 개별 종목코드를 선택할 수 있도록 하였습니다.

데이터 종류는 틱 데이터, 1분봉 데이터, 일봉 데이터를 설정할 수 있도록 하였습니다.

그리고 수집 기간과 저장 경로를 설정할 수 있도록 하였습니다. 

수집 옵션 설정 화면 부분

2. 화면 컨트롤 속성 설정 방법

수집 종목 선택에 라디오 버튼을 사용했는데 라디오 버튼을 그룹으로 묶으려면 탭 순서를 연속된 번호로 지정해 주어야 합니다. 리소스 뷰어에서 메인 대화창을 열고 ctrl+D 버튼을 누르면 아래와 같이 탭 순서가 표기됩니다. 아래 그림에서는 연속된 번호로 지정된 것을 확인할 수 있습니다. 연속 번호로 지정되어 있지 않으면 마우스를 순서대로 클릭하여 다시 연속된 순번의 탭 번호를 가질 수 있도록 해줍니다.

탭스탑 순서 설정 화면

컨트롤의 리소스 ID, 속성, 변수는 아래 표를 참고하여 설정합니다.

Label Control ID Property Variable
전체 RadioButton IDC_CFG_RADIO_ALL Group::True CButton::m_ctrRadioAll, int m_iRadioSelect
코스피 RadioButton IDC_CFG_RADIO_KOSPI   CButton::m_ctrRadioKospi
코스닥 RadioButton IDC_CFG_RADIO_KOSDAQ   CButton::m_ctrRadioKosdaq
사용자지정 종목코드 RadioButton IDC_CFG_RADIO_USER   CButton::m_ctrRadioUser
사용자지정 종목코드 EditBox IDC_CFG_EDIT_USER   CEdit::m_ctrEditUserInput
CheckBox IDC_CFG_CHECK_TICK   CButton::m_ctrChkTick
분봉 CheckBox IDC_CFG_CHECK_MIN   CButton::m_ctrChkMin1
일봉 CheckBox IDC_CFG_CHECK_DAY   CButton::m_ctrChkDay
수집기간시작 Date-Time IDC_DATETIMEPICKER_START   CDateTimeCtrl::m_ctrDateStart
수집기간종료 Date-Time IDC_DATETIMEPICKER_END   CDateTimeCtrl::m_ctrDateEnd
수집경로 EditBox IDC_CFG_EDIT_DIR   CEdit::m_ctrEditDir
경로변경 Button IDC_CFG_BTN_CHANGE   CButton::m_ctrBtnDirChange
폴더열기 Button IDC_CFG_BTN_OPEN   CButton::m_ctrBtnOpenFolder
수집시작 Button IDC_BTN_START   CButton::m_ctrBtnStart
일시정지 Button IDC_BTN_PAUSE   CButton::m_ctrBtnPause
수집종료 Button IDC_BTN_QUIT   CButton::m_ctrBtnQuit

설정 내용 관리를 위한 구조체를 아래와 같이 정의하였습니다. "수집시작" 버튼을 누를 때 설정창 컨트롤의 내용을 아래 구조체에 저장합니다.

TST_CONFIG_INFO 구조체

아래와 같이 구조체 변수에 설정값을 저장합니다.

구조체에 설정값 저장 코드

아래 화면처럼 설정 후 로그인 시 사용자가 선택한 옵션이 구조체 변수에 잘 저장된 것을 확인할 수 있습니다.

메모리 값 출력 화면

수집한 차트 데이터의 기본 저장 경로는 프로그램 실행경로 하위에 "repo" 폴더로 하겠습니다.

저장경로 코드와 실제 생성된 폴더

"경로변경", "폴더열기" 버튼의 이벤트 핸들러에 CFolderPickerDialog와 ShellExecute를 사용하여 코드를 입력하였습니다.

코드에서 윈도우 탐색기를 실행하는 방법

여기까지 데이터 수집에 필요한 설정 사항 모두가 TST_CONFIG_INFO 구조체 변수에 저장되도록 마무리되었습니다.

반응형