[파이썬 / 증권사 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활용](2) QAxcontainer 사용 및 키움 모의투자 신청
·
c. 파이썬
QAxcontainer를 이용하면 ActiveX와 COM 객체를 생성하여 메소드 이용이 가능하다.그럼 OpenAPI+를 사용할 수 있으므로 위젯을 하나 만들어본다.import sysfrom PyQt5.QtWidgets import *from PyQt5.QAxContainer import *class App(QWidget): def __init__(self): super().__init__() self.woom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1") self.woom.dynamicCall("CommConnect()") self.woom.OnEventConnect.connect(self.OnEventConnect) ..
[파이썬 / 증권사 API활용](1) 키움 Open API+ 적용
·
c. 파이썬
파이썬으로 키움 Open API를 활용해보려고 한다.사실 주변에서 자동매매프로그램을 만들어보라고 요청을 해서 한번 시도하려고 하는데 잘될런지는 모르겠다.일단 맛보기로 한번 시도해볼까 하는데 어떤 우여곡절이 있을지 감도 안온다..^^; 1. Open API 사용신청을 한다. 증권사 Open API+ 서비스를 사용 등록 페이지가 나온다.  친절하게 3개월 단위로 Open API+로 접속을 해야만 서비스가 유지된다는 설명도 있다.여차저차해서 장기 미접속의 경우 서비스 재등록후 사용하면 되는 듯 하다. 등록은 계좌를 보유하고 있다면 등록이 가능하니 크게 어려움이 있지 않다.API에 여러 함수에 대한 설명은 키움 유투브에 친절하게 설명을 해준다.처음 찾아봤지만 참 사용하기 좋게 설명을 해놓았다.  직접 프로그래밍..
[파이썬 / 매크로 만들기](8) 키보드 keyboard 입력으로 시작, 정지
·
c. 파이썬
키보드로 입력을 받기 위해서 cmd창에서 keyboard 모듈을 설치한다. 설치가 되었으면 모듈을 추가한다. import keyboard모듈을 추가했으니 키보드 입력을 받아야 하는데 어떻게 받을 것인지 고민이 된다.프로그램이 상시로 켜져 있을때는 상시 키보드 입력 값을 받아야 함으로 역시 쓰레드를 쓰도록 한다. def keyThread(self): self.key = threading.Timer(0.01, self.keyThread) if keyboard.is_pressed('f11'): if self.state == 0: self.btn.setText("STOP") self.state = ..
[파이썬 / 매크로 만들기](7) Thread 실행 중 강제 종료 버튼 이벤트
·
c. 파이썬
쓰레드가 실행 중에 종료 버튼을 누르면 정상 종료가 안되는 상황이 발생하는데 이를 방지하기 위해서 강제 종료 버튼에 대한 이벤트를 만들어야 한다.def closeEvent(self, QCloseEvent):이제 종료 버튼을 누르면 closeEvent 함수가 동작한다.그럼 기존 코드에 closeEvent 함수를 넣어서 macro 함수를 종료시켜주면 된다.import sysfrom PyQt5.QtWidgets import *import pyautoguiimport threadingclass MacroApp(QWidget): def __init__(self): super().__init__() self.initUi() self.state = 0 ..
[파이썬 / 매크로 만들기](6) Thread 실행, 종료
·
c. 파이썬
import sysfrom PyQt5.QtWidgets import *import pyautoguiimport threadingclass 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..
로봇쟁이
꿈꾸는아이 공작소