[키움 자동매매 프로그램] - 조건검색식 목록 가져오기(Qthread_7.py)
Qthread_7.py 구현
Qthread_7.py 코드는 영웅문4에서 생성했던 조건검색식 목록들을 불러오는 역할을 한다.
조건식에 대한 일련번호를 가져오고 제작한 UI의 조건식 선택 박스에서 선택할 수 있도록 한다.
Qthread_7 - init() 생성
from PyQt5.QtCore import *
from kiwoom import Kiwoom
class Thread7(QThread) :
def __init__(self, parent) :
super().__init__(parent)
self.parent = parent
self.k = Kiwoom()
self.detail_account_info_event_loop = QEventLoop()
### 부가기능 1 : 키움서버에 저장된 종목을 받아오는 함수
self.k.kiwoom.OnReceiveConditionVer.connect(self.OnReceiveConditionVer) # 키움조건식 일련번호 가져오기
###
### 부가기능 2 : 키움조건식 일련번호를 요청하는 부분
self.GetConditionLoad()
###
for i in self.k.condition_list['Name'] :
self.parent.kiwoom_list.addItem(i)
조건검색식을 받아오면 조건식 선택 박스에 이름을 넣는다.
조건식 수신 여부 확인
def GetConditionLoad(self) :
result = self.k.kiwoom.dynamicCall("GetConditionLoad")
if result == 1 :
print("조건식 받기 성공")
else :
print("조건식 받기 실패")
self.detail_account_info_event_loop.exec_()
조건식을 서버에서 정상적으로 수신했는지 확인한다.
조건식 받아오기
def OnReceiveConditionVer(self) :
self.k.condition_list = {'index': [], 'Name': []}
temporary_condition_list = self.k.kiwoom.dynamicCall("GetConditionNameList()").split(';')
print(temporary_condition_list)
for data in temporary_condition_list :
try :
a = data.split("^")
self.k.condition_list['index'].append(str(a[0]))
self.k.condition_list['Name'].append(str(a[1]))
except IndexError :
pass
self.detail_account_info_event_loop.exit()
키움 서버에서 생성했던 조건검색식을 불러오고 문자 ^을 기준으로 일련번호와 조건검색식 이름을 분리하여 리스트에 저장한다.
이 condition_list에 저장된 조건식들이 조건식 선택 박스에 들어가게 된다.