GithubHelp home page GithubHelp logo

stock-quotes's Introduction

-# stock-quotes 股票行情软件

因为一般看盘软件都无法在linux下使用,所以自己干脆写了一个跨平台的。

python+pyqt。

查看全球主要指数,实盘美股和港股。

A股板块、指数、个股k线图均线资料查看、搜索,输入拼音查询。

F10资料,主要指标,经营分析,3大报表,板块资金流。

实时语音播报当前新闻

后续功能再慢慢加。。。。。。

需要解决的问题:

一、可以实时浏览所有股票(A股,美股,港股)

['代码','名称','最新价','涨跌幅','换手率','成交额','市盈率','成交量','总市值','流通市值','今年涨幅','60日涨幅','涨速','最高','最低','今开','昨收'] 表格数据用QTableView组件,使用model/view模型控制显示的颜色,格式。

A股,美股,港股全部都使用同样的数据结构,这样可以很方便界面的切换。一个model模式就可以了。在做其它(比如资金流分析)时,再建一个model模式。

看盘的主界面上分了4大块区域(个人习惯),一个显示所有股票的实时数据,一个只显示涨速,一个自选股,最右边显示个股的详细信息,包括分时图,买卖一到五及其分笔成交细节。

点击表格任何一列实现顺序、倒序排列。比如按涨幅,成交额排序

Snipaste_2022-11-06_19-20-46

二、实现鼠标和键盘操作

重载鼠标的单击和双击,单击显示个股详细信息,双击显示个股的k线图。鼠标滚轮,右键功能

重载键盘事件,回车也可显示个股的k线图。输入个股、指数、板块的代码,拼音都可查询。ESC键,翻页键。F10查看个股报表资讯

三、需要多线程,刷新数据的同时界面不能卡顿。

可能是数据原因或者python的原因,为了保证实时,同时开了6个线程

一个用于刷新全球实时指数

一个刷新所有股票的实时数据

一个刷新买卖一到五的数据

一个刷新分笔成交数据

一个实时语音播报

一个用于获取k线图数据,这个觉得有些多余,但是在开盘阶段如果想看k线图,偶尔会出现卡顿的情况,所以单独开了一个线程。

四、目前所遇到问题:

在盘后操作基本还是很流畅的,反应速度也很快。主要在开盘阶段,因为每5秒刷新一次界面,如果正好在刷新的时刻单击或者双击某一行股票,就会出现卡顿现象。我感觉可能是ui刷新速度不够快,同一时刻子线程均发信号要求刷新界面导致。又或者是我代码有问题,或者python的速度问题。 由于以前没有学过python,临时从c++转过来,基本是按照c++的编程思路来的。也不知道合适不,欢迎大家多提建议。

Snipaste_2022-11-06_19-21-27 Snipaste_2022-11-06_19-22-01 Snipaste_2022-11-06_19-22-36 Snipaste_2022-11-06_19-24-37 Snipaste_2022-11-06_19-25-25 Snipaste_2022-11-06_19-25-57

stock-quotes's People

Contributors

cjh4312 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

stock-quotes's Issues

pycharm运行出错了。

D:\anaconda\python.exe D:\Python-proj\Github\stock-quotes-main\mainwindow.py
Traceback (most recent call last):
File "D:\anaconda\lib\tokenize.py", line 330, in find_cookie
line_string = line.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Python-proj\Github\stock-quotes-main\mainwindow.py", line 5, in
import worldIndex,drawTimeShare,drawCandle,globalVariable,getDate,tableStock,baseInformation
File "D:\Python-proj\Github\stock-quotes-main\tableStock.py", line 7, in
import getEastData
File "D:\Python-proj\Github\stock-quotes-main\getEastData.py", line 7, in
import py_mini_racer
File "D:\anaconda\lib\site-packages\py_mini_racer_init_.py", line 1, in
from . import py_mini_racer
File "D:\anaconda\lib\site-packages\py_mini_racer\py_mini_racer.py", line 13, in
import pkg_resources
File "D:\anaconda\lib\site-packages\pkg_resources_init_.py", line 74, in
from pkg_resources.extern import appdirs
File "", line 1007, in find_and_load
File "", line 986, in find_and_load_unlocked
File "", line 666, in load_unlocked
File "", line 565, in module_from_spec
File "D:\anaconda\lib\site-packages\pkg_resources\extern_init
.py", line 52, in create_module
return self.load_module(spec.name)
File "D:\anaconda\lib\site-packages\pkg_resources\extern_init
.py", line 37, in load_module
import(extant)
File "D:\anaconda\lib\site-packages\pkg_resources_vendor\appdirs.py", line 560, in
import win32com.shell
File "D:\anaconda\lib\site-packages\win32com_init.py", line 6, in
import pythoncom
File "D:\anaconda\lib\site-packages\pythoncom.py", line 2, in
import pywintypes
File "shibokensupport/signature/loader.py", line 61, in feature_imported
File "shibokensupport/feature.py", line 137, in feature_imported
File "shibokensupport/feature.py", line 148, in _mod_uses_pyside
File "D:\anaconda\lib\inspect.py", line 1024, in getsource
lines, lnum = getsourcelines(object)
File "D:\anaconda\lib\inspect.py", line 1006, in getsourcelines
lines, lnum = findsource(object)
File "D:\anaconda\lib\inspect.py", line 831, in findsource
lines = linecache.getlines(file, module.dict)
File "D:\anaconda\lib\linecache.py", line 46, in getlines
return updatecache(filename, module_globals)
File "D:\anaconda\lib\linecache.py", line 136, in updatecache
with tokenize.open(fullname) as fp:
File "D:\anaconda\lib\tokenize.py", line 394, in open
encoding, lines = detect_encoding(buffer.readline)
File "D:\anaconda\lib\tokenize.py", line 371, in detect_encoding
encoding = find_cookie(first)
File "D:\anaconda\lib\tokenize.py", line 335, in find_cookie
raise SyntaxError(msg)
SyntaxError: invalid or missing encoding declaration for 'D:\anaconda\lib\site-packages\win32\pywintypes39.dll'

Process finished with exit code 1

您好!我在Pycharm打开这个项目代码,有一个依赖叫pinyin的没法在阿里云下载?

您好! 感谢您的分享。

问题如题:我在Pycharm打开这个项目代码,有一个依赖叫pinyin的没法在阿里云下载?

Looking in indexes: http://mirrors.aliyun.com/pypi/simple/

WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host mirrors.aliyun.com'.
ERROR: Could not find a version that satisfies the requirement pinyin (from versions: none)
ERROR: No matching distribution found for pinyin

python 3.9.7

conda activate D:\anaconda
D:\anaconda\python.exe D:/Program Files/JetBrains/PyCharm 2022.3.2/plugins/python/helpers/packaging_tool.py install pinyin --index-url http://mirrors.aliyun.com/pypi/simple/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.