안녕하세요?


어제 포스팅에서 어떻게 해서 pytrader에서 나오지 않은 HOLD=관망이라는 행동을 추가하기 위해서 이래저래 많은 부분을 고치는 것을 보여주었습니다. 그런데 이것만 가지고서는 완성이 되었다고 볼 수는 없었고, 다른 종류의 에러-예를 들면 10분전에 데이터로 내린 '매수'명령이 10분 후의 현 시점에서도 pytrader에 접수가 되어서 그대로 매수 명령을 내리지 않을까 하는 의문도 듭니다. 일단 그것도 그거지만, 지금으로서는 관망이든 주문이든 완료가 되었으면 완료가 되었다는 메세지가 나오지 않는 단점이 있습니다.



그래서 이번 포스팅에서는 위 스크린샷과 같이 row_data를 텍스트 문서안에 집어 넣도록 바꾸어서 한번 일요일 밤에 프로그램을 돌려 보았습니다.



일단 여기서는 무언가 제대로 관망을 하긴 했는데, 관망을 완료 했다는 내용이 나오지는 않는 것을 볼 수 있었습니다. 이래서야 제 의도대로 움직이지는 않는다는 생각이 듭니다.



그래서 다음으로는 a를 넣어서 관망전을 관망완료와 같은 단어로 바꾼 다음에, 이를 집어넣으면 그냥 수정된 내용이 들어가리라 생각을 했습니다.



그러나 결과는 그렇지도 않았고, 그저 매수전이나 관망전이라는 단어가 추가로 더 오는 것만을 볼 수 있었습니다. 완전히 제 의도와는 다르게 움직이는 것을 볼 수 있었습니다.




거기다가 어떻게 된 것인지 잘 가다가 이번에는 중간에 어디서 충돌이 일어나서 그대로 pytrader가 그대로 뻗어버리는 것을 볼 수 있었습니다.



그래서 어떻게 된 것인가 보니, 일단 RLTrader안에서 주식의 종목코드를 일단은 문자열로 바꾸어 주는 것으로 했습니다. 물론 이게 지금와서 생각해보면 하지 않아도 되는 작업이라 생각이 됩니다.



다음으로는 spec파일에서 이름을 바꾼 다음에, 위 스크린샷과 같은 식으로 바꾸어 주도록 합니다. 이렇게 해서 이제 새로운 exe파일이 나왔으니, 이제 pytrader로 가 보도록 합니다.



다음으로는 위 스크린샷과 같이 pytrader에 가서, 기존에 그냥 정수형으로 나올 수도 있는 내용의 데이터를 분명히 문자열이라고 입력해 주도록 합니다.




이제서야 매수완료라고 완료메세지로 제대로 교체가 되는 것을 볼 수있었습니다. 이대로 모든게 다 제 의도대로 되면 좋으리라 생각이 들었습니다만.........



시간이 바뀌었는데도 그대로 매수완료 한줄만 있는 것을 볼 수 있습니다. 이 결과로 보아서, 새로운 내용이 추가되는 것이 아니라, 기존에 있던 내용을 그대로 밀어 버리고 새로운 내용을 쓰는 것이 아닌가 하는 생각이 듭니다.



그래서 이번에는 w가 아니라 a라고 해서 추가가 가능하도록 바꾸어 놓은 다음에, 위 스크린샷과 같이 쓰도록 만들어 주도록 합니다.



그러자 이번에는 위 스크린샷과 같이 매수전이나 관망전이라는 식으로 행동을 취하기 전 데이터는 그대로 있고, 행동을 완료 했다는 메세지가 그대로 공존하는 것을 볼 수 있었습니다.




거기다가 또 다시 작업을 하다가 중간에 뻗어버리는 상황을 볼 수 있었습니다. 이게 어떻게 된 것인지는 모르겠습니다만, 일단 원인을 찾도록 해 봅니다.



알고 봤더니 위 스크린샷과 같이 첫줄이 비어 있어서 생기는 오류였습니다. 이런 오류의 경우에는 어떻게 막아야 하는지 아직은 잘 모르겠습니다만, 일단 나오지 않도록 하는 수 밖에 없다는 생각이 들었습니다.



그래서 위 스크린샷과 같이 이제는 위 스크린샷과 같이 추가를 해 주는 식으로 바꾸어 주도록 해 보도록 합니다. 물론 이 문제를 해결하지는 못했지만, 이때만 해도 월요일 주식시장이 열려있는 동안 자동매매 인공지능을 작동시키려는 생각이 들어서 그냥 넘어가기로 했습니다.



일단 관망전이라는 데이터와 관망완료라는 행동완료가 공통적으로 있는 것으로 봐서는 제대로 pytrader가 action_list.txt를 읽어들인 다음에, 행동하기 전이라는 메세지를 어떻게 없애지는 못하지만, 그래도 지정한 액션은 그대로 취하는 것을 확인할 수 있었습니다. 일단 찝찝하기는 하지만, 여기서 시간이 되어 왔기 때문에 모의주식 투자에 투입해 보도록 했습니다.

+ Recent posts