드디어 마지막 챕터입니다. 앞서 설정한 다양한 값을 바탕으로 실시간 자동매매를 구현해 보겠습니다. 여기까지 오신다고 정말 수고 많으셨습니다. 마지막 챕터는 어려울 수 있으니 포기하지 마시고 따라오시기 바랍니다.
[유튜브 강의, 링크]와 같이 보시면 많은 도움이 되실 겁니다.
1. 실시간 자동매매 개념 잡기
앞서 제작한 프로그램의 변수 중 다양한 값들을 가지고 실시간 자동매매를 수행할 것인데 이번 강의에서는 크게 2가지 정보만 이용할 것입니다. 솔직히 이 강의는 초심자를 겨냥하여 제작된 것이기 때문에 분할매수/이평선 매수/계좌관리/위험종목 선정 후 제외 등등의 다양한 고급 기술은 생략하고 하는 것입니다(그래도 계좌 관리(24강)를 보시면 이평선을 어떻게 만드는 지, 기관 매매동향을 어떻게 확인하는지 등의 중급 기술은 말씀드렸죠?).
우선 집을 지어야 되지 않겠습니까? 현재 설명드리는 강의는 집을 짓는 것입니다. 집만 튼튼하게 지어 놓으면 인테리어를 마음대로 할 수 있습니다. 무엇이든 기초를 튼튼히 하는 것이 중요합니다. 강의는 멈추지 않고 현재 만들어 놓은 기초를 바탕으로 계속 인테리어(업데이트) 할 것입니다(주변에 많은 홍보 부탁드립니다.).
우선 현재 실시간 자동매매 구현에 필요한 자료는 크게 2가지입니다. 앞서 강의에서 다 구현된 부분이기에 크게 어려움은 없을 것입니다.
(1) 계좌 번호 요청하기 : 13강
(2) 종목 선정 :32강
2가지 정보만 있다면 실시간 자동매매 구현은 반은 성공하신 것입니다. 아래 그림을 보시면 실시간 자동매매 구현 순서도를 나타내었습니다.
첫 번째로 종목 선정 후 선정 종목을 키움 서버에 등록합니다.
키움서버에 종목을 등록하는 순간 키움 서버에서는 아래와 같은 데이터를 우리 컴퓨터에 보내줍니다. 데이터는 1 틱이 변할 때마다 다양한 데이터가 전달되는데 틱은 1호가가 변화되는 것과 동일합니다.
KOA Studio의 실시간 목록 중 주식체결을 확인해 보겠습니다. 1틱이 변할 때마다 등록 종목의 체결시간/현재가/전일대비/등락률/매도호가/매수호가/거래량/누적거래량..... 상당히 많은 데이터가 들어옵니다.
위의 많은 데이터 중에서 이번 강의에서는 현재가만 다룰 것입니다. 현재가가 원하는 가격이면 매수/매도하는 간단한 알고리즘만 만들어 보겠습니다. 차 후에는 현재가를 이평선으로, 거래량도 확인하고, 수급도 확인하고, 등등을 확인하는 기술을 배울 터이니 너무 조급해하지 마시길 바랍니다.
자 그러면 종목도 선정 및 등록하였고, 실시간으로 현재가도 받아오니 그에 상응하는 자동매매 프로그램을 제작해 보겠습니다. 그전에 원하는 매수 가격과 매도(익절/손절) 가격을 설정하여야겠죠? 34강에서 선정 종목의 원하는 GUI예 넣었던 거 기억하시죠? 이때, 매수/매도 가격도 같이 넘기도록 하겠습니다.
2. GUI 구성하기
앞서 제작한 GUI예 3가지만 추가하겠습니다. 바로 3개의 Text Edit 입니다. 원하는 가격을 적어 넣을 수 있는 것이죠. 라벨링은 label 위젯을 사용합니다.
그리고 추가된 3개의 Text Edit의 objecName은 아래와 같습니다.
매수 가격 : buy_price
익절 가격 :profit_price
손절 가격 : loss_price
다음 강의에 서는 원하는 매수/매도 가격 입력 시 종목 선정하기 table widget에 올바르게 반영되는지 확인해 보도록 하겠습니다. 감사합니다.
'주식 자동매매 강의 > 기초반(모든 코딩의 뿌리)' 카테고리의 다른 글
[특강] 주식자동매매 프로그램 GUI 우측 정렬, 천(1000) 단위 구분 콤마(comma) 설정하기 (10) | 2022.06.05 |
---|---|
주식자동매매 40강. 실시간 자동매매 구현(2), 매수/매도 관련 내용 QTable Widget에 입력하기 (8) | 2022.06.02 |
주식자동매매 38강. 선정 종목 데이터베이스화 하기(3), 저장된 텍스트 파일 삭제 및 코드 공개 (0) | 2022.05.31 |
주식자동매매 38강. 선정 종목 데이터베이스화 하기(2), 저장된 Text 불러와 GUI에 전시하기 (4) | 2022.05.29 |
주식자동매매 37강. 선정 종목 데이터베이스화 하기(1), GUI 및 txet 저장하기 (7) | 2022.05.28 |