期货行情交易软件

news/2024/11/17 22:43:12/

阅读目录

  • 开始
  • 整体结构
  • 服务端实现
  • 后台管理
  • 客户端交易


整套期货行情交易软件均由C#.NET平台实现,其中包括行情转发服务端、行情服务端、交易服务端、行情管理后台、交易管理后台以及转发管理后台。行情转发服务端负责实时行情数据的转发,交易服务端负责按规则进行交易逻辑处理,行情转发后台负责合约管理,交易后台负责交易管理,支持无限级子集、权限、手续费等等管理。客户端包括pc和安卓端,ios端正在开发,pc端包括wpf和winform两个版本。

整体结构
整个系统架构是由若干个消息服务器端组成,基于TCP长链接连接,确保数据的可靠性,消息协议基于自定义二进制协议。行情转发服务端以拉模式定时从行情源(易盛、赢透等等)获取及时行情数据,实时转发给下级行情服务器和交易服务器,下级行情服务器实时转发行情数据到各行情交易客户端。各服务端均支持水平扩展。


服务端
服务端的实现是基于IOCP完成端口队列实现,微软推荐的SEA方式,即SocketAsyncEventArgs。此方式重点在于池化(pooling),池化的目的就是为了减少和重用运行时分配和垃圾回收。

Accept Loop实现的代码片段

while (IsListening){var sea = _acceptSeaPool.Take();var socketError = await _listener.AcceptAsync(sea);if (socketError == SocketError.Success){var acceptedSocket = sea.AcceptSocket;TSocket result2 = null;try{result2 = new TSocket(sea);if (useBufferedSockets){TBuffered result3 = new TBuffered(result2);return result3;}else{return result2;}}catch (System.Exception){if (result2 != null)result2.Dispose();else((IDisposable)sea).Dispose();throw;}}else{}_acceptSeaPool.Return(sea);}

 


Session 实现的代码片段,参照SupperSocket的实现方式

private void ProcessAcceptSocket(Socket acceptedSocket){var session = _sessionPool.Get();session.Create(acceptedSocket);if (_sessions.TryAdd(session.SessionKey, session)){try{session.Start();}finally{_sessionPool.Return(session);}}}

 

Buffer池的管理:做过Socket服务端程序开发的朋友都知道,buffer管理的好坏是影响服务端程序性能的一个重要因素。该服务端默认情况下不使用buffer管理,需要配置开启。主要是因为NETGC大对象堆压缩的问题,目前GC针对大对象堆只回收不压缩,不同于托管堆栈段上的小型对象堆。所以针对buffer管理我使用了抽屉式的管理方式,预先在托管堆栈段上开辟多个连续的大对象(》85000byte)片段,实现整开整收防止内存碎片的问题。由于代码比较多,此处就不贴代码了。

 消息协议:消息协议是基于自定义二进制(包头)+Protocolbuffer(包体)实现,Protocolbuffer是谷歌开源的消息编码格式,基于二进制格式存储,独立于语言和平台,并且大部分主流语言都有实现,最大的优势小、快、面向对象处理消息包体。行情源的数据包格式视行情源而定,每个行情源的数据包都不同。

后台管理平台

行情接入服务端管理,wpf/winform实现,主要针对合约的订阅、取消、CRUD等操作。行情服务端管理平台,wpf/winform实现,主要针对合约、市场的相关管理。交易管理后台包括账户管理支持无限级、代理商管理、交易管理、合约管理、资金管理等等功能,支持对手价、市价、指定价进行交易等等功能。后台的实现逻辑比较简单,主要是消息协议的定制、规则定制以及交易业务逻辑的实现。

客户端

行情交易客户端目前包括pc版和android版本,ios版本正在开发中。客户端的模块包括交易模块、查询模块、资金模块、系统设置模块。出入金调用的是国付宝的接口,具体细节可以参考国付宝接口文档。

  • 集成了常用十多种技术分析指标包括(MACD ,DMI,DMA,FSL,TRIX,BRAR,CR,OBV,ASI,EMV,RSI,WR,MA,KDJ,CCI,ROC, BOLL,MTM,BIAS,MIKE,WVAD,VR,EXPMA,PBX(瀑布线),FS(分时图),VOL,DB6,BDT,TWR,BTX);
  • 支持自定义指标,动态加载;
  • 支持多达十个技术分析窗口;
  • 支持保存指标生成的数据供分析;
  • 支持放大缩小、自划线;
  • 报表生成等;

 

