语言为C#编写,适用于“大智慧新一代 Level-2 V3.03.08.0801 ”的版本。估计分析家6.0的版本也适用,暂没测试过。
对于一些有独特的行情分析方法并且现有的股票分析软件又不能满足的人士,可以考虑采用该数据接口进行二次开发。
组件方法和属性说明:
(1)方法GetData
语法:
public string[,] GetData(string dataType, string code,int iRecordCount)
或
public string[,] GetData(string dataType, string code, string newFileName,int iRecordCount)
功能:读取各类数据
参数说明:
?dataType为数据类型,目录允许的值如下:
“dm”——代码表,对应大智慧文件STKINFO60.DAT
“hq”——日行情,对应大智慧文件day.dat
“hqmb”——每笔成交,对应大智慧文件report.dat或*.prp
“hq0”——最新行情,对应大智慧文件STKINFO60.DAT
“hq0_ag”——上海、深圳A股市场动态行情,对应大智慧文件STKINFO60.DAT
“hq5”——五分钟线,对应大智慧文件min.dat
“cq”——除权数据,对应大智慧文件STKINFO60.DAT
“cw0”——专业财务数据,对应大智慧文件STKINFO60.DAT
“hqfq”——复权行情。复权计算方法与一般行情软件有所不同:只对日线数据中的开盘价、最高价、最低价、收盘价进行复权处理,成交量未作复权处理;先根据价格和除权数据计算出每日总收益率,然后用“向前复权”方法计算出复权价格(优点是:假设了分红再投资,任何两点间的收益率不受分红送配时间的影响,便于分析比较);提供根据收盘价计算的收益率。
?code为证券代码,格式如“SH000001”、“SZ000001”、“HK0001”等,其中板块指数的代码如“$$AA01”、“$$AA02”等;当dataType为“dm”或”hq0”时,为市场代码“SH”或“SZ”等,板块指数的市场代码为“$$”。
如:
GetData("hq","SZ399001")读取SZ399001(深成指)的所有行情数据;
GetData("hq","$$AA01")读取板块指数$$AA01行情;
GetData(“dm”,”SH”)读取沪市证券代码表;
GetData(“hq0”,”SH”)读取沪市股票的动态行情;
GetData(“hq_ag”,””)读取沪市和深市股票的动态行情。
?newFileName为不含路径的文件名,例如:读取沪市代码表时默认从大智慧目录安装目录下的DATA\SH\StkInfo60.dat文件中读取,但可以指定从其它文件读取,如GetData(“dm”,”SH”,”stkinfo88888.dat”)将从stkinfo8888.dat文件读取代码表(当然前提是该文件结构与stkinfo60.dat相同)。该功能主要用于读取历史分笔数据,如GetData(“hqmb”,”SZ000001”,”20080926.PRP”)将读取深发展2008年9月26日的分笔成交数据。
?newFileName为读取的行情记录的数量。为0则读取所有记录。
如:
GetData("hq","SH600000",0)读取SH600000(浦发银行)的所有日行情数据;
GetData("hq","SH600000",10)读取SH600000(浦发银行)的最后10日行情数据。
返回值:返回一个二维字符串数组,每一列为一字段,每一行为一数据记录。注意,这里返回的是一个字符串数组,一般需要根据需要类型转换。
(2)方法GetFields
语法:public string[,] GetFields(string dataType)
功能:读取各种数据类型的字段名、字段含义、类型。
参数说明:dataType为指定数据类型同GetData。
返回值:一个二维数组
(3)方法GetTables
调用格式:public string[,] GetTables()
功能:读取各表的表名、中文说明、对应文件。
返回值:一个二维数组
(4)方法GetMarkets
语法:public string[,] GetMarkets()
功能:从注册表中读取市场列表:代码、简称、名称,如:SH、沪、上海证券交易所;SZ、深、深圳证券交易所。
返回值:一个二维数组
(5)方法GetTableDef
语法:public string GetTableDef(string dataType, string descDataType, bool delOldTable)
功能:生成创建SAS表的PROC SQL语句。
参数:dataType为“dm”等数据表名,descDataType目前只能为“SAS”,delOldTable是否同时生成删除同名数据表的语句。
返回值:一个字符串
(6)方法GetCodeType
语法:public string GetCodeType(string code)
功能:根据证券代码获取证券品种,如:GetCodeType("SZ000001")将返回"gp"表示这是股票代码;GetCodeType("SH000001")将返回"zs”(指数);GetCodeType("SZ184688")将返回"jj"(基金),等。
参数:code为证券代码。
返回值:一个字符串:gp(股票)、zq(债券)、jj(基金)、qz(权证)、zs(指数)。
(7)方法ShowAboutBox
语法:public void ShowAboutBox()
功能:显示组件的“关于”窗口。
(8)方法ShowFxjConverter
语法:public void ShowFxjConverter()
功能:显示“大智慧数据转换器”窗口。可以读取各类数据,不过一般每次只能读取一只证券的数据;可以读取各字段信息;可以将读取出来的数据保存为文本文件。
(9)方法ShowFxjReader
语法:public void ShowFxjReader()
功能:显示“大智慧数据读取器”窗口。可以将各类数据转换为文本文件,字段间的分隔符可以自定义;
(10)属性FxjDataPath
功能:字符串型,可读写,返回大智慧数据目录(一般为c:\dzh\data\),如果组件无法自动获取正确的大智慧数据目录,可以设置该属性指定大智慧数据目录。
(11)属性FxjPath
功能:字符串型,返回大智慧安装目录(一般为c:\dzh\)。
(12)属性Error
功能:整型,只读,返回上一步操作是否出现错误。若该属性为0,表示没有错误发生,若为1则表示发生了错误,具体错误信息可以通过MSG属性获得。
(13)属性Msg
功能:字符串型,只读,返回上一步操作的错误信息。
(14)属性Version
功能:实型,返回组件当前版本号
1