이 영역을 누르면 첫 페이지로 이동
#include < ResetDy.com > 블로그의 첫 페이지로 이동

#include < ResetDy.com >

페이지 맨 위로 올라가기

#include < ResetDy.com >

[Python] 키움증권 OpenAPI 종목 기본정보 요청하기

  • 2018.03.30 12:19
  • Programming/Python
반응형

로그인 완료 후 종목코드로 요청하여 종목명과 거래량을 수신하는 간단한 예제 입니다.


평소때는 Right margin을 신경 안쓰고 코딩을 하는데..


블로그로 붙여넣기 하니깐 문제가 생기네요ㅠㅠ


라인을 보기 어렵다는 점!!!


계속 블로그에 코드를 붙여넣기 하려면 뭔가 해결책이 필요 할 것 같습니다. 힝







Github : https://github.com/ResetDy/Blog_Python/blob/master/TrRequest.py




import sys
from PyQt5.QtWidgets import *
from PyQt5.QAxContainer import *

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("DonDon Test")
        self.setGeometry(1600, 400, 1000, 1000)

        self.kiwoom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1")

        btn1 = QPushButton("Login", self)
        btn1.move(20, 20)
        btn1.clicked.connect(self.btn1_clicked)

        btn2 = QPushButton("Click State", self)
        btn2.move(20, 70)
        btn2.clicked.connect(self.btn2_clicked)

        btn3 = QPushButton("조회", self)
        btn3.move(250, 150)
        btn3.clicked.connect(self.btn3_clicked)


        self.text_edit = QTextEdit(self)
        self.text_edit.setGeometry(10, 300, 500, 200)
        self.text_edit.setEnabled(False)

        self.kiwoom.OnEventConnect.connect(self.event_connect)
        self.kiwoom.OnReceiveTrData.connect(self.receive_trdata)

        label = QLabel('종목코드: ', self)
        label.move(20, 150)

        self.code_edit = QLineEdit(self)
        self.code_edit.move(140, 150)
        self.code_edit.setText("039490")

    def btn1_clicked(self):
        self.login()

    def btn2_clicked(self):
        if self.kiwoom.dynamicCall("GetConnectState()") == 0:
            self.statusBar().showMessage("Not Connect")
        else:
            self.statusBar().showMessage("Connected")

    def btn3_clicked(self):
        code = self.code_edit.text()
        self.text_edit.append("종목코드 : " + code)

        self.kiwoom.dynamicCall("SetInputValue(QString, QString)", "종목코드", code)

        self.kiwoom.dynamicCall("CommRqData(QString, QString, int, QString)", "opt10001_req", "opt10001", 0, "0101")

    def receive_trdata(self, screen_no, rqname, trcode, recordname, prev_next, data_len, err_code, msg1, msg2):
        if rqname == "opt10001_req":
            name = self.kiwoom.dynamicCall("CommGetData(QString, QString, QString, int, QString)", trcode, "", rqname, 0, "종목명")
            volume = self.kiwoom.dynamicCall("CommGetData(QString, QString, QString, int, QString)", trcode, "", rqname, 0, "거래량")

            self.text_edit.append("종목명 : " + name.strip())
            self.text_edit.append("거래량 : " + volume.strip())


    def login(self):
        self.kiwoom.dynamicCall("CommConnect()")

    def event_connect(self, err_code):
        if err_code == 0:
            self.text_edit.append("로그인 성공")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mywindow = MyWindow()
    mywindow.show()
    app.exec_()


반응형
저작자표시 비영리 변경금지 (새창열림)

'Programming > Python' 카테고리의 다른 글

[Python] Qt designer으로 만들어진 ui 파일 파이썬에서 로드시키기  (0) 2018.03.30
[Python] 키움증권 OpenAPI 로그인 이벤트 연결 및 적용  (0) 2018.03.29
[Python] 키움증권 OpenAPI 모듈 사용 시 동작이 안할때!  (0) 2018.03.29
[Python] 데이터 시각화 중 신기했던 로또번호  (0) 2018.03.26
[Python] 간단한 웹페이지 읽어오기  (0) 2018.03.22
[Python] 파일 오픈시 Encoding 오류 (미결)  (0) 2018.03.21
[Python] List 자료형  (0) 2018.03.20
[Python] Thread 테스트  (2) 2018.03.20

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Python] Qt designer으로 만들어진 ui 파일 파이썬에서 로드시키기

    [Python] Qt designer으로 만들어진 ui 파일 파이썬에서 로드시키기

    2018.03.30
  • [Python] 키움증권 OpenAPI 로그인 이벤트 연결 및 적용

    [Python] 키움증권 OpenAPI 로그인 이벤트 연결 및 적용

    2018.03.29
  • [Python] 키움증권 OpenAPI 모듈 사용 시 동작이 안할때!

    [Python] 키움증권 OpenAPI 모듈 사용 시 동작이 안할때!

    2018.03.29
  • [Python] 데이터 시각화 중 신기했던 로또번호

    [Python] 데이터 시각화 중 신기했던 로또번호

    2018.03.26
다른 글 더 둘러보기

정보

#include < ResetDy.com > 블로그의 첫 페이지로 이동

#include < ResetDy.com >

  • #include < ResetDy.com >의 첫 페이지로 이동

검색

메뉴

  • Home
  • Tag
  • Guest Book
  • Write
  • Admin

카테고리

  • 분류 전체보기 (129)
    • VR (3)
    • 내 이야기 (37)
    • Trade (13)
      • 주린이 HTS (0)
      • 주린이 일기 (2)
      • 주린이 공부 (0)
      • 주린이 매매일지 (11)
    • Hardware (2)
      • Tip (1)
      • Schematic (1)
    • Programming (24)
      • C++ (1)
      • C# (5)
      • Python (9)
      • Android (9)
    • MicroProcessor (17)
      • AVR (8)
      • STM32 (6)
      • RaspberryPi (1)
      • Smart Car (2)
    • Computer (23)
      • Tip (6)
      • Linux (5)
      • MacOS (11)
    • Car D.I.Y (10)
      • XMAX300 (1)
      • All New Carnival (5)
      • SM3 (4)

공지사항

블로그 구독하기

  • 구독하기
  • RSS 피드

정보

ResetDy의 #include < ResetDy.com >

#include < ResetDy.com >

ResetDy

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © ResetDy. Designed by Fraccino.

티스토리툴바