본문 바로가기

프로그래밍377

키움증권 Open API를 이용해서 전체 분봉차트를 가지고 오는 시도-3- 안녕하세요? 지난번 포스팅에서 어떻게 가지고 오고자 하기는 했는데, 전혀 데이터가 저장이 되지 않는 문제점이 발생하였다고 언급을 하였습니다. 그래서 이번 포스팅에서는 이 문제점을 해결해서 어떻게 해서든 간에 현재 거래가 되고 있는 주식의 1분봉 차트를 단체로 가지고 오고자 하는 것인데, 처음 생각에는 상당히 쉬울 줄 알았습니다만, 이것도 어느정도 제 노력과 땀을 요구하는 작업이라고 할 수 있었습니다. 혹시나 한개의 데이터 베이스 파일에 모두 집어넣어서 발생한 문제가 아닌가 하는 생각이 들어서, 이번에는 각각의 데이터 베이스에 각각 저장을 하도록 만들어 주고자 합니다. 일단 조금 삑사리가 나기는 나서, 중간에 /를 넣어주지 않은 것 때문에 저런 일이 발생하고 말았습니다. 일단 여기서 나온 것으로 봐서는 1.. 2019. 3. 17.
키움증권 OpenAPI를 이용해서 전체 분봉차트를 가지고 오는 시도 안녕하세요? 이렇게 주식 인공지능을 하다보니 필요한 일이 생겨서, 키움증권 Open API를 이용해서 한번 일련의 종목들의 1분봉 차트를 가지고 와야 하는 일이 생겼습니다. 그래서 DchoI님이 보내온 종목코드를 먼저 읽어보고, 이를 하나하나 손으로 다 긁어오는 것은 무리라는 생각이 들어서, 한번 프로그램으로 한번에 긁어 오고자 합니다. 먼저 위 스크린샷과 같이, dataharvester.py라는 파일과 parent파일을 만들어 주도록 합니다. 이 파일들은 이전에 제가 특정한 조건을 막족하는 코드들을 탐색할 때 사용한 py파일들의 복사본입니다. 먼저 위스크린샷과 같이 여러개의 종목의 명칭과 종목코드가 있는 것을 확인할 수 있었습니다. 일단 종목명은 제가 필요하지 않기 때문에, 우선 종목코드만 따로 txt.. 2019. 3. 16.
pytrader의 parent process를 만드는 작업에 들어가 보기-3- 안녕하세요? 오늘은 subprocess를 이용해서 자식 프로세스를 작동시키는 것으로는 한계가 있었습니다. 그래서 찾아보니까, Qprocess를 사용해서 다른 프로세스를 작동시키면, GUI를 얼어붙지 않게 만들면서 자식 프로세스를 제대로 작동시킬 수 있다고 합니다. 그래서 이 새로운 프로그램을 짜는 법을 알아낸다고 상당한 시간이 걸려서 지금에서야 어떻게 블로그 포스팅을 올립니다. 일단 한번 자료를 찾아보니까, 위 스크린샷과 같은 예제가 있다는 것을 알 수 있었습니다. 일단 이 예제를 그대로 사용해 보도록 합니다. pycharm에서 위 스크린샷과 같이 붙여넣기를 한 다음에, 일단 코드의 실행까지는 되는지 여부를 알아보고자 합니다. 우선 위 스크린샷과 같이 일단 코드 자체는 실행이 되는 것을 확인했습니다. 그.. 2019. 3. 15.
pytrader의 parent process를 만드는 작업에 들어가 보기 안녕하세요? 이번 포스팅에서는 기존의 pytrader의 부모 프로세스 역할을 하는 프로세스를 만들어 보고자 합니다. 왜 이런 작업을 하느냐 하면, 키움증권의 open API는 무조건 조회 횟수를 1000회로 제한을 하면서, 로그아웃 기능은 없앴습니다. 그래서 이런 한계를 극복하기 위해서 pytrader의 부모 프로세스를 만든 다음에, 여기서 pytrader를 실행시키고 종료시키는 행동을 하는 것 입니다. 일단 그림으로 표현한 프로세스의 모식도입니다. 기존에는 pytrader하나만 실행을 시켰는데, 이제는 상위 프로세스가 명령을 내리면 pytrader가 로그인을 하고, 1000회를 채우면 종료하고, 이 신호를 부모 프로세스가 받으면 다시 체크해서 실행을 시키는 구조를 구현해 보고자 합니다. 이를 위해서 위.. 2019. 3. 13.