有问题欢迎大家随时沟通,qq1719299191

转载于:https://www.cnblogs.com/flightiness/p/8521836.html


http://www.ppmy.cn/news/136146.html

相关文章

文华财经指标公式博易大师软件指标公式指南针多空资金指标,最精准买卖点提示指标wh6赢顺云随身行指标

量创新高:V>HHV(V,0); 对昨日涨幅:(C/DYNAINFO(3)-1)*100<2.50;{涨幅控制2个点以内} 每日一点:量两步 AND 价两步 AND 价上岗量破5 AND 量起爆 AND 价创新高 AND 量创新高 AND 对昨日涨幅; TA:BArslAST(TIME100000); TC:REF(HHV(C,0),TA1); TV:REF(HHV(V,0),TA1); ZF:C/D…

国内十大白银期货APP最新排名

现在越来越多的人都有了一定的投资理财的意识&#xff0c;因此也会规划自己的资金&#xff0c;按照自己的实际情况进行理财。白银期货投资也是理财产品的一种&#xff0c;其与炒股颇为类似&#xff0c;白银期货理财的风险较高&#xff0c;比较适合爱冒险&#xff0c;激进类型的…

贵金属实时行情看盘软件排行榜(top 10)

贵金属实时行情看盘软件哪个好&#xff0c;还是得看MT4软件&#xff0c;MT4是俄罗斯软件公司MetaQuotes生产的一款以外汇和贵金属交易为主的软件&#xff0c;其功能十分全面&#xff0c;目前全球有超过100家贵金属公司和30个国家的银行选择MT4软件作为网络交易平台。MT4综合行情…

文华财经指标公式博易大师软件指标公式期货多空买卖指标图,文华加密破解二次加密

天:ma(CLOSE,25)MA(CLOSE,25)*20/100,COLORRED,LINETHICK2; 强势线:MA(CLOSE,25)MA(CLOSE,25)*6/100,COLORYELLOW,LINETHICK2; 天2:MA(CLOSE,18)MA(CLOSE,18)*20/100,COLORFFFFFF,LINETHICK1; stICKLINE(C>强势线,H,L,0,1),COLORFFFFFF; STICKLINE(C>强势线,C,O,2,1),COL…

个股解析软件排名推荐,股票行情分析软件排名

炒股软件排名前十强&#xff0c;那个好些&#xff1f; 第1名&#xff1a;同花顺。老牌付费炒股软件&#xff0c;凭借多年的积累具有一定数量的付费人群。第2名&#xff1a;经传多赢。7大经典盈利模式&#xff0c;一站式解决炒股难题。第3名&#xff1a;大智慧。拥有最大数量的…

前十名现货黄金价格行情分析软件

很多刚接触现货黄金投资的新人&#xff0c;也许都不太了解现货黄金价格行情分析软件&#xff0c;每个不同时段中的现货黄金价格行情分析图&#xff0c;反映的是该时段的多空角力情况&#xff0c;从而了解金价大致趋向&#xff0c;由此指引投资者作出合理的交易计划&#xff0c;…

什么是期货/股票分仓软件?

期货、股票分仓系统是将一个或多个真实账户&#xff08;主账户&#xff09;中的资金&#xff0c;虚拟地分配给任意个子账户&#xff0c;每个子账户使用分配给自己的资金额度进行投资。 本系统可为每个子账户设置不同的保证金率、手续费率&#xff0c;并在收盘后进行结算。 本…

国内十大正规现货交易App软件排名榜单(2022最新评测)

时下现货交易的确备受大家的喜欢&#xff0c;不仅仅只是因为投资灵活&#xff0c;而且获利也快&#xff0c;更重要的是盈利高&#xff0c;所以&#xff0c;这些特性被越来越多的投资者所看到&#xff0c;自然就越来越受欢迎。但是&#xff0c;投资者在进行黄金交易的时候&#…