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

데이터 수집기(data harvester)의 개량작업-2-

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

안녕하세요?

 

지난번 포스팅에서 어떻게 1분봉 캔들 차트를 가지고 오는데는 성공했습니다만, 이건 데이터가 지나치게 많다는 생각이 들었습니다. 그래서 이번에는 10분, 30분 1시간의 분봉차트를 가지고 오는 것으로 계획을 변경하였습니다. 이 계획을 위해서 일단 지난번 포스팅에서 마저 하지 못한 데이터 수집기의 개량에 들어갈 필요가 있습니다.

여기서 일단 기존에는 없는 방법으로 새로 라디오 버튼을 그룹박스 안에서 지정하도록 합니다. 그리고 기본적으로 실행을 했으면, 1분봉이 선택되도록 일단 checked라는 항목을 Qt Designer에서 선택해 주도록 합니다. 다만 이게 바로 변수의 선택으로 연결이 되지 않는다는 것에 유의해야 합니다.

일단 실행을 시켰습니다. 다만 코드를 하나도 입력하지 않았기 때문에 아무런 행도도 이 유저 인터페이스의 라디오 버튼은 일으키지 않습니다.

일단 부모 프로세스에서 먼저 위 스크린샷과 같이 라디오 버튼에 대한 내용으로 일단 하나 만들어 주도록 합니다. 이렇게 함으로써, 우선 길이 트였습니다.

그리고 우선은 제대로 작동을 하는지 테스트를 하는 단계이기 때문에, 그냥 print함수를 써서 이대로 결과만 출력이 되도록 만들어 주도록 합니다.

이렇게 해서 결과가 출력이 되었는데, 문제는 1분봉이 기본적으로 유저 인터페이스 상에서 설정이 되어 있다고 해서 바로 이게 clicked로 연결이 되지 않는다는 것 입니다. 그래서 특단의 조치가 필요한 상황입니다.

 

 

먼저 시작하자 마자 이 1분봉, 10분봉, 30분봉, 60분봉을 지정해 주는 변수를 기본적으로 1분봉이 지정이 되도록 만들어 주도록 합니다.

그리고 나서 다음으로 지정해 줄 것은 이렇게 위 스크린샷처럼 변수의 값이 바뀌도록 지정을 해 주는 것 입니다. 기존에 있던 print는 필요가 없으니 이제 제거하도록 합니다.

그리고 나서 다음으로 부모 프로세스에서만 이걸 지정한다고 소용이 있는 것이 아니라, 자식 프로세스에 이게 전달이 되어야 합니다. 이 작업을 하기 위해서 일단 자식 프로세스에 한번 데이터를 전송해 보도록 합니다.

그리고 기존에는 없었는 second항목을 한번 만들어 주도록 합니다. 정확히는 주석처리된 것을 도로 복원시킨다고 해야 할 듯 합니다. 그리고 기존에 있던 get_ohlcv()메서드에서 없던 변수를 하나 더 받도록 만들어 줍니다.

다음으로 이 새로운 변수를 메서드 자체에서 받아 오도록 변환을 시켜 주도록 합니다. 이렇게 함으로써 self를 붙여서 메서드에서 메서드 사이로 뛰어넘지 않도록 만들어도 됩니다.

 

이렇게 하는 것으로 이제, 위 스크린샷에서 볼 수 있는 것처럼 일단 틱 번위를 기존에는 그냥 숫자로 일일히 지정을 했다면, 이번에는 이렇게 변수에 따라서 변하도록 만들어 줍니다.

그리고 나서 다음으로는 이제 분봉의 단위에 따라서 데이터 베이스의 이름이 바뀌도록 코드를 바꾸어 주도록 합니다. 이렇게 하는 것으로 이제 작업이 거의 끝나 갑니다.

일단 이렇게 해서 데이터 베이스의 생성에는 연습용 종목을 가지고서 성공했습니다. 그런데 문제는 일단 이름에서 어딘가 어색함이 있어서, 좀 더 코드를 추가해 주어야 겠다는 생각이 듭니다.

그리고 다음으로 더 중요한 것인데, 어떻게 된 것인지 잘 모르겠지만, 일단 데이터 베이스를 열었을 때, 제대로 데이터가 수집이 되지 않았습니다. 이래서야 이걸 작업을 진행할 수 없기 때문에 하는 수 없이 일단은 이 문제를 해결해야 하는 것이 급선무 입니다. 그럼 다음 포스팅에서 해결되는 장면을 보여드릴 것을 약속드리며, 이만 포스팅을 마치도록 하겠습니다.

반응형