Python
Xing API] Real time data subscribe
카미오_레알
2016. 3. 3. 21:32
이베스트 증권에서 제공하는 Xing API로 만든 Real Time data subscribe 예제입니다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import win32com.client | |
import pythoncom | |
class XingRealTime(object): | |
realTime = None | |
def __init__(self): | |
self.realTime = win32com.client.DispatchWithEvents("XA_DataSet.XAReal", RealTimeDataHandler) | |
RealTimeDataHandler.realTime = self.realTime | |
#def end | |
def subscribeRealTimeData(self, stockCode='005930'): | |
self.realTime.LoadFromResFile("Res\\S3_.res") | |
self.realTime.SetFieldData('InBlock', 'shcode', stockCode) | |
self.realTime.AdviseRealData() | |
#def end | |
def waitEvent(self): | |
# Waiting query event | |
while RealTimeDataHandler.realTimeState == 0: | |
pythoncom.PumpWaitingMessages() | |
#def end | |
#class end | |
class RealTimeDataHandler: | |
realTimeState = 0 | |
realTime = None | |
def OnReceiveRealData(self, trCode): | |
companyCode = self.realTime.GetFieldData('OutBlock', 'shcode') | |
volume = self.realTime.GetFieldData('OutBlock', 'cvolume') | |
latest = self.realTime.GetFieldData('OutBlock', 'price') | |
print("onreceive real data in: %s - price: %s, volume: %s" % (companyCode, latest, volume)) | |
#def end | |
# class end |