트레이딩

[키움API] KOA StudioSA 톺아보기 - 로그인 버전 처리

성민석 2021. 10. 31. 15:18

안녕하세요 성민석입니다.

오늘은 키움증권 API와 관련된 기본 설명과 동작을 설명드릴 예정입니다. 기본적으로 KOA StudioSA에서 제공해주는 내용을 바탕으로 글을 작성해나갈 예정입니다. 여기서 제 개인적인 의견이나 첨언이 들어갈 경우 파란색으로 표시하겠습니다.

 

지난 포스팅에는 키움API와 관련된 기본적인 설명과 동작에 대해서 알려드렸습니다.

2021.10.07 - [트레이딩/증권사 API] - 키움API - 기본 설명 및 동작

 

키움API - 기본 설명 및 동작

안녕하세요 성민석입니다. 오늘은 키움증권 API와 관련된 기본 설명과 동작을 설명드릴 예정입니다. 기본적으로 KOA StudioSA에서 제공해주는 내용을 바탕으로 글을 작성해나갈 예정입니다. 여기서

minsuk-sung.tistory.com

이번 포스팅에서는 키움증권API를 이용하여 로그인하는 내용에 대해서 알려드리겠습니다.

 


로그인

 키움OpenAPI는 로그인 창을 통해 접속(로그인) 합니다. 보안정책 강화로 인해 사용자의 로그인 계정을 암호화하기 위해 로그인 창이 사용됩니다. 소스상으로 고객의 비밀번호를 평문으로 입력받지 않도록 설계되었습니다.


로그인 사용법

 로그인은 CommConnect()함수를 호출합니다. 키움OpenAPI가 제공하는 로그인 창이 실행됩니다. ID/PW 입력 후 로그인 완료 시 (사실 이 부분은 AUTO 조건을 체크해두면 생략됩니다) OnEventConnect 이벤트가 발생됩니다. OnEventConnect 이벤트의 인자값으로 로그인 성공 여부를 알 수 있습니다. 이 값이 0이면 성공이고 나머지는 실패로 오류코드값을 수신합니다. 개인적으로 함수 호출 후 이벤트 발생하는 과정을 잘 모르신다면 이어질 TR요청에서도 고생하실 수 있습니다. 

 

CommConnect(사용자 호출) → 로그인창 출력 (AUTO 체크로 생략 가능)OnEventConnect(이벤트 발생)


수동 로그인

 로그인창에 로그인 ID와 비밀번호를 직접 입력해서 로그인하는 것을 말합니다. 수동 로그인 중에 버전처리(최신파일 업데이트)내용이 있는 경우 버전 처리도 함께 진행됩니다. 시스템 트레이딩하시게 된다면 거의 사용하지 않으실 겁니다.


계좌비밀번호 설정

 OpenAPI는 로그인 후 한번 계좌 비밀번호를 입력/등록해야 합니다. 계좌 비밀번호 설정은 계좌 비밀번호 입력창을 통해서만 가능합니다. 이 입력창을 출력하는 방법은 2가지로 제공됩니다.


1. 메뉴이용

로그인 후 윈도의 작업표시줄상에 깜박이는 트레이 아이콘의 마우스 우측 메뉴(모니터 오른쪽 하단)에서 "계좌 비밀번호 저장" 선택 (AUTO)


2. 함수이용

로그인 후 OpenAPI.KOA_Functions(_T("ShowAccountWindow"), _T("")) 호출 

※ 계좌비밀번호 입력 시 주의할 점 : 
OpenAPI는 계좌비밀번호를 검증하지 않고 입력된 값을 그대로 암호화하여 서버로 전송합니다. 계좌 비밀번호 오류가 일어나지 않도록 오타 등 입력에 주의하시기 바랍니다.


자동 로그인

로그인 후에 계좌비밀번호 입력창을 통해 자동 로그인을 설정할 수 있습니다. 계좌 비밀번호 입력창에서 계좌 비밀번호를 입력하고 "등록" 또는 "전체 등록" 버튼을 눌러서  비밀번호를 저장한 다음 아래에 있는 "AUTO" 옵션을 체크하면 자동 로그인을 위한 설정이 모두 끝납니다. 다음번 실행부터 로그인 시 로그인 창에 계정 입력하는 과정 없이 로그인 과정이 자동으로 실행됩니다. 자동 로그인 시에는 버전 처리(최신 파일 업데이트) 과정을 생략합니다. 단 거래소로부터 수신되는 Daily배치 파일인 종목정보 파일은 자동 로그인 시에도 다운로드합니다.

 

※ 자동 로그인 사용 시 주의할 점 : 
정기적으로 일주일에 한 번 이상 자동 로그인 해지 후 수동 로그인으로 버전 처리를 받아주시길 권장드립니다. 버전처리 없이 자동 로그인을 계속 사용 시에 예기치 않은 오동작의 가능성이 있습니다. 장 종료 후 혹은 주말에도 버전 처리는 정상 수행됩니다.


