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

새로운 장애물에 부딪치는 것을 확인하는 이야기 part2

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

안녕하세요?


지난번 포스팅에서 일단 일봉차트 데이터를 가지고 와서 한번 exe파일을 돌려보면 상황이 나아지리라 생각을 하고서 다양한 시도를 했습니다만, 유감스럽게도 상황이 만만하지 않다는 것을 알게 되었습니다.



일봉차트라는 상당히 큰 데이터를 가지고서 한번 작업을 해 보았습니다만, 그 결과가 역시나 시원찮은 방법으로 나오는 것을 볼 수 있었습니다.



혹시 이름을 RLTrader로 고쳐서 이런 사단이 난 것이 아닌가 하는 생각이 들어서, 이번에는 예전처럼 이름을 main이라고 spec파일에서 다시 바꾸어서 exe파일로 만들어 보고자 합니다.



그러나 이렇게 바꾸어서 작업을 하여도, 결과는 시원찮은 채로 그대로 였습니다. 계속해서 테이블이 없다는 식으로 나오는 것을 볼 수 있었습니다.



일단 txt파일을 확인해 보니, pytrader상에서는 제대로 주소가 있는 것이 아니었기에, 위 스크린샷처럼 한번 제대로 주소를 입력하고 나서 다시 빌드하는 시도를 했습니다.




역시 이번에도 pyinstaller --noconfirm --log-level=WARN --onefile --nowindow main.spec이라는 명령어를 쳐서 exe파일로 만들어 주고자 합니다.



그런데 이번에는 txt파일에 제대로 된 정보가 있어서 그런지 몰라도, 이번에는 제대로 된 결과가 나오는 것을 볼 수 있었습니다. 물론 이번 한번만 움직이고 나서 바로 프로그램이 얼어버린다고 하는 상황-충돌이 일어난 상황이 일어난 것이 문제라면 문제라는 생각이 듭니다.



그리고 이번에는 제대로 매수 주문이 나오는 것을 볼 수 있는 것을 확인할 수 있었습니다. 이로 미루어 보아서, 무언가 제 의도와는 다른 방식으로 프로그램들이 서로 작동하는 것이 아닌가 하는 생각이 듭니다.



결국 프로그램이 계속해서 이 정지되어 버린 현상을 해결할 수 없었길래, 강제로 정지를 시켜야만 했습니다. 이 문제도 문제라는 생각이 듭니다.




그래서 한번 실험을 해 보기위해서 1월 10일 날짜의 데이터 베이스의 이름을 살짝 바꾸어 보도록 합니다.



일단 이렇게 데이터 베이스의 이름이 바뀌어도 제대로 작동을 하는 것이 맞는것 같다 싶었으나, 한가지 머리 속에서 스쳐 지나가는 생각이 하나 있었습니다.



이전에 RLTrader를 exe파일로 만들때는 위 스크린샷처럼 testDatabase2라는 폴더안의 1월 10일자 일봉차트 데이터를 지정해 주었기 때문에, 여기를 바꾸어서 한번 pytrader를 작동시켜 보고자 합니다.



결국 여기서는 종목코드의 정보가 있어도, 데이터 베이스에 테이블이 없다는 식으로 나오는 것을 볼 수 있습니다. 이게 무슨 일인가 하면, pytrader에서 exe파일로 빌드된 RLTrader의 실행에 문제가 있는 것과는 별개로, RLTrader를 exe파일로 만들때 그 당시에 있던 pytrader의 폴더내 txt파일 내용이 그대로 exe파일에 들어간다는 겁니다. 즉, 제가 아무리 txt파일의 내용을 바꾸어도, 이미 exe파일에서 과거 시점의 txt파일에 있던 내용만을 인식한다는 겁니다. 한마디로 실시간으로 변하는 정보가 그대로 전달이 되지 않는 다는 것 입니다. 그래서 현재 장애물이 2가지 입니다.


1. pytrader내에서 안정적으로 RLTrader를 작동시켜야 하는 문제

2. txt파일을 만들어서 가상환경이 다른 두 프로그램이 서로 통신을 하는데, 실시간 통신은 하지 못한다는 문제


이 두가지 문제 모두 만만한 문제가 아니라서, 가지가지 시도를 하고 있는 중입니다만, 문제는 이걸 하루 아침에 바로 해결할 수 있는 것이 아니기 때문에, 아마 이걸 해결하기 위해서는 많은 시간이 걸릴 것으로 예상이 됩니다.

반응형