[파이썬 / 증권사 API활용](7) 조건식 불러오기
·
c. 파이썬
난 애초에 조건식을 확인하려고 했을때 키움API에서 조건식 등록도 가능한 것으로 알고 있었다.그런데 알고보니 조건식은 키움 HTS에서 직접 등록을 하고 OpenAPI에서는 그에 따른 조건식을 가져오고 결과를 불러오는 것만 존재하는 것으로 보인다. (결국 내 오해..) 그럼 조건식 가져오기 위한 OpenAPI 함수를 한번 보면 다음과 같다. GetConditionLoad() 함수는 HTS 계좌 정보에 저장된 사용자 조건검색을 요청하는 함수다. 요청이 성공되면 발생되는 이벤트 함수가 OnReceiveConditionVer() 함수다. GetConditionNameList() 함수는 설명에도 나와 있지만 조건식의 고유번호, 조건식 이름을 한쌍으로 문자열을 제공한다.그리고 이 함수는 OnReceiveCondit..
[파이썬 / 증권사 API활용](6) 주식 정보 조회하기
·
c. 파이썬
키움 OpenAPI는 주식 종목 조회를 위해서 TR(Transaction) 이라는 단위로 처리를 진행한다.실시간 업데이트가 되는 주식 특성상 데이터 주고 받는 통신 방법을 하나의 규약으로 만들어 놨다. 그래서 결론은 클라이언트(사용자)가 TR을 통해 서버(증권사)에 요청하면 서버(증권사)가 클라이언트(사용자)에게 데이터를 전달하는 것이다. 그럼 TR의 종류가 무엇인지 보자. 이보다 훨씬 더 있어서 다 첨부하긴 어렵다...너무 많아서 일부만 짤랐다..전체 리스트는 키움증권에서 제공하는 KOA StudioSA 프로그램을 통하면 전체 리스트를 볼 수 있다.  실제 프로그램을 통해 저 TR을 어떻게 이용하는지 보려면 메소드를 살펴보자. 먼저 TR을 요청을 해야하는데 이때 사용해야 하는 함수가 SetInputVa..
[파이썬 / 증권사 API활용](5) No module named 'pythoncom' 에러
·
c. 파이썬
제목처럼 pythoncom 을 import 시키면 모듈이 없다는 에러가 나온다.그런 경우 pywin32를 설치하면 된다. 생각보다 쉽게 해결이 된다. 개발을 하다가 느낀 부분이 서로 다른 PC에서 문제들이 발생하는 경우가 있어서 몇가지 정리를 해봤다.일단 키움 OpenAPI 는 파이썬 32bit를 기준으로 개발하는게 속 편하다.실제로 키움 OpenAPI는 64bit를 지원하지 않는다. 그래서 구글링을 통해 몇가지 방법(64bit를 놔두고 32bit를 가상 인터프리터로 작성 하는 법 등)을 동원해봤지만 깔끔하게 해결되는 경우는 잘 모르겠다. 내 결론은 64bit 지우고 32bit 다시 설치해서 동작 시키는 것으로 결론 지었다.이게 가장 속시원히 되더라...솔직히 다른 언어로 개발을 진행해볼까 생각도 했다 ..
[파이썬 / 증권사 API활용](4) Kiwoom.py 클래스화
·
c. 파이썬
기존에 작성했던 부분에서 클래스화 하려는 부분만 별도로 파일로 만들었다.이제 이 파일은 기능만 추가하면 된다.import sysfrom PyQt5.QtWidgets import *from PyQt5.QAxContainer import *import pythoncomclass OpenApi: def __init__(self): self.woom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1") self.woom.OnEventConnect.connect(self.OnEventConnect) self.login = False def CommConnect(self): self.woom.dynamicCall("CommConnect..
[파이썬 / 증권사 API활용](3) OpenAPI+ 메소드 사용
·
c. 파이썬
우선적으로 OpenAPI+에서 제공하는 API들은 다양하게 있으니 관련 문서를 보면 좋다.역시나 구글링을 해보니 키움에서 기본적으로 제공하는 Guide 문서가 있어서 다운받아 올려놨다.헷갈리거나 정확하게 확인이 필요할때 참고하면 여러모로 편할 것 같다. 이제 간단하게 OpenAPI+에 접속하여 코스피 종목을 검색을 해보고 리스트를 출력해보자.import sysfrom PyQt5.QtWidgets import *from PyQt5.QAxContainer import *import pythoncomclass App(QWidget): def __init__(self): super().__init__() self.woom = QAxWidget("KHOPENAPI.KHOpenAPIC..
[파이썬 / 증권사 API활용](1) 키움 Open API+ 적용
·
c. 파이썬
파이썬으로 키움 Open API를 활용해보려고 한다.사실 주변에서 자동매매프로그램을 만들어보라고 요청을 해서 한번 시도하려고 하는데 잘될런지는 모르겠다.일단 맛보기로 한번 시도해볼까 하는데 어떤 우여곡절이 있을지 감도 안온다..^^; 1. Open API 사용신청을 한다. 증권사 Open API+ 서비스를 사용 등록 페이지가 나온다.  친절하게 3개월 단위로 Open API+로 접속을 해야만 서비스가 유지된다는 설명도 있다.여차저차해서 장기 미접속의 경우 서비스 재등록후 사용하면 되는 듯 하다. 등록은 계좌를 보유하고 있다면 등록이 가능하니 크게 어려움이 있지 않다.API에 여러 함수에 대한 설명은 키움 유투브에 친절하게 설명을 해준다.처음 찾아봤지만 참 사용하기 좋게 설명을 해놓았다.  직접 프로그래밍..
[파이썬 / 매크로 만들기](5) Pyautogui 설치, 키보드 매크로 입력
·
c. 파이썬
매크로 동작을 위해서 편한 메서드가 있는 cmd창을 통해서 pyautogui 를 설치한다.pyautogui.press(['left', 'left', 'left']) # 왼쪽 방향키를 세번 입력pyautogui.press('left', presses=3) # 왼쪽 방향키를 세번 입력pyautogui.press('left', presses=3, interval=3) # 왼쪽 방향키를 3초에 한번씩 세번 입력사용하려는 키보드 매크로는 press 메소드를 사용하면 된다.매크로는 시작 버튼을 누르면 동작을 반복해서 진행해야 한다.그런데 interval이 들어간 press 동작은 delay와 같이 3초에 1회씩 3번 동작하고 끝이 난다. left이외의 다른 키는 리스트를 보고 참..
[파이썬 / 매크로 만들기](4) PyQt5 QPushButton 사이즈 변경, Click 이벤트
·
c. 파이썬
import sysfrom PyQt5.QtWidgets import *class MacroApp(QWidget): def __init__(self): super().__init__() self.initUi() self.state = 0 def initUi(self): self.setGeometry(700, 450, 220, 100) self.setWindowTitle('Macro') self.btn = QPushButton(self) self.btn.setText("START") # setText("START &f") shortcut - '&f' = 'Alt+f' ..
로봇쟁이
'파이썬' 태그의 글 목록