[키움 조건검색식 자동매매 (5)] 키움 조건검색식 목록 요청 및 가져오기
본문 바로가기

주식 자동매매 강의/중급반(시황 및 차트 구현)

[키움 조건검색식 자동매매 (5)] 키움 조건검색식 목록 요청 및 가져오기

반응형

  조건 검색식 자동매매를 클릭하면, 아래 그림처럼 조건식 선택에 키움에서 작성한 조건 검색식 목록을 바로 불러올 수 있도록 해보겠습니다. 조건 검색식은 최대 20개까지 불어올 수 있습니다.

 

조건검색식 선택 목록
조건검색식 선택 목록

 

1. Kiwoom_meme.py에서 조건검색식 목록 가져오기 코딩

 조건검색식 목록을 가져오는 함수를 self.get_kiwoom_list()라 하고 조건 검색식 자동매매 화면이 클릭된 순간 바로 실행될 수 있도록 배치시킵니다.

반응형

조건검색식 목록가져오기
조건검색식 목록가져오기

 조건 검색식은 아래와 같이 스레이 드 51번에서 다룰 예정입니다. 벌써 50번대라니.. 이제 저도 저의 프로 그래을 수정하지 못할 순간이 다가오고 있습니다. 벌써 몇만 줄은 되었을 건데 여러분들도 주석을 정말 열심히 하셔야 됩니다.

조검검색 목록 가져오는 스레드
조검검색 목록 가져오는 스레드

2. Qthread_51에서 조건 검색 목록 가져오는 기능 코딩

 아래 그림과 같이  Qthread_51에서 조건 검색 목록을 가져올 수 있도록 기본 세팅을 합니다. 자세한 설명은 강의 처음 그리고 기초반에서 확인하세요.

Qthread_51 조건검색 목록 관련 기본 세팅
Qthread_51 조건검색 목록 관련 기본 세팅

 (1) 아래에서 사용할 부모 클래스와 함수를 가져옵니다.

 (2) 앞으로 사용할 객체와 부모 클래스를 초기화합니다. 그리고 싱글턴 Kiwoom()을 상속받고 OnReceiveConditionVer 함수를 사용하여 조건 검색 목을 받아올 방을 설정합니다. 조건 검색 목록을 받아오는 곳은 self.OnReceiveConditionVer로 설정하였습니다.

 (3) self.GetConditionLoad()를 통하여 우리가 받아와야 될 조건 검색식 목록을 키움 서업에 요청합니다.

 (4) 이 부분은 차 후에 한번 더 설명드릴 텐데 조건 검색 목록을 받아 왔다면 아래와 같이 GUI 화면에 전시해야겠죠? 조건 검색식 목록의 이름은 self.k.condition_list[Name"]에 저장되어 있으며 for 문을 이용하여 하나씩 추출해 kiwoom_list에 이름을 전시합니다.

kiwoom_list
kiwoom_list
kiwoom_list 만들기
kiwoom_list 만들기

GUI를 만드실 때 조건식 선택의 위젯은 콤보 박스이며, objectName은 kiwoom_list입니다.

 

3. 조건 검색식 목록 요청 및 받아오기

 GetConditionLoad를 통하여 조건검색식 목록을 요청하고 OnReceiveConditionVer를 통해 조건검색식 목록을 받아오겠습니다.

조건검색식 목록 요청 및 받아오기
조건검색식 목록 요청 및 받아오기

 (1) GetConditionLoad함수를 사용하여 조건 검색식 목록을 요청합니다. 결과가 1이면, 조건식을 받은 것이고 0이면 실패 한 것입니다. 앞서 말씀 드렸지만 조건검색식 목록 요청이 실패하는 경우는 1분에 2번이상 요청할 때 입니다. 키움 정책의 문제이며, 2분에 한번씩 요청하는 것이 안전합니다.

 (2) OnReceiveConditionVer함수를 사용하여 temporary_condition_list에 조건검색식 목록을 저장합니다. 그리고 우리는 사용하기 쉽도록  temporary_condition_list에 있는 데이터를 하나씩 불러와 self.k.conditon_list에 정합니다. index에는 번호와 Name은 여러분이 저장한 조건검색식 이름입니다.

 - 참고사항으로 data를 split("^")를 하는 이유는 아래 그램과 같이 종목번호^이름으로 데이터가 넘어오기 때문에 종목번호와 이름을 구분하기 위한 것입니다. 완전 테스트의 번호는 000이며, 거래량 폭발의 번호는 001입니다.

data를 split("^")를 하는 이유
data를 split("^")를 하는 이유

 - self.detail_account_info_event_loop.exit()는 기초반에서 너무 많이 설명드렸기에 설명 생략합니다.

 - 이렇게 받아온 데이터는 2항의 (4)와 같이 콤보 박스에 데이터를 저장합니다.

 

4. 결론 및 요약

 설명이 중급반 수준으로 간략해지고 있습니다. 혹시 설명이 부족하다고 느끼신 분들은 블로그의 키워드 검색에 원하는 부분을 치시면 웬만하면 다 나올 것이고 기초반 54강을 완강하시기 바랍니다. 그래도 잘 모르시겠다면 언제든지 댓글 달아 주십시오. 성실히 답변드리겠습니다.

 

 요약은 GetConditionLoad함수를 이용해 조건 검색식 목록을 요청하였으며, OnReceiveConditionVer함수를 사용해 조건검색식 목록을 가져왔습니다. 그리고 결과는 콤보 박스에 저장하였습니다. 

 

감사합니다.

반응형

.link_tit