大家对股票交易接口并不陌生,那么要想获取股票数据获取,也是可以通过python股票交易接口实现股票分时K线及抓取level2行情的开发程序分析如下:
importsysfromPyQt5importQtCore,QtGuifromPyQtQtWidgetsimportQWidget,QApplication,QMainWindowfromPublic.RequestUtilsimportStocksRequest#绘制行情类class分时画工具类:#设置grid的上下左右补丁边距左侧补丁边距=45右侧补丁边距=245顶部补丁边距=25底部补丁边距=17总宽=左侧补丁边距+右侧补丁边距总高=顶部补丁边距+底部补丁边距主窗宽=0表格高度=0表格宽度=0
def__init__:#初始化super.__init__self.parent=parentself.paint=QtGui.QPainter#度量尺对象self.metrics=self.paint.fontMetrics#设置字体库self.字体库=dictself.字体库["默认字体"]=QtGui.QFontself.字体库["雅黑加粗字体"]=QtGui.QFontself.字体库["雅黑字体"]=QtGui.QFontself.设置当前字体#设置笔刷样式库self.笔刷样式库=dict#红色1px粗1px点2px距线条self.笔刷样式库["红色1px虚线"]=QtGui.QPenself.笔刷样式库["红色1px虚线"].setDashPattern
self.笔刷样式库["红色1px线"]=QtGui.QPenself.笔刷样式库["红色2px线"]=QtGui.QPenself.笔刷样式库["红色3px线"]=QtGui.QPenself.笔刷样式库["黄色1px线"]=QtGui.QPenself.笔刷样式库["白色1px线"]=QtGui.QPenself.笔刷样式库["灰色1px线"]=QtGui.QPenself.笔刷样式库["绿色1px线"]=QtGui.QPenself.笔刷样式库["绿色2px线"]=QtGui.QPen
self.笔刷样式库["亮蓝1px虚线"]=QtGui.QPenself.笔刷样式库["亮蓝1px虚线"].setDashPattern
def开始绘制:self.绘制表格self.绘制左右侧的价格刻度self.绘制时间轴刻度self.绘制表格上方的股票信息self.绘制股价走势self.绘制成交量走势表格self.绘制成交量self.绘制盘口
defredraw:self.repaintdefpaintEvent:#获得窗口的长和宽主窗口大小=self.parent.sizeself.主窗宽=主窗口大小.widthself.主窗高=主窗口大小.heightself.表格高度=self.主窗高-self.顶部补丁边距self.表格宽度=self.主窗宽-self.总宽-2self.paint.beginself.开始绘制self.paint.end#结束def设置当前字体:self.paint.setFont
"""设置使用的笔刷"""
def设置当前笔刷:self.paint.setPen
def绘制表格:self.设置当前笔刷self.paint.setBrush
#画分主边框self.paint.drawRectself.paint.drawRect#成交量和走势的分界线self.paint.drawLineself.paint.drawLine
#股票昨收中间线走势self.paint.drawLine#其他线条#self.paint.drawLine#self.paint.drawLineself.paint.drawLine
def绘制表格上方的股票信息:self.设置当前笔刷self.paint.drawText)#股票名称self.paint.drawText)#均价线上一个交易日收盘价=self.parent.股票数据["上一个交易日收盘价"]今收=self.parent.股票数据["当前价"]均价=self.parent.股票数据["分时数据"]["均价"][-1]
if上一个交易日收盘价>今收:self.设置当前笔刷str_1="%.2f-%.2f"%if上一个交易日收盘价==今收:self.设置当前笔刷str_1="%.2f+%.2f"%if上一个交易日收盘价<今收:self.设置当前笔刷str_1="%.2f+%.2f"%
self.paint.drawText)self.paint.drawText)#
#涨停价self.设置当前笔刷self.paint.drawText))#均价#跌停价self.设置当前笔刷self.paint.drawText))#均价
def绘制成交量走势表格:
当日最高成交量=self.parent.股票数据["当前最高成交量"]间隔偏移=当日最高成交量/self.设置当前笔刷grid_num=6x=grid_numcnt=self.表格高度*0.3/grid_numforiinrange:self.设置当前笔刷#计算坐标y1=self.顶部补丁边距++i*cntx1=self.左侧补丁边距x2=self.左侧补丁边距+self.主窗宽-self.总宽
self.paint.drawLine#画价位虚线
vol_int=intvol_str=strfw=self.metrics.width#获得文字宽度fh=self.metrics.height/
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点