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

프로그램의 시운전과 에러잡기 -65-

by 인터넷떠돌이 2021. 1. 7.
반응형

안녕하세요?

 

이번 다소 포스팅이 밀리기는 했지만, 그래도 쉬지 않고 올려서 밀린 물량을 소화해야만 합니다. 일단 2021년 1월 5일에 있었던 시험운전은 잠시 끝났습니다만, 그래도 아직은 다음 날을 위해서 해야하는 작업이 많이 남아 있는 상황이기는 합니다. 그래서 이번 포스팅부터는 이 과정을 올려 보고자 합니다.

 

먼저 위 스크린샷에서 우선, buyPrice는 AccountMoney라는 데이터 베이스 파일에 저장된 정보를 가지고 옵니다. 그런데 모종의 이유로 이 Increase라는 메서드의 실행이 실제 매도가 일어난 직후 바로 일어나지 않습니다.

 

먼저 AccountMoney의 내용이 비어있는 상황이 되면, 체크해서 다시 받아오라는 내용의 메서드를 만들어 보도록 합니다. 일단 처음 머리 부분을 만들었습니다. 우선 해당하는 데이터 베이스 파일에 테이블이 있는지 여부를 체크한 다음에, 없으면 다시 받아오라고 보내는 내용을 넣었습니다.

 

그리고 나서 테이블이 있는 경우 다음의 내용을 먼저 알아 보도록 했습니다. 일단 Buy_Marking이라는 데이터 베이스 파일과 연동을 해서, 이 테이블의 내용물이 비어 있는 것이 합당한 것인지 아닌지 알아보는데, 만약 Buy_Marking에는 내용물이 있고, AccountMoney에는 없다면, 다시 정보를 받아 오라는 식으로 명령을 내렸습니다.

 

 

그리고 나서 이 메서드를 위 스크린샷에서 보이는 것처럼 주로 키움증권 서버에서 정보를 받아온 다음에 적용하는 식으로 운용을 하도록 합니다.

 

그리고 잊어 버릴 번 했는데, 위 스클니샷에서 볼 수 있는 것처럼, 일단 한 사이클을 마무리 하고 계좌를 정리하는 메서드에도 넣어 주도록 합니다.

 

그리고 나서 이 메서드가 제대로 작동하는지 아닌지 일단 알아보기 위해서 마커들을 한번 붙여 보도록 했습니다. 이렇게 함으로써 일단 작업을 하나 완성은 했습니다.

 

그리고 나서 다음으로는 두번째 문제점인 buyPrice가 안 나오는 것을 어떻게 처리하기 위해서 따로 메서드를 만들어 보고자 합니다.

 

일단 이 작업을 위해서 데이터 베이스 파일인 AccountBackUp이 없으면 생성을 시키라고 하기는 했는데, 지금부터 문제는 있을 경우 입니다. 일단 기존의 AccountMoney에 있는 종목 코드를 가지고 오도록 해서 리스트로 만들어 줍니다.

 

그리고 나서 일단 하나 만들어 주도록 합니다. 일단 이 AccountMoney에 있는 종목에 한해서, 만약 buyPrice가 증가했다 = 추가적인 매수가 일어났으면 해당하는 내용을 AccountBackUp에서 나온 데이터 프레임에 row를 교체해 주도록 하고, 다음으로 이 데이터 프레임을 기존의 데이터 베이스 파일로 교체해 주는 것 입니다.

 

그리고 나서 위 스크린샷에서 볼 수 있는 것처럼 만들어 놓은 메서드를 한번 테스트 하기 위해서 일단 작업을 걸어보도록 합니다. 이제 다음 포스팅에서 여기서 어떠한 에러가 나왔으며, 이걸 수정하기 위해서 어떤 과정을 거쳐야 했는지에 대해서 한번 다루어 보겠습니다.

반응형