로그인이 완료된 후 계좌번호를 가져온 후 관련 정보를 GUI에 전시하도록 하겠습니다. 계좌번호는 차 후 매수/매도 뿐만아니라 다양한 곳에서 사용될 예정이니 필수적인 값입니다.
[유튜브 강의, 링크]와 같이 보시면 많은 도움이 되실 겁니다.
1. 계좌정보 가져오는 코드
11강에 공개해드린 코드에 4줄만 추가해 주시면 됩니다. 각 코드들이 의미하는 뜻을 해석해 보도록 하겠습니다.
def login_slot(self, errCode):
if errCode == 0:
print("로그인 성공")
self.statusbar.showMessage("로그인 성공")
self.get_account_info() # 로그인시 계좌정보 가져오기
elif errCode == 100:
print("사용자 정보교환 실패")
elif errCode == 101:
print("서버접속 실패")
elif errCode == 102:
print("버전처리 실패")
self.login_event_loop.exit() # 로그인이 완료되면 로그인 창을 닫는다.
def get_account_info(self):
account_list = self.k.kiwoom.dynamicCall("GetLoginInfo(String)", "ACCNO")
for n in account_list.split(';'):
self.accComboBox.addItem(n)
(1) self.get_account_info()함수 실행하기
self.get_account_info() 함수를 실행하라는 의미입니다. self.get_account_info()함수를 사용하지 않고 관련정보를 다 일일이 적어도 되나 이렇게 가독성 높게 구성하는 것이 코딩의 기본입니다.
(2) def get_account_info(self): 함수 가동
- account_list = self.k.kiwoom.dynamicCall("GetLoginInfo(string)", "ACCNO")
- 이제 키움증권에 특정 명령을 전송할 때 항상 사용하는 self.k.k의 뜻은 아셔야 합니다.
- self.k의 k는 앞서 정의한 메타클레스기반 싱글턴을 의미하는 것입니다.
- self.k의 능력을 이용하여 키움증권에 계좌정보를 요청하겠습니다.
- 특정 정보 요청 시 kiwoom.dynamicCall을 사용하며, 요청하는 정보는"GetLoginInfo(string)", "ACCNO"입니다.
(만약 보유계좌 갯수가 알고 싶다면 self.k.kiwoom.dynamicCall("GetLoginInfo(string)", "ACCOUNT_CNT") 라고 하시면 됩니다.)
- 위의 KOA Studio를 살펴보면 요유계좌 목록을 반환하기 위해서 ACCNO를 싸용한다고 되어 있습니다.
- account_list에 본인이 보유하고 계신 모든 계좌 정보가 입력됩니다.
2. 계좌정보 GUI에 입력하기
(1) GUI에 ComboBox 만들기
- ComboBoX를 본인의 GUI에 넣어 주세요.
- 그리고 boject 이름에 accComboBox을 반드시 입력해 주세요
(2) ACC_N의 이름을 가지는 ComboBox에 계좌 번호 넣는 코드
위에서 정의한 코드를 그대로 가져오돌록 하겠습니다.
- for n in account_list.split(;):
n에다가 acoount_list에 들어 있는 값을 세미클론(;)으로 구분하여 하나씩 집어 넣는 코드입니다.
예를 들어 acoount_list에 [1;2;3;4]가 들어 있다면 n에 순차적으로 1, 2, 3, 4의 값이 들어가게 됩니다.
- self.accComboBox.addItem(n)
앞서 GUI에서 정의한 accComboBox에 n 함수에 들어 있는 계좌번호를 addItem을 사용하여 하나씩 전시한다.
3. 최종화면
아래 콤보박스안에 각자의 계좌번호가 나열된 것을 확인할 수 있습니다. 수고하셨습니다.
'주식 자동매매 강의 > 기초반(모든 코딩의 뿌리)' 카테고리의 다른 글
주식자동매매 14강. 계좌평가잔고내역요청(2), 스레드 구성하기 (0) | 2022.05.03 |
---|---|
주식자동매매 13강. 계좌평가잔고내역요청(1), KOA Studio 사용 (1) | 2022.05.01 |
주식자동매매 11강. 키움 로그인 하기(GUI에 결과 전시 및 코드공개) (35) | 2022.04.27 |
주식자동매매 10강. 키움 증권 로그인 전 기본기 쌓기 (0) | 2022.04.27 |
주식자동매매 9강. 1~8강 복습 및 정리(초심자 용, 최종 코드) (4) | 2022.04.26 |