当前位置: > 财经>正文

小散户给自己写一个交易软件 期货自动交易软件开发

2023-08-05 22:51:30 互联网 未知 财经

小散户给自己写一个交易软件

不想看太多前情提要废话的,可以往下拉,第一张图片之后,开始讲技术正题——

故事开始,作为一个穷人呢,也要理财的,毕竟,哪怕是买点四大行的股票,也比直接存在银行来得划算呐~ 虽然券商提供了很多渠道,比如我用的是招商证券的户,有微信渠道、有官方一户通APP、有PC端、有网页端…… 但是,微信太臃肿,官方APP老是搞升级烦,PC端花里胡哨爱弹提示消息(时不时也提升级),网页端则一小会不操作就被踢下线得重新登陆,而且登陆需要短信验证、偏偏每天的短信验证数量是有上限的…… 嗯,其实重新登陆这个问题APP和PC客户端也一样有,只不过网页版的更烦,虽然知道是为了安全考虑,但是,不爽啊…… 于是乎,决定自己动手来搞定需求吧! 给我这个念头的,其实是上次跟我提SOCKIT的那位大佬,大佬表示这东西用得好,可以玩出各种花来 仔细想想,要做就做到底,早就看那些指数烦了,定制一套自己的数据和交易系统 千里之行,始于足下,首先,从搞定基本的界面、登陆、保持在线、以及最核心的订单处理功能开始。 这次用的是winform界面,虽然上次玩C#已经是去年年初的事情了,有点手生,但不得不说,正是因为手生,才显得VS的友好,太容易上手了! 以下是初步的半成品界面,也就是搭了个拙劣框架的样子—— 中间那一大块的图表和数据处理功能其实还没做(三天打鱼、两天晒网的犯拖延病,还有犹豫症,也不知道啥时候能做好,明明是挺简单的……) 当然了,发这篇文自然不是为了晒张图,写这么多废话还没上代码,只是因为思考了一下,觉得意义不大,因为未必用的一个证券商的户 这里主要是说说思路,然后再夹杂一点细节—— 正题开始了! 点一:操作账户,总要有个接口吧 抓包解析PC端、APP端接口之类的,对于我这种新手来讲,也太过扯淡了,网页版才是最优选项 原本我是想直接用http组件完成所有交互的,但是,比起分析那些杂乱的JS的请求与返回、编写又臭又长的处理代码,还是用webbrowser吧,调试也方面得多 Chrome打开券商官网,进入交易通道,从登陆界面开始按下F12,查找表单控件…… 验证码图片套到界面上这一点,我是抄的代码:

HtmlElementCollection peg = webBrowser1.Document.GetElementsByTagName("img"); HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img = (IHTMLControlElement)peg[1].DomElement; //图片地址 Image oldImage = Clipboard.GetImage(); rang.add(Img); rang.execCommand("Copy", false, null); //拷贝到内存 Image numImage = Clipboard.GetImage(); try { Clipboard.SetImage(oldImage); } catch { } pictureBox1.Image = numImage;

在登陆按钮的点击事件里,把下面的模拟输入代码循环一下,填入表单,再模拟点下网页上的登陆按钮,就可以获取完整COOKIE,从而使用http组件进行各种POST提交和请求数据了

private void setinput(int index,string str) { HtmlElementCollection hec = webBrowser1.Document.Body.GetElementsByTagName("input"); Console.WriteLine(hec.Count)

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。