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

가장 힘들어 보이는 장애물을 넘기 위한 시도

by 인터넷떠돌이 2019. 4. 10.
반응형

안녕하세요?

 

아직도 모든 장애물을 다 넘은 것은 아니기는 하지만, 어느정도 보일듯 말듯 하면서 해결책이 보이려고 하는 중이기는 합니다. 물론, 이것도 QThread처럼 해결책인 것처럼 보였다가 더 파보면 아닌 것으로 나올 수도 있지만, 일단은 나오기는 했습니다. 그래서 이번 포스팅 부터는 그런 과정에 도달하기 까지 어떤 시행착오를 했는지를 보여드리고자 합니다.

 

먼저 기존에 있던 pytrader2.py를 복사해서 pytrader3.py로 이름을 바꾸어서 복사하도록 합니다. 이렇게 하는 이유는 다른게 아니라 그전에 있던 내용을 보존하기 위해서 입니다.

 

다음으로는 위 스크린샷에 보이는 것처럼, 실행시키고자 하는 py파일의 이름을 기존의 pytrader2.py에서 pytrader3.py로 바꾸어 주도록 합니다.

 

그리고 나서 다음으로는 위 스크린샷에서 보이는 것처럼 기존에는 os.getcwd()라고 되어 있어서 이게 자식 프로세스로 움직여서 위치가 바뀌었다는 생각에 들어서, 한번 제대로 정확한 경로를 적어서  시도해 보고자 합니다.

 

일단 한번 장이 열린  시간이었기 때문에 그래도 정식으로 움직이는 것으로 하기 위해서 한번 위 스크린샷에 보이는 것처럼 트러스제7호의 분봉차트를 가지고 오도록 합니다.

 

 

먼저 위 스크린샷에 보이는 것처럼, 부모 프로세스의 gui에다가 각종 장치를 입력해 주도록 합니다. 그리고 나서 pytrader2를 작동시키도록 합니다.

 

일단 부모 프로세스의 gui에 해당하는 유저 인텊체이스를 종료시키면서 pytrader3가 실행되어 있는 동안에는 위 스크린샷에서 보이는 것처럼 일단 action_list.txt가 생성이 되기는 되었습니다.

 

그리고 나서 위 스크린샷에 보이는 것처럼, 이 경우에는 어떻게 해서 action_list.txt에 명령이 적혀지는 것을 확인할 수 있었습니다.

 

그래서 다음으로는 RLTrader에 있는 agent.py에 가서, 여기서 input()을 받으면 문제가 해결이 되지 않을까 하는 생각이 들어서 한번 변형을  시켜 보았습니다.

 

그리고 나서 main.spec파일을 열어서 위 스크리샷과 같이 9일날의 날짜를 기준으로 해서 한번 exe파일을 만들어 주도록 해 봅니다.

 

아나콘다 프롬프트를 열어서 pyinstaller --noconfirm --log-level=WARN --nowindow --onefile main.spec이라고 입력을 해서 한번 만들기에 들어가 봅니다.

 

이렇게 해서 한번 새로 만들어진 RLTrader의 exe파일을 바탕으로 해서 한번 작업을 이어 가고자 했습니다. 그러나 결과는 input()을 2군데서 하다보니 한군데도 제대로 읽어들이지 못해서 아무런 액션도 나오지 않는 것을 확인할 수 있었습니다. 그래서 이건 오답이었으니, 다른 해답이 있는지 찾아가 봐야 했습니다.

반응형