본문 바로가기
무모한 도전-주식 인공지능 만들기

초기 테스터(initial tester)의 제작-1-

by 인터넷떠돌이 2020. 1. 9.
반응형

안녕하세요?

 

부족하기는 하지만, 일단 코스피의 데이터 베이스도 확보가 되었고, 코스닥도 10분봉까지는 어떻게 확보를 했습니다. 이제 초기 테스트를 진행해야 할 단계가 왔는데, 일단 이 테스트에서는 전체적인 자금 운영이나 얼마를 거래할 지에 대한 거래량에 관한 것은 빼고, 그냥 매수/매도 규칙이 제대로 작동하는 지를 알아보기 위한 테스트를 하기 위한 프로그램을 이제 부터 작성하고자 합니다.

이 작업을 위해서 먼저 새로운 프로젝트를 생성하는 단계부터 먼저 하고자 합니다. 이름은 일단 Initial_Tester라고 붙여 주도록 합니다.

다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것처럼 먼저 데이터 베이스에서 자료를 읽어오기 위한 py파일부터 먼저 생성하도록 합니다.

그리고 나서 일단 그냥 일일히 타이핑을 하기는 힘들기 때문에, 일단 위 스크린샷처럼 먼저 유저 인터페이스를 Qt Designer를 통해서 만들어 주도록 합니다.

그리고 나서 프로젝트가 있는 폴더 에다가 저장을 해 주도록 합니다. 여기서 이름도 임의로 지정을 해서 헷갈리는 일이 없도록 합니다.

 

 

그리고 나서 먼저 위 스크린샷처럼 일단 유저 인터페이스만 불러 올 수 있도록 한번 코드를 작성해 보도록 합니다. 이렇게 하는 것으로 일단은 작성이 되는 것을 확인할 수 있습니다.

그리고 실행을 시키자 마자, 위 스크린샷과 같은 식으로 제가 만든 인터페이스가 뜨는 것을 확인할 수 있었습니다. 이제 이것으로 1단계는 완성되었다고 볼 수 있습니다.

그리고 이제부터 db파일을 다루어야 하기 때문에, 이를 위해서 sqlite3를 import해 오도록 합니다. 이제 이 py파일 상에서는 어떻게 데이터 베이스 파일을 다룰 수 있습니다.

그리고 나서 위 스크린샷처럼 버튼을 누르면 작동이 되는 메서드를 작성해 주는데, QFileDialog를 이용하는 것으로 일단 데이터 베이스 파일을 지정할 수 있도록 만들어 줍니다.

 

그런데 어디서 문제가 있는지는 몰라도, 제대로 된 print의 문구가 출력되는 것이 아니라 에러 메세지가 뜨는 것을 볼 수 있습니다.

일단 pycharm의 디버그 기능을 사용해서 36번째 줄에서 에러가 있는 것을 확인할 수 있었는데, 먼저 이 000020이라는 테이블이 없는가 했더니, 그건 아니었습니다.

그리고 나서 콘솔에서 출력되는 메세지를 한번 보니까, 위 스크린샷처럼 무언가 형식의 오류라는 것을 확인할 수 있었습니다.

일단 알고보니 어디서 에러가 나왔는가 하면, 바로 데이터 베이스의 테이블명에다가 ""라고 큰 따옴표를 붙여야 하는데, 이걸 잊어먹어서 생기는 에러라고 할 수 있었습니다.

마지막으로 이렇게 하는 것으로 이제 튜플 형식으로 데이터 베이스 안에 있는 테이블의 내용을 가지고 올 수 있게 되었습니다. 이제 이걸 어떻게 구워삶을 지가 문제라면 문제인데, 아무튼 간에 일단 이번 포스팅은 여기까지 하도록 하겠습니다. 다음번에는 어떻게 여러개의 리스트에서 데이터를 하나하나 가지고 오는지에 대해서 한번 다루어 보고자 합니다.

반응형