버전 처리(최신 파일 다운로드)

OpenAPI의 업데이트가 있는 경우 로그인할 때 버전 처리 알림창이 출력 됩니다. 이 알림창이 표시되면 실행한 OpenAPI프로그램(KOA스튜디오포함)을 먼저 모두 종료한 다음 알림창에 있는 확인버튼을 눌러야 (순서를 헷갈리시면 절대 안됩니다. 글을 제대로 읽으면 관련 프로그램 모두 종료하고 확인창을 누르다고 되어있습니다. 저도 이걸 몰랐다가 한시간동안 고생했습니다. 개인적으로 왜 이렇게 한지 모르겠습니다. 사용자 입장에선 너무 헷갈리고 불편했습니다.) 합니다. 그렇지 않으면 버전처리가 정상적으로 끝나지 않아서 로그인할때마다 버전처리 알림창이 반복됩니다. 이렇게 OpenAPI프로그램을 모두 종료한 다음 알림창을 닫아주면 버전처리가 자동으로 진행/완료 되고 종료했던 프로그램을 재실행 해주면 됩니다. 버전처리가 정상적으로 완료된 이후에는 다음번 버전처리가 있을때까지 접속시 해당 알림창이 실행되지 않습니다.


필수 버전처리 (자동 로그인 강제해지)

OpenAPI 운영시 사용자가 필수적으로 버전 처리를 받아야 하는 업데이트가 있는 경우, 버전처리를 위해 자동 로그인이 강제 해지되는 기능이 작동할 수 있습니다. (이때 버전처리완료 후 접속하여 자동로그인을 재설정하실 수 있습니다.) 자동로그인이 강제해지되는 업데이트는 사용자의 불편함을 줄일 수 있도록 최소화하여 운영됩니다. 아무래도 새벽 5시쯤 강제로 로그아웃이 되면서 업데이트가 되는 것 같습니다. 


모의투자

로그인 창에서 모의투자 접속에 체크하면 모의투자로 접속하며 이 체크를 풀면 실거래 서버로 접속합니다. (KOA Studio 프로그램은 모의투자로만 접속가능합니다. 따라서 모의투자접속 체크 해지가 되지 않습니다.) 모의투자 접속은 (상시) 모의투자 신청 이후에 가능하며 신청 여부는 영웅문 4 HTS의 모의투자 신청 여부와 공유됩니다. 모의투자 계좌번호, 주문 가능 종목, 수수료 등 규정은 실거래 시스템과 차이가 있으며 아래 주소에서 확인 가능합니다. (참고로 모의투자는 TR요청에 대한 결과값이나 주문형태가 일부 다를 수 있습니다. 개인적으로 자금이 된다면 단돈 1만원이라도 넣어보셔서 실투자 환경에서 개발하시는게 나중을 위해서 편하실 겁니다.)

 

https://www.kiwoom.co.kr/nkw.templateFrameSet.do?m=m1101020000        

 

키움증권-대한민국 주식시장 점유율 1위

 

www.kiwoom.com


중복 로그인OpenAPI는 보안정책으로 인해 동일 ID에 대한 중복 로그인을 허용하지 않습니다. 동일한 ID로 중복로그인시에 마지막 로그인한 접속만 유지되고 이전에 로그인한 접속은 단절됩니다. 모의투자서버 로그인 역시 중복로그인을 허용하지 않습니다. 이베스트 xingAPI의 경우는 중복 로그인을 허용해주는데 개인적으로 아쉬운 부분입니다. (동일한 ID로 실거래 서버 로그인과 모의투자로 중복 로그인은 가능합니다.) 동일한 ID로 OpenAPI, 영웅문 HTS, MTS의 중복 로그인이 가능합니다. (이 부분은 HTS에서 직접 설정해주셔야 합니다.) 동일 PC에서 서로 다른 ID로 복수 실행이 가능합니다. 다만 OpenAPI 실행에 필요한 파일에 동시에 접근하면서 오동작을 일으킬 수 있습니다. 하나의 PC에서 하나의 실행을 권장합니다.


 

키움증권 API와 관련된 자세한 내용을 확인하고 싶으신 분들은 PDF를 확인해보시면 좋을 것 같습니다.

 

마지막으로 같이 트레이딩 하는 분들과 소통하고 싶습니다. 언제든지 트레이딩이나 인공지능과 관련된 내용을 함께 공유하고 토론하고 싶으시다면 아래의 오픈 카카오톡 링크로 연락 주세요.
https://open.kakao.com/me/minsuksung

 

성민석님의 오픈프로필

안암에서 인공지능을 연구하고 있습니다

open.kakao.com

 

728x90
반응형