본문 바로가기
파이썬/주식 자동매매

Python으로 주식 자동매매 시스템 개발 일지 2 (QThread)

by 행복론자 2020. 8. 8.

2020/06/13 - [Python/StockTradingSystem] - Python으로 주식 자동매매 시스템 개발 일지 1

 

Python으로 주식 자동매매 시스템 개발 일지 1

올해 목표중 하나로 주식 자동매매 시스템을 만드는 것이고 반드시 해내려고 한다. 어느 전략을 사용할지는 아직 정하지 않았기에 여러개가 될 수도 있으니 미래에 사용할 전략에 따라 전체 코�

jsp-dev.tistory.com

 

거의 두달이나 지나고서야 쓰는 개발 일지 2

퇴근하고 집에 오면 항상 해야지 해야지 하던 것이 두달이나 지났다는 것이 새삼 무섭다.

 

얼마전에는 키움 모의투자 계좌 신청한지 3개월이 지나 재신청을 하면서 

그동안 아무것도 한게 없다는 사실에 자괴감(?)마저 들었다.

 

너무 게으르다.

게으른 것도 문제지만

내가 게으른 것에 제일 큰 문제이지만

다른 문제로는 뚝딱뚝딱 당장에 빨리 만들어 버리고 결과를 내고 싶어 하지만 그렇지 못한 현실에 괴리감을 느낀다. 

또 일 때문에 혹은 다른 이유 때문에 못하는 상황이 연속 되면 '내일은 꼭 해야지' 이렇게 되는 것이 아니라 '오늘도 못했는데 뭐 내일도 못하면 어떠랴..' 하는 이상한 심술이 생긴다..

 

문제는 다른 것 없이 그저 나 자신..

생각하지말고 계획한대로만 그냥 하면 되는데 그대로를 못한다.

생각하지말고 정해진 개발만 해야한다.

그렇게 생각하고 하니 여전히 뜨문뜨문이기는 해도 next step을 매번 정해놓고 꾸준히 하려고 한다.

 

이번에 해결한 step은 해결하고 나니 별 것은 아니지만 어디서도 찾기가 어려워서 한참을 헤매기는 했다.

Kiwoom API를 이용하며 실시간 정보를 얻어오기 위해 OnReceiveRealData를 이용해 이벤트 슬롯을 걸어두고 

 

 

 

SetRealReg를 통해 실시간 정보 수신을 등록하여 장시간, 체결정보를 얻어오려고 했으나

아무리 등록해도 값이 오지 않았다.

사용한 코드에는 아무런 문제가 없어보이는데 수신을 못해오는 상황만 놓고 보니 

자꾸 코드가 잘못됐나만 살펴보았고 이 과정을 계속 반복하다가 문득

 

Thread를 대기시키지 않아 프로그램이 종료된다는 사실을 깨달았다.

 

 

다음과 같이  app.exec_() 을 통해 키움에 요청 보내고 받기를 기다려야하는데

그렇지 않아 버리니 대기하지 않고 프로그램이 종료되어 실시간 정보를 수신하지 못했다.

 

위는 예제 코드라 Window를 팝업시키지만 그렇지 않고 app.exec_()를 만나 계속 대기 상태임과 동시에 원하는 로직을 수행하기 위해서는 QThread를 사용해야한다. 이에 대한 예제는 다음과 같다. Worker라는 QThread기반 Thread를 사용

https://wikidocs.net/21885

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

 

 

누군가에게는 별 것 아니지만 나는 처음 해보는 것 투성이니 작은 문제도 크게 보인다.

하지만 해결해놓고 보면 다시 원래 사이즈로 보인다. 

 

하다 보면 는다. 이렇게 하다보면 어떤 결과가 올까? 생각하지말고 

원하는 바가 맞다면 계속.

꾸준히.. 

 

 

 

 

 

어제는 그것 때문에,

오늘은 이것 때문에,

내일은 또 새로운 

이유로 안 한다.

 

핑계 대지말고.. 오늘 할 일을 하자.


같이 보시면 좋을 글

2021/02/10 - [파이썬/주식 자동매매] - 주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

 

주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

주식매매프로그램 개발 노하우에 관한 제 전자책이 발간되었습니다. https://kmong.com/gig/292764 주식매매프로그램, 쉽게 따라 만드는 노하우와 소스를 드립니다. | 36000원부터 시작 가능한 총 평 0개

jsp-dev.tistory.com

반응형
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글