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

목요일 하루종일 해가 떠 있는 동안 시도한 주식 모의투자-2-

by 인터넷떠돌이 2019. 1. 25.
반응형

안녕하세요?


일단 지난번 포스팅에서는 어떻게 해서 오류를 잡아 내려고 했지만, 이게 쉽게 해결책이 잡히지도 않았습니다. 거기다가 시간이 한정되어 있다는 것 때문에 마음이 급해져서 집중력이 떨어진 것도 이래저래 영향을 준 것 같기도 합니다. 일단 그래도 수요일 내내 저를 괴롭혔던 에러를 결국 잡아내기 위해서 좌우충돌, 가지가지 시도를 하였으며, 그 내용을 올리고자 합니다.



먼저 시간이 문제인가 하는 생각이 들었습니다. 듣자니 QTimer는 밀리초 단위라고 해서 1000이 바로 1초가 된다고 합니다. 그래서 시간을 30초가 되도록 3만으로 설정을 해 주었습니다.



다음으로 에러가 난 곳에서 일단 어디가 문제여서 이게 제대로 안되는가 보았습니다. 일단 시간을 30초로 두어서 어떻게 시간 간격이 길어지긴 했지만, Call_of_Break_and_Retry와 before event loop end만 나오는 것을 볼 수 있었습니다. 일단 이런 일이 왜 벌어졌는 지는 알 수 있었습니다. 바로 주식의 현재 정보를 가지고 오라고 했더니, 정보가 오지 않고 빈 봉투만 와서 이런 일이 벌어졌다는 생각이 듭니다.



그리고 나서 위 스크린샷처럼 일단 늦었지만, self가 붙어서 다른 메서드에서도 사용이 가능한 메서드를 만들어 주도록 해 봅니다.



그리고 나서 set_input_value라는 것을 만들어 보도록 합니다. 위 값에서 id와 value를 가지고 와서 이걸 저장하도록 합니다. 왜 이런 것을 하느냐 하면, 바로 다시 입력값을 집어 넣어서 보내기 위해서 입니다.



그리고 나서 Break_and_Retry()라는 것을 볼 수 있습니다. 여기서 기존에 있던 comm_rq_data를 주석처리 하였고, 그전에 없던 set_input_value를 작동하라고 짜 놓았습니다.



그렇게 해서 위 스크린샷과 같이 계좌번호가 들어가서, 다시 정보를 입력한 것은 볼 수 있습니다. 그런데 문제는 여기서 스톱해 버렸다는 것 입니다. 이래서는 어떻게 작업이 전혀 진행이 되지 않습니다.



그래서 위 스크린샷처럼 제대로 값이 입력이 되지 않아서 생긴 일이 아닌가 하는 생각이 들어서, 한번 더 작업을 하도록 하였습니다.



그런데 여기서도 위 스크린샷과 같이 제대로 입력이 되었다고 해도, 위 스크린샷처럼 계속해서 반복만 하고 있는 것을 볼 수 있었습니다.




그래서 어디가 문제인가 한번 보니까, 위 스크린샷처럼  before opw00018이 나와있는 것을 볼 수 있었고, 이게 왜 문제인가 하면....



위 스크린샷처럼 먼저 opw00018을 사용해서 주식의 현재 정보를 요청하는 것을 분명히 한번은 하였다는 것을 볼 수 있었고, 여기서는 제대로 데이터를 가지고 왔습니다.



문제는 이러고 나서 왜인지 다시 opw00018이 요청이 되었고, 이런 에러가 나오는 것을 볼 수 있었습니다. 즉, 무언가가 중복되어서 요청이 되었는 것이 아닌가 하는 생각이 들었습니다.



그래서 먼저 위 스크린샷처럼 먼저 let의 값을 더 확실하게 보일 수 있도록 마커를 찍어 주도록 해서, 정확하게 요청을 보내서 무슨 에러가 난 것인지 알아 보고자 합니다.



그랬더니 여기서 -300이라는 값이 나오는 것을 알 수 있었습니다. 여기서 나오는 값이 무슨 문제인가 하면, 입력된 값이 역시 잘못되었다는 것인데, 아직까지 어디가 잘못된 것인지 헷갈린다는 생각이 듭니다. 그래도 무언가 중복된 요청이 오는 것이 아닌가 하는 생각이 드는데, 다음 포스팅에서 나오겠지만, 에러가 2개 겹쳐서 걸려 있었기 때문에 파악하기가 좀 어려웠습니다.

반응형