使用C#编写一个读取和判断股票实时成交数据的小工具

5 篇文章 0 订阅

使用vs2019预览版,.net4.5进行编写,定位为一个数据分析的小工具,对个股的每笔成交进行分析判断,目前想到的就这些功能,并且还存在很多问题,不断完善中。

本身不是专业写程序的,只是处于爱好在闲暇时间一点点摸索,还好有基础的编程功底,使用了一些网上的插件和代码,东平西凑也算是基本达到预想的功能了。使用到了多线程和异步调用,不是很熟悉,磕磕绊绊的,性能上还需要多做提升,尤其在运行开始后主界面的数据更新还存在很多问题,表现为窗口卡住一段时间。。。

基础功能目标:

1.通过某某网接口获取股票的实时成交数据(基本和同花顺中成交明细同步);

2.针对获取到的股票实时成交数据做基本判断和分类:

a:交易所处交易时段,如集合竞价、结合竞价申报、盘中交易、尾盘交易等;

b:成交额所属等级,如单笔成交额大于1亿、2千万、1千万、500万、100万、50万;

c:成交量是否匹配成交量密码数值,如1000, 1024, 888, 666, 999, 1314, 520, 9999, 6666, 777, 2346, 789, 456, 678,3040,2900...;

d:成交量是否大于截至目前平均每笔的成交额的N倍;

e:成交价对别上一成交价的涨跌幅度,如成交价比上一成交价上涨1%;

3.将步骤2中匹配到的结果显示到软件界面右侧的表格中,包含股票代码、名称、成交时间、判断类型、成交价格、成交手数、成交额、提示信息等,可通过表格列头对数据进行排序;同时可通过右键菜单将表格的数据保存为Excel;

2022年5月20日:

另外,还可以对表格中的数据按交易时段进行筛选:

4.在软件界面中,对步骤2中需要判断的类型动态选择,选择对后续数据有效,对之前数据无效;

5.软件可以配合数据库使用,也可以单独作为一个小工具使用,本工具中区别仅在于要分析的股票代码是存在数据库表stocksearchlist数据分组中,还是存放在软件目录下的stks.txt文件中。

        软件启动时,判断数据库是否可连接,如果数据库不可用则默认使用stks.txt文件,点解“个股文件”可以打开并编辑个股数据,数据格式为每行“6位股票代码+英文逗号+股票名称”,6位股票代码一定要设置正确,否则无法获取到成交数据。股票数据设置完成后点击“加载个股列表"将需要分析的个股加载到左侧列表中。

6.软件左侧列表为需要分析的个股数据,单击开始后,将对列表中的每只股票开启一个线程进行成交数据的读取和步骤2的分析判断,并将判断结果返回主进程显示到软件界面。同时左侧列表中个股后也会统计各项判断的数据量;双击股票代码,将使用系统默认浏览器打开同花顺个股页面

安道麦A(000553)个股资金流向查询_个股行情_同花顺财经提供安道麦A(000553)五档盘口、逐笔交易等实时行情数据;汇总安道麦A(000553)基本资料及重大新闻、研究报告及行业资讯,解读安道麦A(000553)主力资金动向、财务数据,为投资安道麦A(000553)提供参考决策icon-default.png?t=N7T8http://stockpage.10jqka.com.cn/000553/安道麦A(000553)个股资金流向查询_个股行情_同花顺财经

 

7.流程控制。可以设置同时进行分析的股票数,但最大不能超过200,设置过大会导致服务器拒绝连接的问题,同时也会导致电脑CUP沾满而卡顿(笔记本i7-6700设置大于100后,在交易时段cup占到了90%多)。

 

开始(start)后,可以中断(pause)和停止(stop)执行。

软件运行需要安装有.net framework 4.5

软件界面:

软件初始界面

 运行后结果:

开始运行数据分析判断后的结果

 价格涨跌幅判断:

成交量密码:

 成交额大于2000万:

 成交额大于1亿:

 尾盘:

2022.5.24

修改了一些小问题:好多小问题,慢慢改,看见就改;

        增加了自动滚动消息列表的空能;

        增交了根据步骤2中判断和分类筛选列表数据的功能;

改进了部分流程:下午3点半后任务线程将退出,不在处理空数据;

改进了部分显示卡顿的问题:当软件开启运行时间已经是在盘中,则标志任务线程为获取历史数据,界面线程不在实时处理界面刷新,因为大量的数据更新到程序界面将导致程序一直处于卡住的状态;待所有线程都处理完今天的历史数据后,状态转为正在运行;

修改了下窗口布局;将加载股票列表和设定任务数放到了左上,以防混淆;

结合数据库,可选择筛选的个股分组:

修改后的界面: 

2022.5.30

周末有空,修改了一些问题。资源包软件已更新。

修改了一些小问题:

 a.导出为excel存在一些问题,导出完成后cxcel进程没有关闭,还在后天运行,并且还在占用导出的excel文件,这个问题已处理完成;

b.数据接口的参数有一些变动,之前的程序获取不到数据了,修改了请求参数,目前正常;

增加的功能:

a.在左侧股票列表和右侧结果列表中增加了右键菜单的筛选功能,可在列表和表格中右键单击打开菜单筛选特定股票的所有数据;同时,表格中右键菜单“显示全部数据”更能,将显示所有数据,包括筛选后被影藏的数据;

    

