[키움 조건검색식 주식자동매매(12)] 매수/매도 파라미터 DB화 하기
본문 바로가기

주식 자동매매 강의/중급반(시황 및 차트 구현)

[키움 조건검색식 주식자동매매(12)] 매수/매도 파라미터 DB화 하기

반응형

 이번이 아마 3~4번째 매수/매도 파라미터 DB화 하기 강의일 것입니다. 기초반에서 아주 상세히 다뤘으니 중급반인만큼 개념만 다루도록 하겠습니다. 

 

1. DB화 개념

 아래 그림을 보시면 빨간색안에 다양한 값들이 있습니다. 저 값을 저번 강의에서 초기화하였죠. 하지만 매번 저 값을 수정할 수 없으니 한번 수정한 값을 저장 후 DB 로드하시면 투자 시 조금 더 편하게 매매를 하실 수 있습니다. 또한 원치 않는 값은 삭제하셔야겠죠. 그럼 코딩을 시작하겠습니다.

반응형

 

DB화 개념
DB화 개념

 

2. DB 저장하기

 아래 그림을 보시면 Kiwoom_meme.py 부 메인스크립트에 DB 저장의 objectName인 Save_Stock이 클릭되었을 때 Save_selected_code가 실행되게 합니다.

Save_Stock
Save_Stock
DB 저장하기
DB 저장하기

Save_selected_code함수는 아래와 같이 코딩합니다.

Save_selected_code함수
Save_selected_code함수

 (1) Save_Stock이 클릭되었을 때 setText를 이용해 "클릭"으로 글을 바꿔주고 setStyleSheet를 이용해 색은 빨간색으로 변환합니다.

 (2) 자동종목 검색 주기인 auto_jongmok과 종목 당 매수 금액인 price_mesu값을 더블 스핀 박스에서 value() 함수를 이용해 가져옵니다.

 (3) 매수가격/비중, 익절 가격/비중, 손절 가격/비중 값을 나타내는 textEdit_1~textEdit_16 값을 value() 함수를 이용해 a1~a16에 저장합니다.

 (4) KiwwomPara라는 텍스트를 만든 후 write함수를 이용해 우리가 받아온 18개 값을 다 저장하고 close 합니다.

 

 이렇게 하시면 여러분들이 원하는 모든 값을 텍스트에 아래와 같이 저장하게 됩니다.

텍스트 저장
텍스트 저장

3. DB 로드하기

 아래 그림을 보시면 Kiwoom_meme.py 부 메인스 크립트에 DB로드의 objectName인 Load_Stock이 클릭되었을 때 Load_code가 실행되게 합니다.

Load_Stock
Load_Stock

 Load_code 함수는 아래와 같습니다.

Load_code함수 1차
Load_code함수 1차

 (1)  Load_code가 클릭되었을 때 setText를 이용해 "클릭"으로 글을 바꿔주고 setStyleSheet를 이용해 색은 빨간색으로 변환합니다.

 (2) os함수를 이용해 dist 폴더에 KiwoomPara.txt 파일이 있다면 관련 정보를 lines에 입력합니다.

 (3) lines에 입력된 모든 18개 값들을 for문을 이용해 self.Getanal_code에 저장합니다.

 

 그리고 아래 그림과 같이 각 GUI에 self.Getanal_code에 저장된 값을 setValue함수를 이용해 다시 집어넣습니다.

GUI에 불러온 값 집어넣기
GUI에 불러온 값 집어넣기

 또한 불러온 값을 setAlignment함수를 이용해 중앙 우측 정렬 및  setDecimals를 이용해 소수점을 없애도록 합니다.

불러온 값 정렬
불러온 값 정렬

 

4. DB 삭제하기

 아래 그림을 보시면 Kiwoom_meme.py 부 메인스 크립트에 DB삭제의 objectName인 Del_Stock이 클릭되었을 때 delet_code가 실행되게 합니다.

DB 삭제하기
DB 삭제하기

delet_code 함수는 아래와 같습니다.

delet_code 함수
delet_code 함수

 (1)  delet_code  클릭되었을 때 setText를 이용해 "클릭"으로 글을 바꿔주고 setStyleSheet를 이용해 색은 빨간색으로 변환합니다.

 (2) os함수를 이용해 dist 폴더에 KiwoomPara.txt 파일이 있다면 관련 정보를 remove함수를 이용해 삭제합니다.

 

5. 결론

오늘은 기초강의에서 계속 반복해 오던 내용을 감 잡으시라고 다시 한번 더 강의해 드렸습니다. 다음 강의부터는 이 정보를 이용해 실간 종목 등록 및 분할 매수/매도를 실시할 것입니다. 대략 2~3강 정도만 하면 끝나겠군요. 수고하셨습니다.

반응형

.link_tit