本项目提供了一套详细的教程和源代码,用于演示如何读取并操作大智慧股票软件的本地数据接口。通过此工具,投资者能够更便捷地获取所需的数据信息进行分析决策。适合对股市数据分析感兴趣的开发者参考使用。
根据提供的代码片段,这是用于定义不同数据类型的字段结构的初始化方法。不同的`DataTypes`枚举值对应于不同类型的数据文件及其特定格式。
以下是每个部分的具体内容:
```csharp
public void InitFields(DataTypes type)
{
string fileName;
long startAddress, blockSize, recordSize;
bool codeIsLong = false; //是否是长代码,如基金代码为10位,股票代码6位或8位。
bool isIndexDataStruct = true; // 是否索引数据结构
string fieldString;
switch (type)
{
#region 股票基本面userdata\stockbasic.fdt
case DataTypes.gsbj:
fileName = STOCKBASIC.FDT;
startAddress = 0x41000;
blockSize = 256 * 13; //2080字节
recordSize = 164;
codeIsLong = false;
isIndexDataStruct = true;
fieldString =
dm,代码,code,12,0,0, +
gmsmzhmc,公司简称,string,32,58,-79,B; + //注:-79表示保留字段
gmyjzrqyqblgshrsgsghshhgsbldyydjlbxtdwglrfsbh,
+公司年化收益率等基本信息,string,1042,36,-85,B; + //注:-85表示保留字段
gzmc,股证名称,string,72,-94,A;; //注:-94表示保留字段
break;
#endregion
#region 股票财务数据userdata\stockfiance.fdt
case DataTypes.gscw:
fileName = STOCKFINANCE.FDT;
startAddress = 0x41000;
blockSize = 256 * 3; //768字节
recordSize = 96;
codeIsLong = false;
fieldString =
dm,代码,code,12,0,0, +
rq,日期,date,4,-1,A; +
zye,z业利润总额,double,8,-5,B; + //注:-5表示保留字段
yysr,y营业收入,totaldouble,8,-9,B; + //注:-9表示保留字段
jlr,j营业利润总额,double,8,-13,A;; //注:-13表示保留字段
break;
#endregion
#region 股票周报userdata\stockweek.fdt
case DataTypes.gszb:
fileName = STOCKWEEK.FDT;
startAddress = 0x41000;
blockSize = 256 * 3; //768字节
recordSize = 96;
codeIsLong = false;
fieldString =
dm,代码,code,12,0,0, +
rq,日期,date,4,-1,A; +
zye,z营业利润总额,double,8,-5,B; + //注:-5表示保留字段
yysr,y营业收入,totaldouble,8,-9,B; + //注:-9表示保留字段
jlr,j营业利润总额,double,8,-13,A;; //注:-13表示保留字段
break;
#endregion
#region 股票年报userdata\stockyear.fdt
case DataTypes.gsnb:
fileName = STOCKYEAR.FDT;
startAddress = 0x41000;
blockSize = 256 * 3; //768字节
recordSize = 96;
codeIsLong = false;
fieldString =
dm,代码,code,12,0,0, +
rq,日期,date,4,-1,A; +
zye,z营业利润总额,double,8,-5,B; + //注:-5表示保留字段
yysr,y营业收入,totaldouble,8,-9,B; + //注:-9表示保留字段
jlr,j营业利润总额,double,8,-13,A;; //注:-13表示保留字段
break;
#endregion
#region 股票季报userdata\stockseason.fdt
case DataTypes.gsjb:
fileName = STOCKSEASON.FDT;
startAddress = 0x41000;
blockSize = 256 * 3; //7