목 차
1. 들어가며
2. 사전설명
3. 함수 설명
1) SetInputValue 함수
2) CommRqData 함수
3) OnReceiveTrData 함수
4) GetCommData 함수
4. 데이터 입력/반환받는 형태
5. 마치며
1. 들어가며
지난 글에서는 OpenAPI-W를 통한 자동매매를 위해
시세요청 이용료 결재하기를 알아보았다.
이번 글에서는 OpenAPI-W를 통해 키움서버에 데이터를
입력 - 요청 - 연결 - 수신받는 방법을 알아볼 것이다.
즉 이 글에서는 입력/요청/연결/수신의 4가지를 알아보자.
※ 참고로, 사용자가 OpenAPI-W를 통해 데이터를 받아오는 방법은 2가지이다.
TR데이터 요청, 실시간 데이터 요청의 2가지이다.
→ 여기서는 TR데이터 요청만 알아볼 것이다.
(실시간 데이터를 받아오는 방법은 별도 설명하지 않을 예정이다.)
2. 사전설명
TR 요청을 통해 데이터를 받아오는 원리는 위에서 설명하였듯이,
데이터 입력 → 요청 → 입력 → 요청의 4단계이다.
- ① 데이터 입력은 키움에서 제공하는 SetInputValue 함수를 이용한다.
- ② 데이터 요청은 키움에서 제공하는 CommRqData 함수를 이용한다.
- ③ 데이터 연결은 키움에서 제공하는 OnReceiveTrData 함수를 이용한다.
- ④ 데이터 수신은 키움에서 제공하는 GetCommData 함수를 이용한다.
3. 함수 설명
키움증권에서 제공하는 개발가이드를 확인해보자.
(p14~15, p21의 내용이다.)
1) SetInputValue 함수
- 설명 : TR값을 서버에 입력한다.
- 형태 : SetInputValue (QString, QString) → 2개 문자를 입력
2) CommRqData 함수
- 설명 : TR 내용을 키움서버에 요청(송신)한다.
- 형태 : CommRqData (QString, QString, QString, QString) → 4개 문자를 입력
3) OnReceiveTrData 함수
- 설명 : connect를 이용하여 CommRqData와 GetCommData을 연결한다.
- 형태 : self.kiwoom.OnReceiveTrData.connect(OnReceiveTrData)
4) GetCommData 함수
- 설명 : 데이터를 수신받는다.
- 형태 : GetCommData (QString, QString, int, QString) → 문자형 3개인 정수형 1개
4. 데이터 입력/반환받는 형태
향후 TR 요청을 하는 경우 4가지로 이루어진다는 것을 기억하자.
데이터 입력 → 요청 → 연결 → 데이터 반환의 형태이다.
입력한 데이터(SetInputValue)를 키움서버에 요청(CommRqData)하면,
키움서버에서 이벤트가 발생(OnReceiveTrData)하여,
데이터를 반환(GetCommData)한다.
여기서 핵심은,
데이터 요청(CommRqData)하면 자동으로 이벤트가 발생하는데,
이것을 연결해 주는 것이 OnReceiveTrData이다.
아래와 같은 코드를 확인해 보자.
self.kiwoom = QAxWidget("KFOPENAPI.KFOpenAPICtrl.1")
self.kiwoom.OnEventConnect.connect(self.login_Connect)
self.kiwoom.OnReceiveTrData.connect(self.trdata_get)
OnReceiveTrData 로 발생한 이벤트는 self.trdata_get 함수와 연결되어,
데이터를 반환해준다.
5. 마치며
TR 요청을 통해 데이터를 수신받는 방법을 알아보았다.
필자는 TR 요청을 선호하는 점 때문에,
실시간 데이터 수신에 대해 별도 설명하지 않았다.
"TR 요청"은 데이터 입력, 요청, 연결, 수신의 4단계로 이루어진다는 내용을 기억하자.
'2. 해외선물 > 2-4. 해외선물 API (사용)' 카테고리의 다른 글
(키움증권 해외선물 OpenAPI-W) 로그인 설정하기 (2) pyautogui 모듈 (16) | 2023.01.04 |
---|---|
(키움증권 해외선물 OpenAPI-W) 로그인 설정하기 (1) CommConnect 함수 (0) | 2023.01.03 |
(키움증권 해외선물 OpenAPI-W) 해외선물 시세조회 이용료 결재 및 미결재시 출력 메시지 (0) | 2023.01.02 |
(키움증권 해외선물 OpenAPI-W) 자동매매를 위한 dynamicCall 함수 알아보기 (0) | 2023.01.01 |
(키움증권 해외선물 OpenAPI-W) 자동매매를 위한 파이썬 모듈 설명 (0) | 2022.12.30 |
(키움증권 해외선물 OpenAPI-W) 자동매매를 위한 시세요청 이용료 결재하기 (0) | 2022.12.29 |
(키움증권 해외선물 OpenAPI-W) 자동매매를 위한 WKOA Studio 사용방법 (0) | 2022.12.27 |
(키움증권 해외선물 OpenAPI-W) 자동매매를 위한 WKOA Studio, OpenAPI 등 자료 받기 (0) | 2022.12.26 |