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

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

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

안녕하세요?


이제 목요일에 있었던 일을 포스팅으로 올리는 것도 슬슬 마지막이 되어가는 중 입니다. 여기서는 에러 한가지는 해결하는 데는 성공했는데, 문제는 두 개로 겹친 에러중에 작은 에러만 처리하는 데 성공했지, 정말 메인이 되는 에러는 아직도 해결이 요원해 보인다는 것이 문제입니다.



좀 장황하게 긴 스크린샷인데, 위 스크린샷을 보시면, 분명히 opw00001을 동원해서 제대로 주식의 현재 정보를 얻어오는 데 성공했습니다. 그런데 이 값을 한번 더 요청하고 있다는 것을 볼 수 있습니다. 그래서 여기까지 봤을 때, 무언가가 중복되어서 요청을 한다는 것을 알 수 있었습니다.



그리고 print()가 메서드를 실행하라는 코드 아래에 있으면 출력이 되지 않기 때문에, pytrader.py에 가서 위 스크린샷처럼 한번 출력이 되도록 바꾸어 주었습니다.



그리고 나서 이제는 타이머를 스톱시키는 명령어를 만들어 주도록 했습니다. 우선 하나는 너무 지연이 되었을 경우 타이머가 땡하고 치면, 다음에 나오는 메서드에서 여기는 stop()을 시키도록 했습니다.




그리고 나서 위 스크린샷처럼 TR_data를 가지고 오면, 위 스크린샷처럼 타이머를 끄도록 만들어 주었습니다. 즉 commRqData로 한번 데이터를 보내는 데 성공해서 왔으면, 그걸 받은 시점에서 타이머를 끄라는 명령을 내리고자 합니다.



그런데 이러고도 -300이라고 입력값이 에러가 났다는 메세지가 나오는 것을 볼 수 있었습니다. 그리고 나서 위 스크린샷에 보이는 화면을 마지막으로 더는 움직이지 않았습니다.



그래서 다음으로는 먼저 input_value를 주는 것은 주도록 하고, 다음으로 comm_rq_data메서드를 사용해서 데이터를 '송신'하는 과정이 빠져서 생긴 문제라고 볼 수 있습니다. 그래서 주석처리가 된 코드를 다시 풀어주도록 합니다.




먼저 위 스크린샷과 같은 -300의 값이 한번 뜨는 것을 확인할 수 있기는 있었습니다. 그럼에도 불구하고 계속 다시 요청을 해서 한번 더 정상적인 정보를 받아와서 처리가 되는 것을 볼 수 있기는 있었습니다.



그런데 시간이 오후 3시 30분이 다 되어서 그런 것일까요? 분명히 제대로 데이터를 다 가지고 왔는데, 무슨 이유에서 인지 위 스크린샷에서 보이는 것처럼 인공지능 주식 투자자가 정지되어 버리는 것을 볼 수 있었습니다. 하지만 이건 금요일 주식시장이 열려 보아야 알 수 있겠다는 생각이 듭니다. 왜냐하면 이게 장외시간에서 프로그램을 짜서 검사해 볼때는 발생하지 않다가, 장중 시간에서 현재 주식 정보를 얻어오면 제대로 오지 않는 문제가 나왔기 때문입니다.



마지막으로 키움증권 홈페이지로 가서 모의투자를 한 정보를 가지고 왔습니다. 이 정보에서는 위 스크린샷에 보이는 것처럼 분명히 비싸 보이는 값에 팔기는 팔았고, 싼값에 사기는 샀다는 것을 볼 수 있었습니다. 이걸로 봤을 때는 분명히 수익을 올리기는 올렸다는 것을 볼 수 있는데, 아직은 많이 부족하다는 생각이 듭니다. 그래도 에러는 해결해 나가야 하고, 연속적으로 프로그램은 작동해야 하기 때문에, 계속해서 에러잡이는 계속됩니다.

반응형