연결, 로그인 테스트
먼저 키움API를 사용하여 HTS 시스템에 연결, 로그인하는 과정이 필요하다.
* 설치해두었던 KOAStudioSA.exe 파일을 실행시켜 먼저 버전처리 작업을 해주어야 정상적으로 연결이된다.
로그인 자동화를 위해 작업표시줄에서 계좌비밀번호 저장을 눌러 자동로그인 설정을 해주어야 한다.
버전처리를 위해 일주일에 한번정도 수동 로그인을 해주어야 하는 것 같다.
OCX방식의 API를 파이썬에서 사용하기 위해서는 PyQt5가 필요하다.
pip install로 설치 후, 'QAxWidget' Class를 상속받아 만드는 방식이 가장 편리하다.
키움증권HTS 연결 테스트를 위한 가장 기본이되는 코드이다.
class KiwoomTrade(QAxWidget):
def __init__(self):
super().__init__()
self._create_kiwoom_instance()
self._set_signal_slots()
def _create_kiwoom_instance(self):
self.setControl("KHOPENAPI.KHOpenAPICtrl.1")
def _set_signal_slots(self):
self.OnEventConnect.connect(self._event_connect)
self.OnReceiveTrData.connect(self._receive_tr_data)
def comm_connect(self):
self.dynamicCall("CommConnect()")
self.login_event_loop = QEventLoop()
self.login_event_loop.exec_()
def _event_connect(self, err_code):
if err_code == 0:
print("connected")
else:
print("disconnected")
self.login_event_loop.exit()
if __name__ == "__main__":
kiwoom = KiwoomTrade()
kiwoom.comm_connect()
연결이 실패한다면, 버전처리가 잘 되었는지 확인해야한다. 버전처리 작업을 할 때 꼭 KOAStudioSA 프로그램을 종료한 상태로 해야한다.