证券行情分析系统概要设计说明书_第1页
证券行情分析系统概要设计说明书_第2页
证券行情分析系统概要设计说明书_第3页
证券行情分析系统概要设计说明书_第4页
证券行情分析系统概要设计说明书_第5页
已阅读5页,还剩216页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/***/证券行情分析系统单机版3.0版概要设计说明书/***/计算机网络工程公司2003-11-25

TOC\o"1-3"二、数据结构和存储结构 132.1股票基本资料数据文件 132.2股票即时行情数据文件 162.3公告信息F9文件 202.4基本资料F10文件 202.5股票基本资料数据导入导出文件 212.6系统参数文件 232.7投资管理文件 262.8导出除权数据文件 282.9分笔成交数据文件(tick.dat) 292.10历史回忆数据文件(*.hst) 312.11日线数据文件 312.12五分钟线数据文件 332.13指标数据文件 342.14导出指标数据文件 392.15画线数据文件 402.16导出日K线数据文件 432.17导出五分钟线数据文件 442.18条件选股(条件选股买卖评测)条件组合文件 452.19条件预警文件 472.20自选股与板块数据文件 482.21导出分时数据文件 502.22板块数据导入文件 52三、系统的功能和性能 533.1总述 533.2实时行情 64总述 64动态显示牌 65动态显示牌窗口基本操作功能 72动态显示牌窗口上排栏目操作功能 75动态显示牌窗口底部页切换工具条 82大单提取与统计管理系统 87九图同列监控显示系统 973.3基本分析 104综述 104财务数据的提取 104基本资料公告信息(F9,F10)显示功能 107板块管理系统 1133.4技术分析 120总述 120线技术分析主界面 121十字光标 132修改指标参数 133历史回忆 135修改数据 137重大事件编辑窗口 138数据透视及复制 139智能神经网络学习训练 140时段统计 143公式管理器 144公式解释计算 149条件选股、K线组合公式编辑对话框 169技术指标公式编辑对话框 171画线工具 175条件选股父窗口模块 178条件选股 181条件选股买卖评测 183条件选股买卖指示 188预警系统 191预警条件设置 193线组合 196买卖盘 1983.5相关分析 199风险指数 199主成分分析 201联动相关性分析 2013.6系统工具 203数据导入 204数据导出 209数据整理 214公司信息 219代码对照 223系统属性 227投资管理 229状态条 240键盘精灵 2423.7软硬件接口 242有线电视+图文卡 242数据下载 242快捷键 248注册加密 251

