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

주문취소가 되지 않은 이유의 탐구

by 인터넷떠돌이 2019. 7. 19.
반응형

안녕하세요?

 

지난 포스팅에서 2019년 7월 18일날 주식 모의투자에 들어가 보았는데, 정작 제 의도대로 제대로 된 주문취소가 나오지 않았습니다. 그래서 이번 포스팅에서는 어째서 이런 결과가 나왔는지에 대해서 한번 알아보고자 하며, 그 내용에 대해서 한번 포스팅을 하고자 합니다.

 

먼저 위 스크린샷과 같이 Average_returning에 가서는 기존의 매도취소/매수취소 같은 명령이 출력이 되는 것이 아니라, Sell취소/Buy취소 와 같은 내용이 나오도록 만들어 놓았습니다.

 

다음으로 해야 할일은 MyStockTrader에 가서, 위 스크린샷에 나오는 것처럼 기존의 매도취소/매수취소를 Sell취소/Buy취소와 같은 식으로 고치도록 합니다.

 

이렇게 해서 이제 제대로 된 주문취소가 되는가 싶더니, 서버로 부터 오는 메세지도 메세지대로 조심해야 했습니다. 위 스크린샷의 메세지대로, 원주문번호가 존재하지 않는다는 에러 메세지가 오는 것 입니다.

 

 

일단 이 원주문번호가 어디서 나오는지 살펴 보아야 하는데, 우선 opt10075라는 TR에서 제대로 나오는 것을 확인할 수 있습니다.

 

그래서 이 missing이라는 딕셔너리를 선언하는 시점부터 일단 원주문번호를 따로 가지고 오기 위한 공간을 마련해 두도록 합니다.

 

그리고 나서 kiwoom.py로 가서는 위 스크린샷에서 보이는 것처럼 원주문번호를 가지고 오고나서 str형식으로 바꾼뒤, 이를 딕셔너리에 추가시켜 주는 과정을 거치도록 합니다.

 

그리고 나서 위스크린샷처럼 Trade_stock이라는 항목으로 가서는, 기존의 ""으로 되어 있던 원주문번호라는 항목에다가 가지고 왔는 원주문 번호를 집어넣어서 제대로 된 send_order가 나오도록 합니다.

 

그리고 나서 기존의 코드에다가 이 원주문번호를 가지고 오는 항목을 따로 만들어 주도록 합니다. 이렇게 한 다음에, 해야 할일은 이 코드를 복사해서 다른 코드에 집어넣어 주는 것입니다.

 

그리고 나서 19일의 모의투자 준비를 위해서, 먼저 해야 할일은 일단 1분봉 차트를 가지고 오는 것 입니다. 이렇게 1분봉 차트를 가지고 오는 작업이 끝나면

 

위 스크린샷과 같이 communication.txt의 데이터 베이스 파일명을 바꾸어 주는 것으로 가도록 합니다. 이렇게 하는 것으로 이제 다음의 작업을 해야 하는데, 내일 포스팅에서 남은 내용을 추가로 다 올리도록 하겠습니다. 그럼 이 미체결에 대한 작업이 이제는 마무리가 되기를 기대하며 이만 마치겠습니다.

반응형