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

2019년 8월 첫 모의투자에 들어가 보기 위한 준비

by 인터넷떠돌이 2019. 8. 2.
반응형

안녕하세요?

 

일단 미체결에 대해서 이래저래 골치를 앓고 있는 상황이기는 합니다만, 당장은 해결할 방법이 없기는 없기 때문에, 하는 수 없이 이번 포스팅에서는 그래도 할 수 있는 대응책을 한번이라도 만들어 보고자 합니다.

 

먼저 위 스크린샷에서 볼 수 있는 것처럼 missing_list.txt를 만들어 냈으면, 여기다가 기존에는 그냥 미체결 데이터를 그대로 집어 넣었는데, 이번에는 관련된 자료만 넣도록 만들어 줍니다.

 

그리고 나서 미체결에 대한 액션에 대해서는 위 스크린샷처럼 취소 결정이 나왔다면, 기존에는 action_list.txt를 만들었는데 이번에는 missing_list를 만들도록 바꾸어 줍니다.

 

그리고 나서 위 스크린샷에서 볼 수 있는 것처럼 새로운 missing_list.txt가 생성이 될 수 있도록 만들어 주도록 해 봅니다. 이 작업을 Buy취소에도 똑같이 적용해 줍니다.

 

그리고 나서 다음으로 서버에서 다가오는 메세지를 받기 위해서 위 스크린샷처럼 MSG라는 변수를 Kiwoom에서 가지고 와서, 이걸 missing_list.txt에 집어 넣도록 해 봅니다.

 

 

다음으로는 체결 데이터를 가지고 오기 위해서, 위 스크린샷처럼 chejangData라는 변수를 만들어 주도록 합니다. 그리고 나서 이 값에 중요 Fid값을 가지고 와서 집어 넣도록 해 봅니다.

 

다음으로는 tradeStock메서드에서 위 스크린샷처럼 새로운 txt파일을 생성하도록 하고, 이 값을 가지고 오도록 만들어 주도록 합니다.

 

일단 이렇게 준비는 되기는 되었으니, 이제 8월 1일날 데이터 베이스를 가지고 오도록 해 보도록 합니다. 시간은 대략 30분 정도 걸린 듯 합니다.

 

그리고 나서 관련된 정보를 각각의 스레드에 넘기기 위한 communication.txt를 생성하는 작업도 잊어 버리지 않도록 조심해 줍니다.

 

그런데 저는 처음에는 몰랐고, 모의투자를 시작한지 44분이 지난 다음에야 눈치를 챘습니다. 위 스크린샷처럼 Kiwoom에는 해당하는 변수가 없다고 나오는 것 입니다.

 

이 문제를 해결하기 위해서는 클래스 변수를 선언해 주었어야 하는데, 먼저 위 스크린샷처럼 클래스가 시작하자 마자 실행이 되는 메서드 이전에 빈 변수를 선언해 주도록 합니다.

 

그리고 나서 기존에 있던 self.대신에 클래스명을 집어 넣어 주는 것으로 클래스 변수를 사용하도록 해 보도록 합니다. 이제 제대로 작동이 되리라 생각을 했습니다.

 

그런데 계속해서 어떻게 된 것인지 모르겠지만, 31번째 action_list.txt가 생성이 되기만 했을 뿐, 나머지 내용의 스레드는 작동을 하지 않는 것을 확인할 수 있었습니다. 이래서야 상황이 좋지는 않은데, 아무튼 간에 일을 실행하기 위해서는 이 문제를 해결하기 위해서 움직여 보았어야 했습니다.

반응형