1.2系统功能框架有线电视+图文卡磁盘文件下载数据有线电视+图文卡磁盘文件下载数据内存文件、内存映射、文档数据实时行情技术分析基本分析风险度量注册加密和安装系统工具1.3模块功能框架1.4系统框架和菜单滑出式工具条依次为打开、显示牌、走势、日线、还权/除权、选股、预警、大单、全屏、进入Internet、数据管理、帮助。动态显示牌菜单图形分析菜单二、数据结构和存储结构2.1股票基本资料数据文件文件名称基本资料数据文件名(Companybasedata.dat)。文件类型二进制。数据结构基本资料数据数据结构为typedefstruct{ charSymbol[8];股票代码 intNumSplit;已经除权次数 floatzgb;总股本(万股) floatgjg;国家股(万股) floatfqrfrg;发起人法人股(万股) floatfrg;法人股(万股) floatzgg;职工股(万股) floatgzAg;公众A股(万股) floatltAg;流通A股(万股) floatHg;H股(万股) floatBg;B股(万股) floatzpg;转配股(万股) floatzzc;总资产(万元) floatldzc;流动资产(万元) floatcqtz;长期投资(万元) floatgdzc;固定资产(万元) floatwxzc;无形资产(万元) floatldfz;流动负债(万元) floatcqfz;长期负债(万元) floatggqy;股东权益(万元) floatzbgjj;资本公积金(万元) floatyygjj;盈余公积金(万元) floatmgjz;每股净值(元) floatgdqybl;股东权益比率(%) floatmggjj;每股公积金(元) floatzyywsr;主营业务收入(万元) floatzyywlr;主营业务利润(万元) floatqtywlr;其它业务利润(万元) floatlrze;利润总额(万元) floatjlr;净利润(万元) floatwfplr;未分配利润(万元) floatmgsy;每股收益(元) floatjzcsyl;净资产收益率(%) floatmgwfplr;每股未分配利润(元) floatmgjzc;每股净资产(元) intIssuedDate; //发行日期 intIssuedPrice; //发行价 intListedDate; //上市日期 BYTEfree[12]; Splitm_Split[80];}BASEINFO;typedefBASEINFO*PBASEINFO;其中包括除权数据结构typedefstruct{ int nFlags; 除权标志 int nTime; 除权时间 float Give; float Allocate; float AllocatePrice; float Bonus; BYTE Free[4]; }Split,*PSplit;文件结构文件存放采取二层结构存储方法。第一层用于保存基本资料头文件结构:typedefstruct{ longfiletitle;文件标志(JBZL即基本资料) longFileExitDone;文件是否正常退出 longStockCount;已有股票数 longMaxStockCount;最大可保存股票数longFixedNumSplit;可保存最大除权数 BYTERes[20];}BASEINFOHEAD;typedefBASEINFOHEAD*PBASEINFOHEAD;第二层用于保存基本资料头文件结构:用于保存BASEINFO结构保存数据区域大小为:股票数*sizeof(BASEINFO)存取方式F10基本资料将按BaseInfo结构指针形式保存在即时行情数据文件中。2.2股票即时行情数据文件文件名称基本资料数据文件名(Stockdata.dat)。文件类型二进制。数据结构即时行情数据数据结构为typedefstruct{BYTEkind;BYTErdp;用于计算大盘强弱指标charid[8];证券代码charname[10];证券名称charGppyjc[6];证券名称拼音简称intsel;顺序号floatystc;昨天收盘floatopnp;今日开盘floathigp;今日最高floatlowp;今日最低floatnowp;最新价格floatnowv;最新成交量floattotv;总成交量floattotp;总成交金额floatpbuy1;买入价一floatvbuy1;买入量一floatpbuy2;买入价二floatvbuy2;买入量二floatpbuy3;买入价三floatvbuy3;买入量三floatpsel1;卖出价一floatvsel1;卖出量一floatpsel2;卖出价二floatvsel2;卖出量二floatpsel3;卖出价三floatvsel3;卖出量三floataccb;买入挂单和(三种买入挂单和)floataccs;卖出挂单和(三种卖出挂单和)floatvolume5;5天均量floatrvol;外盘floatdvol;内盘shortlastclmin;上次处理分钟数shortinitdown;股票初始化标志0=未能初始化,1=已初始化BOOLInOut;BOOLIsDelete;BOOLIsMxTj;floatJiShu[5];Kdata1m_Kdata1[240];BASEINFO*pBaseInfo;}CReportData;typedefCReportData*PCReportData;分钟数结构typedefstruct{ float Price;价格 float Volume;量 float Amount;额}Kdata1;大盘红绿军Rsdn1结构说明typedefstruct{shortrsn;红军shortdnn;绿军}Rsdn1;typedefRsdn1**PRsdn1;大盘加权指数曲线Tidxd结构说明Tidxd结构用于加权指数曲线与多空指标线typedefstruct{shortsec5;加权指数值 shortrp;多空指标中RP值 shortdp;多空指标中DP值 shortres;}Tidxd;typedefTidxd**PTidxd;文件结构文件存放采取四层结构存储方法。第一层用于保存即时行情资料头文件结构:typedefstruct{ longfiletitle;文件标志 longDay;日期 shortOldANT[2];沪深处理分钟数 BOOLCloseWorkDone;收盘标志 longStockCount;股票数 longMaxStockCount;最大可保存数 longFileExitDone;文件正常退出标志 BYTERes[12];}REALDATA;typedefREALDATA*PREALDATA;第二层用于保存大盘红绿军结构:用于保存大盘红绿军Rsdn1结构。保存数据区域大小为:240*sizeof(Rsdn1)。第三层用于保存大盘加权指数结构:用于保存大盘加权指数曲线Tidxd结构。保存数据区域大小为:240*sizeof(BASEINFO)。第四层用于保存股票即时行情结构:用于保存股票即时行情数据结构。保存数据区域大小为:股票数*sizeof(CReportData)。存取方式即时行情数据将以指针方式保存在CSharesInformation类中,并且CSharesInformation将以实列变量保存在文档中,变量名为m_ZqdmToGpHqxx。2.3公告信息F9文件文件名称日期.DAT。文件类型文本形式。存放格式每天一个文件,分深圳、上海存放于不同的目录。2.4基本资料F10文件文件名称证券代码.DAT。文件类型文本形式。存放格式个股基本资料信息以文本形式存放,分深圳、上海存放于不同的目录。2.5股票基本资料数据导入导出文件文件名称基本资料数据文件名(BaseInfoSource.dat)。文件类型二进制。数据结构基本资料数据数据结构为:typedefstruct{ charSymbol[8];股票代码 floatzgb;总股本(万股) floatgjg;国家股(万股) floatfqrfrg;发起人法人股(万股) floatfrg;法人股(万股) floatzgg;职工股(万股) floatgzAg;公众A股(万股) floatltAg;流通A股(万股) floatHg;H股(万股) floatBg;B股(万股) floatzpg;转配股(万股) floatzzc;总资产(万元) floatldzc;流动资产(万元) floatcqtz;长期投资(万元) floatgdzc;固定资产(万元) floatwxzc;无形资产(万元) floatldfz;流动负债(万元) floatcqfz;长期负债(万元) floatggqy;股东权益(万元) floatzbgjj;资本公积金(万元) floatyygjj;盈余公积金(万元) floatmgjz;每股净值(元) floatgdqybl;股东权益比率(%) floatmggjj;每股公积金(元) floatzyywsr;主营业务收入(万元) floatzyywlr;主营业务利润(万元) floatqtywlr;其它业务利润(万元) floatlrze;利润总额(万元) floatjlr;净利润(万元) floatwfplr;未分配利润(万元) floatmgsy;每股收益(元) floatjzcsyl;净资产收益率(%) floatmgwfplr;每股未分配利润(元) floatmgjzc;每股净资产(元) }BASEINFOSOURCE;typedefBASEINFOSOURCE*PBASEINFOSOURCE;文件结构文件存放采取二层结构存储方法。第一层用于保存基本资料头文件结构:typedefstruct{ longfiletitle;文件标志 longStockCount;股票数 BYTEbyte[8];}BASEINFOSOURCEHEAD;typedefBASEINFOSOURCEHEAD*PBASEINFOSOURCEHEAD;第二层用于保存基本资料头文件结构:用于保存BASEINFOSOURCE结构。保存数据区域大小为:股票数*sizeof(BASEINFOSOURCE)。存取方式导入或导出F10基本资料将按BaseInfoSource结构指针形式保存在导入导出数据文件中。2.6系统参数文件文件名称系统参数数据文件(SYSTEMSETTING.DAT)。文件类型二进制。存放格式文件分成3个部分,第1部分4个字节为文件标识65798813。第2部分保存系统参数,系统参数为INIT_INFO结构:Typedefstruct{COLORREF DEFAULT_COL[][18] //系统配色方案LOGFONT DEFAULT_FONT[][4] //系统字体方案COLORREF SELF_SELECT[18] //自定义配色方案LOGFONT SELF_FONT[4] //自定义字体方案SYSTEMDATAEDIT system_data_edit //系统配置数据SYSTEMDATACHECK system_data_check //系统选项数据INFOINIT_TU info_kline //K线初始化信息INFOINIT_TU info_fenshi //1分钟走势线信息INDEXINFOEACH index_showpanel //动态显示牌初始化信息Int numTotalStock //股票总数}INIT_INFO注:数组DEFAULT_COL[][18]表示系统外观的18种颜色:“背景”,“图形文字”,“坐标”,“阳线”,“阴线”,“美国线”,“趋势线”,“指标线1”,“指标线2”,“指标线3”,“指标线4”,“指标线5”,“指标线6”,“列表上涨字”,“列表平盘字”,“列表下跌字”,“表高亮条”,“列表框线”。系统配色方案包括:“乾隆缺省”,“Windows缺省”,“红底黑字”,“白底黑字”,“兰底白字”,“黑底白字”等。系统字体指一个长度为4的基于LOGFONT的数组,存放系统需要的字体,这些字体是“列表上涨字”,“列表平盘字”,“列表下跌字”和“图形文字”。自定义配色方案,自定义字体方案数组中存放用户自定义配色方案中的系统颜色、字体。以下是上述结构中使用的结构:INDEXINFOEACH结构用于存放大盘索引信息,其成员如下:Int sheetFlag //第几个标签Int number //股票代码的数量unsignedchar name[10]//名称ZHIBIAOINIT结构用于存放子图画面相对位置信息,其成员如下:Float yBottomFlt //K线模块中每个子图矩形的底部的相对位置。Char nameZhiBiao[20] //每个子图的技术指标的名字。INFOINIT_TU结构:Int zhiBiaoNum //子图的个数,最大为5ZHIBIAOINIT zbInit[5] //四个子图的初始化信息,四个子图相对高度的和为1。structSystemDataCheck{Byte ZTFS //主图方式,K线、美国线、宝塔线Byte DTZH //多图组合,4图、9图、16图Bool XZXS //显示X坐标Bool YZXS //显示Y坐标Bool ZDSP //自动坐收盘作业Bool ZDBF //自动补分钟线Bool ZDBR //自动补日线Bool TJXG //计算条件选股、专家指示等};structSystemDataEdit{FloatPercentLevel; //流通盘的百分比规定大单FloatLotsLevel; //成交手数规定大单Int ZDBJSJ //涨跌比较时间Int ZDHYSJ //自动换页时间Int GGZLSTT //公告资料保存时间Int FMDSTT //5分钟资料存储时间Int DTDSTT //日线资料存储时间Int ZJJSFS //中价计算方式};中价计算方式是一个索引值,0代表“收盘价”,1代表“(高+低+收)/3”,2代表“(高+低+收+开)/4”,3代表“(高+低+2收)/4”,4代表“(高+低)/2”。2.7投资管理文件文件名称投资管理(Invest.dat)。文件类型二进制。数据结构参数调整。可以设定沪深两市的各项参数。enumtagItemtype{ None, StockBuy, StockSell, StockBenefit, StockGive, StockAllocate, FundIn, FundOut, FundBenefit}structtagInvestmentItem{ enumtagItemTypem_nItemType; time_tm_tmItem; charm_szMemo[128]; union { struct { charm_szStockSymbol[8]; charm_szStockName[12]; /***************************************** 买卖分红送配 买入价卖出价分红--配股价 买入量卖出量--送股数配股数 ******************************************/ floatm_fPrice; intm_nAmount; //佣金+过户费 floatm_fExchangeCost; }; //存取以及利息量 floatm_fFund; }}存放格式本模块需要的文件、数据如下:费率设定文件.\Invest\config\rate.dat。time_t结构,8-15保留。16用于表明其后的费率是哪一个证券交易所的数据,01上海、02深圳。17标明费率文件的版本号为01。其后为一个长度为25个浮点数的tagExchangeRate结构。其后8个字节保留。 用户数据文件.\Invest\data\用户名.dat。存储格式:0-15用户名,16-31PASSWORD。32-35存储其后记录的类型01000000资金,02000000股票。36-39数据文件中记录数。后面为tagInvestmentItem结构。用户名以及登录信息:信息存储在:HKEY_USERS-Software-Appname-Loginsettings。2.8导出除权数据文件文件名称导出除权数据文件(Split.dat)。文件类型二进制。存放格式文件分2部分。第1部分为文件头16个字节,第1至12个字节为文件标识(加密,例如Wscq),第13至16字节预留。第2部分存放导出的除权数据,每个证券一块,每块长度为(8+20×除权次数)。8个字节为:前6个字节证券代码,后2个字节除权数据个数。20个字节如下:第1至4个字节: 时间(整型,从1970年1月1日到除权日期的秒数),第5至8个字节: 送股数(每10股)(浮点数),第9至12个字节: 配股(每10股)(浮点数),第13至16个字节: 配股价(每股)(浮点数),第17至20个字节: 红利(每10股)(浮点数)。2.9分笔成交数据文件文件名称分笔成交数据文件(tick.dat)。文件类型二进制。数据结构分笔成交的数据结构为(共32字节):structTRADE_DETAIL_H_PER{ floatvol; //成交量 floatprice; //成交价 inttime; //时间 TRADE_DETAIL_INDEXbuySellOrIndex;//详细信息};相关结构:structINDEX_INFO{ WORDadvance; //上涨家数 WORDdecline; //下跌家数 floatamount; //成交金额 Tidxdtidxd; //大盘信息 floatfaccbaccs; //预留};structTRADE_DETAIL_INFO{ floatunitCountVol; //六个挂单买卖量的最大值 floatunitCountPrc; //六个挂单买卖价减去当前价的绝对值的最大值 BYTEbuyP[3]; //三个挂单买入价(0:买1;1:买2;2:买3) BYTEsellP[3]; //三个挂单卖出价(0:卖1;1:卖2;2:卖3) BYTEbuyV[3]; //三个挂单买入量(0:买1;1:买2;2:买3) BYTEsellV[3]; //三个挂单卖出量(0:卖1;1:卖2;2:卖3)};union TRADE_DETAIL_INDEX{ TRADE_DETAIL_INFObuySellInfo;//个股信息 INDEX_INFO indexInfo;//大盘信息};文件结构为使文件的存储更加紧凑,文件存放采取经典的“三步”存储方法。大文件头(16字节):依次为股票总数(NumStock)、已经分配的总块数(NumTotalBlock)、每块存放的固定笔数(FixedTouchPerBlock)、小文件头分配的最大股票数(MaxNumStock)。小文件头(48×4096字节):依次为股票代码(StockSymbol)、成交笔数(NumTouch)、已经分配的块数(NumBlock)、存放块号的短整形数组(BlockArray[16])。因此小文件头的大小为48×4096字节。数据存储域:一块一块地进行数据存放,一只新的股票进来就马上分配一块,同时小文件头和大文件头同时进行调整,存满一块后再分配一块,这时小文件头和大文件头再同时进行调整。利用此种存储方法来进行数据存储,可以使文件更为紧凑,并且具有可扩展性。初始化的时候,只对大小文件头进行文件初始化。利用内存映射文件取得文件的地址,进行初始化。存取方式文件存放路径:上交所文件存放路径(data\sh\),深交所文件存放路径(data\sz\)。文件指针存放在文档对象中(上交所:m_fileHsSh,,深交所:m_fileHsSz),所有模块对此文件的访问都使用此文件指针。当打开文档对象时,打开此文件。2.10历史回忆数据文件文件结构同分笔成交数据文件。文件命名方法:日期+文件后缀名(.hst)。文件存放路径:上交所文件存放路径(data\historysh\*.hst),深交所文件存放路径(data\historysz\*.hst)。2.11日线数据文件文件名称日线数据文件(daykline.dat)。文件类型二进制。数据结构日线的数据结构为(共32字节):structKline{ intday;//时间 float open;//开盘价 floathigh;//最高价 floatlow;//最低价 floatclose;//收盘价 floatvol;//成交量 floatamount;//成交金额 union { struct { WORDadvance;//上涨家数 WORDdecline;//下跌家数 }; floatvolPositive;//主动买量 };}Kline;文件结构为使文件的存储更加紧凑,文件存放采取经典的“三步”存储方法。大文件头(16字节):依次为股票总数(NumStock)、已经分配的总块数(NumTotalBlock)、每块存放的固定笔数(FixedTouchPerBlock)、小文件头分配的最大股票数(MaxNumStock)。小文件头(64×4096字节):依次为股票代码(StockSymbol)、成交笔数(NumTouch)、存放块号的短整形数组(BlockArray[26])。因此小文件头的大小为64×4096字节。数据存储域:一块一块地进行数据存放,一只新的股票进来就马上分配一块,同时小文件头和大文件头同时进行调整,存满一块后再分配一块,这时小文件头和大文件头再同时进行调整。利用此种存储方法来进行数据存储,可以使文件更为紧凑,并且具有可扩展性。初始化的时候,只对大小文件头进行文件初始化。利用内存映射文件取得文件的地址,进行初始化。存取方式文件存放路径:上交所文件存放路径(data\sh\),深交所文件存放路径(data\sz\)。文件指针存放在文档对象中(上交所:m_fileDaySh,,深交所:m_fileDaySz),所有模块对此文件的访问都使用此文件指针。当打开文档对象时,打开此文件。2.12五分钟线数据文件文件名称五分钟线数据文件minutekline.dat。存取方式文件结构同日线数据文件。文件存放路径:上交所文件存放路径(data\sh\),深交所文件存放路径(data\sz\)。文件指针存放在文档对象中(上交所:m_fileMin5Sh,,深交所:m_fileMin5Sz),所有模块对此文件的访问都使用此文件指针。当打开文档对象时,打开此文件。2.13指标数据文件文件名称指标公式、条件选股公式、K线组合公式。文件类型二进制。数据结构类CFormularContent的成员变量数据。#defineLEN_BYTE 192structFLOAT11{ floatfValue[11];};structADDITIONAL_BUYSELL{ intnEnterPoint[4]; //进入点 COLORREFnColorPoint[4]; //进入点颜色 BYTEbLose; //使用最大利润损失率 BYTEbWin; //使用最大利润盈利率 BYTEbMaxDays; ///使用最大天数 BYTEbSubstractFee; //使用扣除手续费 BYTEbAddPreProfit; //加入前一次的盈利进行计算 BYTEbUseInitFinace; //使用初始资金 BYTEbRes1; BYTEbRes2; floatfMaxLose; //最大利润损失率 floatfMaxWin; //最大利润盈利率 floatfMaxDays; //最大天数 floatfInitFinace; //初始资金数 floatfRes1; floatfRes2; floatfRes3; floatfRes4;};///////////////////////////////////////////////////////////////////////////////CFormularContentcommandtargetclassCTaiShanDoc;classCFormularContent:publicCObject{//protectedconstructorusedbydynamiccreation//Attributespublic: CFormularContent(); union { struct { float max[8] ; //最大值 float min[8] ; // 最小值 float defaultVal[8]; //缺省值 //0:HS1:MIN12:MIN53:MIN154:MIN305:MIN606:DAY(MANYDAY)7:WEEK//8:MONTH9:YEAR float stepLen[8] ; //步长 float posX[8]; //Y坐标轴的横线的数值 float fReserved; // intnKindPeriod; ////0:HS1:MIN12:MIN53:MIN154:MIN305:MIN606:DAY7:WEEK//8:MONTH9:YEAR10:MANYDAY int nPeriodsUsed:1[16]; //theklineperiodthatisvalid BOOL isSystem; //是否是系统指标 BOOL isOfen ; //是否是常用指标 BOOL isProtected; //是否密码保护 BYTE isMainFiguer; //是否是主图叠加(0为副图,1为主图,2为不可用) BYTE numPara; //参数个数 BYTE posFlag ; //Y坐标轴的横线的式样(0为自动,1为定制(可有7条),2为不可用) BYTE byteRes ; //bool }; BYTEbtMemData[LEN_BYTE]; }; ADDITIONAL_BUYSELL*pAdditionalBS;//买卖附加条件 CArray<FLOAT11,FLOAT11&> defaultValArray;//不同时间周期的缺省参数 CString name; //技术分析指标名字(最多9个字符) CString password ; //密码 CString explainBrief; // 指标说明 CString explainParam; // 参数说明 CString namePara[8] ; //参数名字(最多15个字符) CString fomular ; //公式 CString help ; //帮助注释//YHHADD专家系统中的买进和卖出条件 CStringbuyStr; //买入的条件 CStringsellStr; //卖出的条件 CStringbuyStrKong;//买入的条件 CStringsellStrKong;//卖出的条件//YHHADD //CTaiKlineadd,3.13 CString subKindJiShu; //thekindof技术分析指标,thedefaultvalueis"" CString subKindJiShuTime; //技术分析指标的时间周期分类 CString strReserved; // staticboolm_bVer20; staticCStringArraym_strArrayKind[4];}文件结构第1部分文件头8个字节,第1到4个字节是整型数-1,第5到8个字节存放公式的总个数。第2部分存放公式内容,其内容通过类CFormularContent串行化保存成员变量得到:类CFormularContent的成员变量为: float max[8] ; //最大值 float min[8] ; // 最小值 float defaultVal[8]; //缺省值 //0:HS1:MIN12:MIN53:MIN154:MIN305:MIN606:DAY(MANYDAY)7:WEEK 8:MONTH9:YEAR float stepLen[8] ; //步长 float posX[8]; //Y坐标轴的横线的数值 float fReserved; //预留 intnKindPeriod; //0:HS1:MIN12:MIN53:MIN154:MIN305:MIN606:DAY7:WEEK 8:MONTH9:YEAR10:MANYDAY int nPeriodsUsed:1[16]; //表明有效的时间周期 BOOL isSystem; //是否是系统指标 BOOL isOfen ; //是否是常用指标 BOOL isProtected; //是否密码保护 BYTE isMainFiguer; // 是否是主图叠加(0为副图,1为主图,2为不可用) BYTE numPara ; //参数个数 BYTE posFlag ; //Y坐标轴的横线的式样(0为自动,1为定制(可有7条),2为不可用) BYTE byteRes ; //预留 ADDITIONAL_BUYSELL*pAdditionalBS;//买卖附加条件 CArray<FLOAT11,FLOAT11&> defaultValArray; //不同时间周期的缺省参数 CString name; //技术分析指标名字(最多9个字符) CString password ; //密码 CString explainBrief; // 指标说明 CString explainParam; // 参数说明 CString namePara[8] ; //参数名字(最多15个字符) CString fomular ; //公式 CString help ; //帮助注释 CStringbuyStr; //买入的条件 CStringsellStr; //卖出的条件 CStringbuyStrKong;//买入的条件 CStringsellStrKong;//卖出的条件 CString subKindJiShu; //技术分析指标种类,缺省值是"" CString subKindJiShuTime; //技术分析指标的时间周期分类 CString strReserved; //预留存取方式文件存放路径:当前工作目录。指标数据存放在文档对象中(m_formuar_index、m_formuar_choose、m_formuar_kline),所有模块对此文件的访问都使用此数据。当打开文档对象时,打开“指标公式”、“条件选股公式”、“K线组合公式文件”,读取数据到动态数组(m_formuar_index、m_formuar_choose、m_formuar_kline)中。2.14导出指标数据文件文件名称指标公式、条件选股公式、K线组合公式的导出文件的后缀名分别为("*.ZBG","*.XGG","*.KLG")。文件类型二进制。数据结构类CFormularContent的成员变量数据。文件结构第1部分文件头8个字节,第1到4个字节是整型数0,第5到8个字节存放公式的总个数。第2部分存放公式内容,其内容通过类CFormularContent串行化保存成员变量得到。存取方式文件存放路径:任意目录。2.15画线数据文件文件名称画线数据文件(DrawLine.dat)。文件类型二进制。数据结构画线数据结构为(共48字节):struct INFO_LINESELF{ int type;//线的类型 intklineType;//K线类型 int time1;//各个点的时间值 float valFlt1;//各个点的浮点数值 int time2;//各个点的时间值 float valFlt2;//各个点的浮点数值 int time3;//各个点的时间值 float valFlt3;//各个点的浮点数值 COLORREF color;//线的颜色 BYTE byLineKind;//线的种类:0是实线,1是虚线,2是点横线 BYTE byLineWidth;//线的宽度:0是1像素,1是2像素,2是3像素 BYTE byAlarm;//是否是条件预警,只对趋势线有效 BYTE byStored;//预留 intstored[2];//预留};文件结构为使文件的存储更加紧凑,文件存放采取经典的“三步”存储方法。 大文件头(16字节):第1至4个字节为文件头自画线的股票数,5一8字节为小文件头中最多放置的股票数(4096等)。随后的8个字节预留,以FFFFFFFF填充。 小文件头(12):每个股票的小文件头由12个字节组成,可分为2部分:(1)8个字节为股票代码。(2)下面4个字节为自画线数据的个数。 数据存储域:每小块的数据的由48×48个字节组成,每个小块最多存放48条画线数据,设置如下:第1至4个字节为线的类型(1一20),下一整型数4个字节为开始日期,下一浮点数4个字节为开始数值,下一个整型数4个字节为线的结束日期,下一个浮点数4个字节为线的第二个数值,下一个整型数4个字节为线的结束日期,下一个浮点数4个字节为线的第三个数值,下一个整型数4个字节为线的颜色,以下4字节分别是(线的种类、线的宽度、是否是预警、预留字节),下8个字节为空。对画线类型19文本输入,第1至4个字节为线的类型,下一整型数4个字节为开始日期,下一整型数4个字节为开始数值,下40个字节为空保存输入的文本内容,最多40个字节。注:画线类型 1线段趋势线平行线阻速线甘氏线黄金分割线波段线百分比线线性回归线性回归带周期线费波拉契线三叉线弧线水平线买入上箭头卖出下箭头矩形文本输入螺旋线存取方式文件存放路径:上交所文件存放路径(data\sh\),深交所文件存放路径(data\sz\)。文件指针存放在技术分析主界面对象中。2.16导出日K线数据文件文件名称导出日K线数据文件(20000328-20000330.day,或者是last30.day,或者是199911.day)。文件类型二进制。数据结构同日线数据文件。文件结构文件分2部分。第1部分为文件头16个字节,第1至4个字节为文件标识wsrx,第5至8个字节存放导出证券总数,第9至16字节预留。第2部分存放导出的K线数据,每个证券一块,每块长度为(12+32×导出K线天数)。12个字节为:{证券名称8个字节,K线个数4个字节。}32个字节为:{时间4个字节,开盘价4个字节(浮点数),最高价4个字节(浮点数),最低价4个字节(浮点数),收盘价4个字节(浮点数),成交量4个字节(浮点数),成交金额4个字节(浮点数)。主动买量4个字节(浮点数)。}2.17导出五分钟线数据文件文件名称文件名称:导出日五分钟线数据文件(20000328-20000330.5mn,或者是last30.5mn,或者是199911.5mn)。文件类型二进制。数据结构同日线数据文件。文件结构文件分2部分。第1部分为文件头16个字节,第1至4个字节为文件标识wswf,第5至8个字节存放导出证券总数,第9至16字节预留.第2部分存放导出的K线数据,每个证券一块,每块长度为(12+32×导出五分钟线天数×48)。12个字节为:{证券名称8个字节,K线个数4个字节.}32个字节为:{时间4个字节,开盘价4个字节(浮点数),最高价4个字节(浮点数),最低价4个字节(浮点数),收盘价4个字节(浮点数),成交量4个字节(浮点数),成交金额4个字节(浮点数).主动买量4个字节(浮点数).}2.18条件选股(条件选股买卖评测)条件组合文件文件名称条件选股条件组合文件(*.tjz)。文件类型二进制。数据结构条件选股条件组合数据结构为(110字节):typedefstructtagIndex_Save{intiKind;//表示条件的种类。charsIndex_name[50];//指标的名称。intiLine;//表示第几条线。intiDataType;//表示选股的线型。floatfParam[8];//表示参数1。floatfSubParam1;//表示子参数1。floatfSubParam2;//表示子参数2。intiSunIndex;//表示第几种子公式。 BOOLbBuyCase; //是否是买入条件}Index_Save;附加条件结构(72字节)structADDITIONAL_BUYSELL{ intnEnterPoint[4]; //进入点 COLORREFnColorPoint[4]; //进入点颜色 BYTEbLose; //使用最大利润损失率 BYTEbWin; //使用最大利润盈利率 BYTEbMaxDays;///使用最大天数 BYTEbSubstractFee;//使用扣除手续费 BYTEbAddPreProfit;//加入前一次的盈利进行计算 BYTEbUseInitFinace;//使用初始资金 BYTEbRes1; BYTEbRes2; floatfMaxLose;//最大利润损失率 floatfMaxWin;//最大利润盈利率 floatfMaxDays;//最大天数 floatfInitFinace;//初始资金数 floatfRes1; floatfRes2; floatfRes3; floatfRes4;};文件结构 第1个字节为条件之间的关系,第2个字节表示是否有附加条件,第3到4字节为条件的个数,若有附加条件,则第5到76字节为附加条件,接着填充Index_Save结构的数据,直到所有条件都填完。存取方式文件存放路径:任意目录。2.19条件预警文件文件名称条件预警文件(*.ALA)。文件类型二进制。数据结构条件选股条件组合数据结构为(110字节):typedefstructtagIndex_Save{intiKind;//表示条件的种类。charsIndex_name[50];//指标的名称。intiLine;//表示第几条线。intiDataType;//表示选股的线型。floatfParam[8];//表示参数1。floatfSubParam1;//表示子参数1。floatfSubParam2;//表示子参数2。intiSunIndex;//表示第几种子公式。 BOOLbBuyCase; //是否是买入条件}Index_Save;文件结构 文件头四个字节为文件标识号“WSYJ”,接着四字节为预警的个数。 每个预警条件如下保存:第1-16字节为预警名称,第17个字节为条件之间的关系,第18个字节预留,第19到20字节为条件的个数,接着填充Index_Save结构的数据,直到所有条件都填完;接着保存四字节附加设置条件;接着四字节为股票的个数,接着是股票代码,直到所有股票代码都填完(每个股票代码占8个字节,以\0结束)。存取方式文件存放路径:任意目录。2.20自选股与板块数据文件文件名称自选股与板块文件名(StockTypeInfo.dat)。文件类型二进制。数据结构1.自选股与板块头结构:用于表示板块与自选股属性。typedefstruct{ longm_lFileTitle;文件标志longm_lFileExit;文件正常退出标志 longm_lStockTypeCount;板块数 longm_lStockTypeMaxCount;最大板块数 longm_lStockCount;目前股票个数 longm_lStockMaxCount;最大股票个数}STOCKTYPEHEAD;2.板块指数属性结构typedefstruct{ longm_szCode; 板块指数代码 longm_szName; 板块指数名称 longm_lStockCount; 股票数floatm_fTotalRight; 板块总权重intm_iRightType; 取用权重类型BOOLm_bIsDelete; 删除标志}STOCKTYPEINFO;3.股票在板块中属性结构typedefstruct{ longm_szSymbol;股票代码floatm_fRight[MaxRights];股票权重BYTEm_btStockType[MaxStockTYpe];}STOCK_TYPE_INFO;文件结构文件存放采取三层结构存储方法。第一层用于保存板块与自选股总结构属性:用于保存STOCKTYPEHEAD结构。保存数据区域大小为:1*sizeof(STOCKTYPEHEAD)。第二层用于保存板块指数属性结构:用于保存STOCKTYPEINFO结构。保存数据区域大小为:板块最大数*sizeof(STOCKTYPEINFO)。第三层用于保存板块中股票属性结构:用于保存STOCK_TYPE_INFO结构。保存数据区域大小为:最大股票数*sizeof(STOCK_TYPE_INFO)。存取方式板块数据将按CmanagerStockTypeData类结构指针形式保存在文档中。2.21导出分时数据文件文件名称导出分时数据文件名(股票代码.1mn),一只股票一个文件。文件类型二进制。数据结构即时行情数据数据结构为:typedefstruct{BYTEkind;BYTErdp;用于计算大盘强弱指标charid[8];证券代码charname[10];证券名称charGppyjc[6];证券名称拼音简称intsel;顺序号floatystc;昨天收盘floatopnp;今日开盘floathigp;今日最高floatlowp;今日最低floatnowp;最新价格floatnowv;最新成交量floattotv;总成交量floattotp;总成交金额floatpbuy1;买入价一floatvbuy1;买入量一floatpbuy2;买入价二floatvbuy2;买入量二floatpbuy3;买入价三floatvbuy3;买入量三floatpsel1;卖出价一floatvsel1;卖出量一floatpsel2;卖出价二floatvsel2;卖出量二floatpsel3;卖出价三floatvsel3;卖出量三floataccb;买入挂单和(三种买入挂单和)floataccs;卖出挂单和(三种卖出挂单和)floatvolume5;5天均量floatrvol;外盘floatdvol;内盘shortlastclmin;上次处理分钟数shortinitdown;股票初始化标志0=未能初始化,1=已初始化BOOLInOut;BOOLIsDelete;BOOLIsMxTj;floatJiShu[5];Kdata1m_Kdata1[240];BASEINFO*pBaseInfo;}CReportData;分钟数结构typedefstruct{ float Price;价格 float Volume;量 float Amount;额}Kdata1;文件结构每个文件循序存储一个结构。存取方式每次申请一个结构的空间,进行块读取和块写入。2.22板块数据导入文件文件名称板块数据文件(板块名称)。说明:板块数据文件主要针对/***/2.0中板块文件进行导入,其目的主要兼顾/***/2.0的客户能较方便地导入板块数据。文件类型文本格式。数据结构无数据结构。文件结构文件分二层结构。文件头。文件标志4字节,股票长度4字节。股票代码。股票代码[],每个股票代码为10字节。存取方式板块数据导入后,将按新的板块数据结构保存。三、系统的功能和性能3.1总述功能描述整个系统从功能上分主要分为:实时行情、基本分析、技术分析、风险分析、系统工具五大子系统。不同功能子系统之间要求通过菜单操作、键盘操作来实现相互切换。整个系统共享数据CTaiKlineFileKLine* m_fileDaySh 上证日线数据文件处理对象的指针CTaiKlineFileKLine* m_fileDaySz 深证日线数据文件处理对象的指针CTaiKlineFileKLine* m_fileMin5Sh上证5分钟线数据文件处理对象的指针CTaiKlineFileKLine* m_fileMin5Sz 深证5分钟线数据文件处理对象的指针CTaiKlineFileHS* m_fileHsSh 上证当日成交明细数据文件处理对象的指针CTaiKlineFileHS* m_fileHsSz 深证当日成交明细数据文件处理对象的指针Ji_Shum_formuar_index 存放技术指标公式数据的数组(数组的元素为类CFormularContent的对象的指针)Ji_Shum_formuar_choose存放条件选股公式数据的数组Ji_Shum_formuar_kline存放K线指标数据的数组INFOINIT m_infoInit 初始化信息SYSTEMCHOISE m_systemchoise系统设置中的选择项SYSTEMDATA m_systemdata系统设置中的数据项CSharesInformation m_StockDataInfo 实时行情数据处理对象共享接口描述实现接口的类名功能说明CTaiKlineFileKLine读写日线、5分钟线文件CTaiKlineFileHS读写当日成交明细文件、历史回忆文件CFormularContent保存指标公式、读写指标公式文件、处理指标公式数据CSharesInformation主要用于管理行情数据结构,并提供其它模块方便使用即时行情数据.它主要管理以下几种数据类型:接收部分行情数据F10基本资料数据文件板块数据文件CSharesBaseInfoCstockBaseInfo类主要用于管理F10基本资料数据文件,主要完成F10基本资料提取,并提供二种F10资料提取:博经闻与万国股市测评类CTaiKlineFileKLine的接口:int CTaiKlineFileKLine::ReadKLine(CStringsymbol,Kline*&pKline,intnRead,intnKlineType,CBuySellList*pBuySellList,intnAddBlank,boolbToday)功能说明:读取最近nRead天的历史数据。输入参数:symbol:股票代码;pKline:历史K线数据指针,pKline在函数外声明,并赋值为NULL,等全部操作完成后删除掉;pBuySellList:存放分笔明细数据,等全部操作完成后需要把其数据全部删除掉(使用:CTaiKlineFileHS::RemoveHs(*pBuySellList));nRead:读取的历史K线数据的个数,如果nRead等于-1,读全部;nKlineType:时间周期类型;bToday:是否使用今日数据。输出参数:pKline是输出的历史K线数据指针,返回实际读取的历史K线数据的个数。intCTaiKlineFileKLine::ReadKlineAccordingTime(CStringsymbol,Kline*&pKline,intnRead,CTime&time,intnKlineType,CBuySellList*pBuySellList,intnAddBlank)功能说明:读取time时间以前nRead天的历史数据。输入参数:symbol:股票代码;pKline:历史K线数据指针,pKline在函数外声明,并赋值为NULL,等全部操作完成后删除掉;pBuySellList:存放分笔明细数据,等全部操作完成后需要把其数据全部删除掉(使用:CTaiKlineFileHS::RemoveHs(*pBuySellList));nRead:读取的历史K线数据的个数,如果nRead等于-1,读全部;time:需要的数据的最近的时间。NKlineType:时间周期类型;bToday:是否使用今日数据。输出参数:pKline是输出的历史K线数据指针,返回实际读取的历史K线数据的个数。intCTaiKlineFileKLine::ReadKlineTimeSpan(CStringsymbol,Kline*&pKline,CTime&timeB,CTime&timeE,intnKlineType,CBuySellList*pBuySellList,intnAddBlank)功能说明:读取timeB时间到timeE时间的历史数据。输入参数:symbol:股票代码;pKline:历史K线数据指针,pKline在函数外声明,并赋值为NULL,等全部操作完成后删除掉;pBuySellList:存放分笔明细数据,等全部操作完成后需要把其数据全部删除掉(使用:CTaiKlineFileHS::RemoveHs(*pBuySellList));nRead:读取的历史K线数据的个数,如果nRead等于-1,读全部;timeB:需要的数据的开始时间。TimeE:需要的数据的结束时间。NKlineType:时间周期类型;bToday:是否使用今日数据。输出参数:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论