b.增加了筛选数据过程中弹窗提示“正在处理数据”的提示,解决筛选过程中界面卡住的问题;

c.加载股票文件列表,之前指定为stks.txt,现在改为选择方式,可以根据需要将分类好的股票保存在不同文件中,按需选择;

2022.6.24

6月份空闲时间修改了一些小问题,同时也增加了一些功能。

功能调整:

a.成交额所属等级功能参照网上搜到的一些划分标准,不在固定使用整数单位成交额,等级划分使用数组存放,调整数组数据即可,不用在一个个取调整控件;

 b.使用了SQLite数据库内存模式,支持sql查询,速度也挺快。所有获取到的数据存放到内存中,不在直接存入右下的表格中,在一个交易日终时,约有数据量一千万左右,主进程占用内存1G左右。但是经过多次调试,引用System.Data.SQLite.dll后在新的环境中调用SQLite对象还是出错,需要手动安装SQLite组件程序sqlite-netFx40-setup-bundle-x86-2010-1.0.115.5.exe,将SQLite组件注册到系统中,届时将在C:\Windows\assembly中生成相应组件,然后重启系统问题可以解决。

 c.增加了分时数据导出位excel功能;

 d.增加了左侧股票列表数据导出功能;

e.导出功能取消使用excel组件microsoft.office.interop.excel.dll,转而使用NPOI,速度更快,最主要消除了运行环境中对office软件的依赖。

f.增加了许可功能,软件的使用需要写入由CPU码生成的许可码。未添加许可码的只能添加5只个股。

 g.增加了设置密码成交量功能,可以设置自己关注的成交量值;

 存在的问题:

SQLite的使用在Win10和Win2008R2系统中存在差异,

win10生成时参数选择:

Win2008R2生成参数:

整体运行截图:

2022.7.8

今天有空,修改了几个小问题。
修改的问题:
a.优化左侧列表数据更新界面显示闪烁的问题;
b.修改“分时信息”页面上图片点击事件,单击为重新加载图片,双击为保存图片;
c.限制右侧列表数据显示量为5千,原因是数据量过大会导致程序直接卡死,可以通过细化查询条件刷选出更小范围的数据信息;

d.限定了同时运行的线程数为200,即,如果列表中个股数大于200,在盘中交易时段只能运行前200个线程;同时增加了线程的启动和停止功能,可以停止正在运行中的线程,也可以运行指定的未运行的线程排列到等待队列中,新线程开启时优先运行;


增加的功能:
a.左侧列表上增加了市盈率、流通市值、现价、换手率、涨跌幅等信息;
b.右侧列表增加“报单比”,即每一笔分时成交中成交量除以每一笔分时成交中的报单笔数;
c.增加了分时信息子页面,可以通过左侧列表在个股上右键选择“查看分时"进行跳转,界面如下:

 主要功能为:5秒刷新显示一次新浪获取到的分时图和K线图;按照集合竞价、集合竞价申报、上午、下午各个时段分别显示分时数据;统计各阶段的成交信息和最大最小值;计算选中分时数据统计信息。

d.

本次修改后运行效果如下:

2022.10.12

修改几个发现的小问题;

增加了保存分析结果的功能,可以在盘口对两市所有股票做一次分析,将分析结果保存为表格或存入数据库中。

在数据库模式中,对分析结果做基本的统计。

2022.10.26

增加了计时功能:显示start之后运行了多长时间;

增加了手动添加、搜索股票到列表功能:在代码框中输入股票代码进行列表查找定位,列表中没有则通过代码进行网络接口查找,并将找到的个股名称显示在名称框中,点击“添加到列表”添加到下方列表最后;

增加了自动保存结果和保存结果后关机:可以用于盘后将所有个股分析完后自动保存关机;

处理了其他一些小问题;

增加了手动控制任务间隔等待时长:通过拖拽控制间隔时长,1/(1~8)*1000 ms;

最终截图:

2023.09.27

1.重新整理了操作步骤,调整了界面的整体布局。

2.增加获取数据的截止时间,不用获取一直到收盘的数据。

3.细化了数据的筛选条件,可根据实际需要细化查询。可分别查询分时和筛选的数据。

4.增加分时和筛选数据导出到数据库,后续做他用分析。只是两市每日数据量巨大约1000W+,存储和查询性能是比较大的考研。

5.处理了很多小问题,优化处理流程。

最终截图:

####################################################################

以上为软件说明,如果需要软件的可以下载。由于csdn资源管理规则限制,新的程序包不能及时更新了,如果有下载的请联系我获取最新的程序包。

使用C#编写一个读取和判断股票实时成交数据的小工具-C#文档类资源-CSDN下载这个包是编译后的软件,不是源码!!!对股票感兴趣的朋友可以下载,以后还会不断完善。说明信息:ht更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/MFW333/85451714

        网上搜到的信息,截止2022年3月,股票交易开户数近2亿,活跃账户约5000万,账户平均资金约为60万,散户账户大于约99.5%。。。平均账户资金为60万,某些股票中单一笔成交额就是几百万上千万!炒股的人想自己在股市中赚点钱挺难的,然而,更难的事情是守住自己的本金,尽量成为一名头铁的韭菜,时赚时亏,控制住人性的贪婪! 即便是明牌,通过现有的成交数据,管中窥豹,也是能够抓住对手的蛛丝马迹的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

末点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值