﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-huyutian-文章分类-金融股票</title><link>http://www.cppblog.com/huyutian/category/14864.html</link><description>他强由他强，清风拂山岗；他横由他横，明月照大江。他自狠来他自恶，我自一口真气足
</description><language>zh-cn</language><lastBuildDate>Wed, 04 May 2011 11:08:55 GMT</lastBuildDate><pubDate>Wed, 04 May 2011 11:08:55 GMT</pubDate><ttl>60</ttl><item><title>Wind板块分类文件研究</title><link>http://www.cppblog.com/huyutian/articles/144737.html</link><dc:creator>胡雨田</dc:creator><author>胡雨田</author><pubDate>Thu, 21 Apr 2011 09:09:00 GMT</pubDate><guid>http://www.cppblog.com/huyutian/articles/144737.html</guid><wfw:comment>http://www.cppblog.com/huyutian/comments/144737.html</wfw:comment><comments>http://www.cppblog.com/huyutian/articles/144737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/huyutian/comments/commentRss/144737.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/huyutian/services/trackbacks/144737.html</trackback:ping><description><![CDATA[<p>搞股票的很多人都听说过Wind资讯，Wind的板块分类是比较准确和精细的，更新也比较及时。最近想将Wind的板块分类移植到我自己开发的股票系统中去，花时间分析了一下网络协议和文件结构，记录于此。<br>Wind的板块文件一般在..\Windin\WWT\etc目录下，与之相关的文件主要有<br>1=cntradedates.dat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 国内A股历史交易日期列表<br>2=INDEXSECTORS.DAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wind指数名称及代码<br>3=RelatedSymbols.dat&nbsp;&nbsp;&nbsp; A股与港股对照关系表<br>4=secbasicdelt.dat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 已发行未上市股票?<br>5=secbasichis.dat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 已摘牌股票<br>6=sysgrp.xml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 板块分类名称及编号<br>7=SectorElementDelt.dat 板块数据文件<br>8=SectorElementHis.dat&nbsp; 板块数据文件<br>9=stocksplit.dat<br>10=currency.dat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 汇率<br>11=SysConfig.ini&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件索引<br>12=etc.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wind服务器地址文件<br>以上文件都是文本文件，文件结构比较简单，一看就能明白。下面主要分析下Wind是如何更新以上文件的。为了保证能够与Wind的分类实时自动同步，这个是必须的。<br>Wind在系统启动时会与服务器相连检查上述配置文件是否最新。检查办法是，发送HTTP请求到<br><a href="http://114.80.214.51/FileServer/DataFile.aspx?cfg=etc">http://114.80.214.51/FileServer/DataFile.aspx?cfg=etc</a>，服务器会返回一份上述文件的MD5码表，与本地文件的MD5进行比对，如果不相同，就准备更新。下面是截取的服务器应答包。<br>888888?&nbsp; base\chardword.config:1F3A230D00B3262E447991CDB8F60E35;<br>cntradedates.dat:39A8AF6359FB70D8002689ACC70BF3A3;<br>currency.dat:2738738EF3A3F949A012A952E020E408;<br>etc.zip:72DDCB3B5F8CD52F4F3B00AA77788C49;<br>hqafdelt.dat:D41D8CD98F00B204E9800998ECF8427E;<br>hqafhis.dat:9A0120E611A11E8BC77C5285E537EA2E;<br>indexsectors.dat:7FB9699D40F9C47F309308662D704293;<br>relatedsymbols.dat:535A2D3DF67E42CAF3DABD3B91F3FFC2;<br>relatedsymbolslocal.dat:79ED9E9A02D46B57AE612370DAB8B84C;<br>secbasicdelt.dat:15CE8DCB34C0620DE6A0871A7624B309;<br>secbasichis.dat:AFA640C33669FFD0342F022650DBD536;<br>secbasicself.dat:88502DE7F9C14CC642FE9855EDDE0EA7;<br>secbrief.dat:A87B901E8BE18C431B5CCA6EC36D7AD0;<br>sectorelementdelt.dat:3BC53A5D76602DE056ABB7758D81451A;<br>sectorelementhis.dat:1397955C466767DAF9587F59F923B6B4;<br>stocksplit.dat:D41D8CD98F00B204E9800998ECF8427E;<br>suspension.dat:7FBBAFB7AAD5E68356FEAF9DE38036AA;<br>sysgrp.xml:463FE2657F9EA4A4545140C01D12DA95;<br>warrantinfo.dat:AFB2EF0A32F1ACDA9A30A4B0FF6253D3<br><br>888888是wind服务器返回的数据包头，以sysgrp.xml为例其MD5码就是463FE2657F9EA4A4545140C01D12DA95<br>大家可以随便找个Md5计算文件比对一下就知道了。<br>下载板块文件的HTTP请求是<br><a href="http://114.80.214.51/FileServer/DataFile.aspx?cfg=etc&amp;type=1&amp;files=cntradedates.dat;currency.dat;indexsectors.dat;relatedsymbols.dat;secbasicdelt.dat;sectorelementdelt.dat;stocksplit.dat;sysgrp.xml">http://114.80.214.51/FileServer/DataFile.aspx?cfg=etc&amp;type=1&amp;files=cntradedates.dat;currency.dat;indexsectors.dat;relatedsymbols.dat;secbasicdelt.dat;sectorelementdelt.dat;stocksplit.dat;sysgrp.xml</a><br>注意如果只需要下载部分文件，可以把files=后面的文件列表改一改就可以了。<br>服务器返回的数据结构如下。</p>
<p><img height=516 alt="" src="http://www.cppblog.com/images/cppblog_com/huyutian/WindBLOCK.gif" width=738 border=0><br>简单分析下包结构，数据包的开头仍然是888888的包头，接下来一个DWORD是本次下载的文件数目。再接下来是第一个文件的文件名，注意是PASCAL格式的字符串，字符串前面一个DWORD是字符串长度。然后以"1"或者说0x31，再后面是一个DWORD的该文件ZIP压缩包长，以及压缩数据长度，接着是第二个、第三个文件直到结束。好像也不很复杂哟，不过可是花了我一晚上的时间。<br>以上这些格式都搞清楚了，剩下的就是写下载同步的程序代码了。哈哈，这个就不多说了。</p>
<img src ="http://www.cppblog.com/huyutian/aggbug/144737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/huyutian/" target="_blank">胡雨田</a> 2011-04-21 17:09 <a href="http://www.cppblog.com/huyutian/articles/144737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Market System Analyzer 3.2 注册机</title><link>http://www.cppblog.com/huyutian/articles/125970.html</link><dc:creator>胡雨田</dc:creator><author>胡雨田</author><pubDate>Mon, 06 Sep 2010 00:40:00 GMT</pubDate><guid>http://www.cppblog.com/huyutian/articles/125970.html</guid><wfw:comment>http://www.cppblog.com/huyutian/comments/125970.html</wfw:comment><comments>http://www.cppblog.com/huyutian/articles/125970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/huyutian/comments/commentRss/125970.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/huyutian/services/trackbacks/125970.html</trackback:ping><description><![CDATA[Market System Analyzer 是一个做资金管理模型和统计用的软件，朋友介绍后感觉还不错，正好用的上。但是没有注册有30天使用限制，很不爽。于是在网上搜索了半天，也没找到可以用的版本，一气之下就自己分析注册算法。所以就有了这个注册机。Market System Analyzer 的注册算法非常简单，先根据你的机器配置计算出一个特征码，注册码是根据特征码经过简单的浮点运算，再取前9位有效数字得来。3.20/3.21版的注册机在<a href="http://www.cppblog.com/Files/huyutian/MsaCrack.rar">这里</a>下载。原版文件直接从<a href="http://www.adaptrade.com/MSA/PreMSATrial.htm">官方网站</a>下载。 
<img src ="http://www.cppblog.com/huyutian/aggbug/125970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/huyutian/" target="_blank">胡雨田</a> 2010-09-06 08:40 <a href="http://www.cppblog.com/huyutian/articles/125970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>