[주식자동매매] 분할 매수/매도 코딩하기(3), GUI 전시하기
본문 바로가기

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

[주식자동매매] 분할 매수/매도 코딩하기(3), GUI 전시하기

반응형

이번 강의는 자신만의 주식 위험도 프로그램 만들기와 99% 동일합니다. 이미 완벽히 이해하신 분들은 넘어가셔도 좋으며, 아니신 분들은 복습한다 생각하시고 따라오시기 바랍니다. 

 

1. 데이터를 받아오기 위한 기본 구조 빌드업 하기

 기초반에서 강의했던 내용을 재 강의 해 드리겠습니다. 앞서 이해하시고 자신만의 프로그램 만드신 분들은 가볍게 읽어 보시면 될 것 같습니다.

 

 [링크 : 강의 모음] : 기초반 강의 모음

 [링크 : 유튜브 강의]

 [링크 : 주식 위험도 프로그램 만들기] : 이거만 보셔도 됩니다.

 

 (1) Division_meme.py 스크립트 생성

  아래와 같이 2강에서 만든 GUI를 전시할 수 있는 스크립트를 생성합니다.

Division_meme.py
Division_meme.py

 ① GUI를 사용하기위한 함수 가져오기

  - from PyQt5.QtWidgets import * : 그래픽 제어를 위한 클래스

  - from PyQt5 import uic               : ui 로드를 위한 클래스

 ② 크롤링 된 데이터를 전시하기 위한 GUI 불러오기

  디전 강의에서 ALBA3.ui를 QT Designer에서 만드셨죠? 그 데이 이터를 그대로 불러오는 것입니다.

 ③ 화면을 띄울 수 있는 클래스 만들기

 클래스 안의 구조와 함수 설명은 [링크 : 기초반 7강]에 아주 자세히 설명되어 있습니다.

 - class Thirddwindow() : Thirdwindow클래스 생성 후 GUI 사용을 위해 부모 클래스를 상속받습니다.

 - def __ini__(self) : 함수를 생성하고 초기화합니다.

 - super()__init__() : 부모 클래스의 인자를 사용하기 위해 초기화합니다.

 - self.initUi() : Ui를 초기화합니다.

 - self.show() : 초기화하고 만들어진 ALBA3.ui를 모니터에 전시합니다.

 

 여기 까지 하셨다면, ALBA3 ui를 전시하기 위한 창은 완료되었습니다. 앞으로 ALBA3 에서 분할 매수/매도를 수행하실 겁니다. 그리고 Division_meme.py  스크립트를 메인에서 실행할 수 있도록 코딩하겠습니다.

 

2. 생성한 Thirdwindow클래스 Main Window에서 실행하기

  (1) Thirdwindow의 ALBA3.ui를 열기 위한 push 버튼(시황 파악하기) div_meme(objectName) 생성하기

 PushButton을 이용하여 분할 매수매도 하기 버튼을 생성하였습니다. 이 버튼을 누르면 Thirdwindow가 전시되도록 하겠습니다.

div_meme
div_meme

(2) main 스크립트에 Thirdwindow 클래스 기능 가져오기

main 스크립트에 Thirdwindow 클래스 기능 가져오기
main 스크립트에 Thirdwindow 클래스 기능 가져오기

(3) 분할 매수매도 하기 pushButton인 div_meme 클릭 시 ALBA3.ui가 전시되기 위한 함수 self.Divisioin 시작하기

self.Divisioin 시작하기
self.Divisioin 시작하기

(4) def Divisioin(self) 함수 이벤트 발생 시 Thirdwindow() 실행하기

Thirdwindow() 실행하기
Thirdwindow() 실행하기

 

 위의 4가지를 완성하시면, main 스크립트에서 우리가 만든 Thirdwindow 클래스를 실행할 수 있습니다. 결과는 아래와 같습니다.

최종 결과
최종 결과

3. 요약

 오늘은 앞으로 분할 매수매도 하기를 위한 GUI를 전시하는 것까지 배워 보았습니다. 이전에 했던 내용과 상당히 중복되기 때문에 조금 편하셨을 것이라 생각합니다. 다음 강의부터 GUI 기능을 실행할 수 있는 코딩을 하나씩 해보도록 하겠습니다. 대략 5강 정도 더 할 것 같은데 천천히 마음먹으시고 따라오시기 바랍니다.

 혹시 이해되지 않는 부분이나 도움이 필요한 부분이 있으면 언제든 댓글 달아 주세요. 감사합니다.

반응형

.link_tit