飞狐交易师目录结构、文件信息详解

 系统重装-只要将userdatafmldllstkblockmemo五个文件夹、regcode.bin注册文件备份
foxtrader/
安装目录
foxtrader.exe
飞狐可执行文件
ftupgrade.exe
在线升级可执行文件
foxie.exe
飞狐资讯浏览器可执行文件
stkdata.sif
股码、股名、除权、财务
ftctrl13.dll
系统基本控件动态链接库
ftzip.dll zip
压缩解压缩动态链接库
ftinet.dll
网络通信支持动态链接库
/note/*.wri
同名个股用户备忘
readme.wri
自述文件
        data
分市场存放行情历史数据及个股f10资料
$$/
存放板块指数、投资指数历史数据
day.hqd
日历史数据
min5.hqd 5
分钟历史数据
min1.hqd 1
分钟历史数据
*.qrt
历史每日 即时分笔(如20030103.qrt
report.qrt
即时分笔
/f10/*.txt
同名个股f10资料文本文件
estday.hes
横向统计数据
extday.hed
扩展数据        license.txt 用户协议文件
tips.txt
每日提示文件
upgrade.txt
升级说明
regcode.bin
注册码
foxtrader.ini
注册、升级url
lon.dat
融资券

fgn.dat
外资

gal.dat
法人

foxtrader.chm
帮助系统

FoxTrader/ 安装目录
FoxTrader.exe 飞狐交易师可执行文件
FTupgrade.exe 飞狐在线升级可执行文件
FoxIE.exe 飞狐资讯浏览器可执行文件
FoxTrader.chm 帮助系统
FTCTRL13.dll 系统基本控件动态链接库
FTZIP.dll ZIP压缩解压缩动态链接库
ftinet.dll 网络通信支持动态链接库
Readme.wri 自述文件
License.txt 用户协议文件
Tips.txt 每日提示文件
Upgrade.txt 升级说明
regcode.bin 注册码
FoxTrader.ini 注册、升级URL


安装目录下:

DATA/ 分市场存放行情历史数据及个股F10资料,其中:
ESTDAY.HES 横向统计数据
$$/ 存放板块指数、投资指数历史数据
各市场下
/F10/*.txt 同名个股F10资料文本文件
/NOTE/*.wri 同名个股用户备忘
StkData.sif 股码、股名、除权、财务、标记
Report.qrt 即时分笔
*.qrt 历史每日 即时分笔(如20030103.qrt)
DAY.HQD 日历史数据
MIN5.HQD 5分钟历史数据
MIN1.HQD 1分钟历史数据
EXTDAY.HED 扩展数据
LON.DAT 融资券
FGN.DAT 外资
GAL.DAT 法人


StkBlock/

StkBlock.ini 分类板块配置文件,可以进行手工调整,如改变板块的排列顺序等;
*.sbk 同名板块文件
*.cbk 板块指数定义文件
*.xbk 条件选股另存文件

System/ 存放各种系统数据文件
SysFml.fal 系统公式文件
SysFml.oal 原始系统公式文件,用于恢复被修改过的系统公式
Fee.dat 分类证券交易费率文件
Lunar.dat 用于快速计算阴历时间
Option.ini 系统选项文件
ftserver.ini 互联网行情服务器配置文件
FTSTKDRV.dll 行情驱动DLL
F10Fit.txt 从F10资料提取财务数据的摸板文件
ClrFnt.dat 颜色方案、字体文件

User/ 存放各种用户数据文件,用于保存指标公式、界面布局、组合条件、预警、画线、解盘系统等。

UserFml.fal 所有自编公式文件
Alert.alt 预警系统文件
Draw.drw 画线文件
*.alg 导出的公式文件
*.fcc 组合条件文件
*.lyt 窗口布局文件
*.bkc 自动板块设置文件
*.fct 计算器算式文件

User/Template/存放K线模板、指标模板等

Params/ 保存公式参数信息
FmlParams.dfp 保存用户调整过的公式参数

FmlDLL/
公式扩展调用的DLL文件须放此目录

Invest/ 存放投资帐户文件
*.ivs 同名投资帐户的数据文件
*.imm 同名投资帐户的备忘录文件

InfoSys/
Info.ini飞狐资讯浏览器(FoxIE, Fox Infomation Explorer)的配置文件,
可手工增改此文件,使URL指向自己感兴趣的地方

Memo/
可挂在K线图上的备忘录文件
*.lst 索引
*.dat 内容


系统注册表:

HKEY_LOCAL_MACHINE/SOFTWARE/AeroFox R&D/system/Markets --> 市场配置

HKEY_CURRENT_USER/SOFTWARE/AeroFox R&D/system/Settings --> 各种系统配置和选项

Tip--> 今日提示配置

FrameSettings--> 保存界面选单、工具条位置等


连接主站的是驱动文件

DZH/FXJ引用外部数据的DLL公式FMLDATA.DLL(DZH/FXJ引用外部数据的DLL公式)免费下载 一、DLL主要功能: 适用平台: 大智慧新一代V2.0(仅支持以分析家为内核的DZH版本,不支持DZH经典版本)、分析家(在V6.0上测试通过,在其它版本用应该也没问题) ,以下简称DZH。 主要功能: 1)在DZH公式中读取外部数据(这里称为FMLDATA文件数据,该数据文件格式见下文)。例如,要在DZH公式中读入第三方的数据并与DZH其它数据一起进行分析,我们可以首先将数据写入FMLDATA文件,然后在DZH公式中象引用DZH本身直接引用。 2)将DZH序列数据写入外部文件。例如,我们要将DZH现有数据或者自己编写的公式的计算结果导出来,在EXCEL等外部软件进一步处理。(与FinDataTools工具的区别是:FMLDATA.DLL导出的是DZH原始数据或公式计算结果,而FinDataTools直接从DZH/FXJ读取数据。) 适用对象:需要读取自己定制的外部数据而又不想自己用C/C++写接口的DZH/FXJ用户。 声明:本DLL不含任何恶意代码,但使用风险自担。 二、下载:点击这里下载(近100KB)。 三、安装方法: 1、下载后用WINRAR解压得到FMLDATA.DLL和FMLDATA.TXT两个文件。 2、将FMLDATA.DLL复制到DZH2安装目录,一般为c:\dzh2。如果是FXJ一般为c:\superstk等. 3、在DZH安装目录下建立一个名为FMLDATA的文件夹,如c:\dzh2\fmldata(这一步是必须的,否则无法使用)。DLL公式读取或写入的数据都在这个文件夹。 至此,安装完成,下面就是如何使用了。 四、使用方法: FMLDATA.DLL提供了两个公式/函数,一个用于写数据,一个用于读数据。 (一)写数据: 写数据的公式为: "FMLDATA@WRITE"(X,N) 第一个参数X是个序列(指标),可以是CLOSE、OPEN等,也可以是公式中的中间计算结果,要求序列值在浮点型值范围之内,一般在正负20亿之间,如果不在该范围之内,建议改变单位;第二个参数N是个数值,表示序列编号,例如我们把CLOSE保存为第4个序列,N为4。 将数据保存为外部文件时,根据当前股票代码、序列编号、分析周期这三个信息在fmldata文件夹生成形式为“XXXXXX.N.YYY”的文件。其中, XXXXXX为股票代码,如深发展为000001等,由于沪市指数代码与深市股票代码重复,所以沪市指数代码在原代码前加1,例如上证综指为000001,则这里的XXXXXX为1000001(7位);N是编号,由用户自己指定,应为大于0的整数;YYY为分析周期,如果是日线数据,则YYY=DAY,分笔、1分钟、5分钟、15分钟、30分钟、60分钟、周、月、多日、季度、半年、年的值分别为TICK、MIN1、MIN5、MIN15、MIN30、MIN60、WEEK、MONTH、NDAYS、QUARTER、SEMIYEAR、YEAR。 举例: 例1、将收盘价写入到外部文件 新建一公式,设名为TESTW,输入 V1:"FMLDATA@WRITE"(C,4); ,在深发展(000001)日K线状态下,键入TESTW,在指标区查看公式TESTW结果的同时,将在FMLDATA目录生成一个名为000001.4.DAY的二进制文件(这个文件如何在其它软件中使用见下文),如果同名文件已经存在,将覆盖。如果我们键入000002,切换到万科日K线,将生成名为000002.4.DAY的文件;如果切换到上证指数,则生成1000001.4.DAY文件。 注意:如果是DZH,写数据时请将光标移至最后一根K线,否则只保存光标之前的数据,FXJ好象没有这个问题。光标一动,数据就重新写入一次。 例2、将收益率保存到外部文件 建一公式: A:=C/REF(C,1)-1; B:"FMLDATA@WRITE"(A,101); 请在还权状态下使用该公式。如果处于000001的日K线图,则生成000001.101.DAY。 例3、将周收益率保存到外部文件在例2基础上,将“分析周期”改为“周线图”,则周收益率保存到000001.101.WEEK文件。 例4、将沪市A股所有股票的收盘价、成交量保存到外部文件 建一名为TESTCV公式: A:"FMLDATA@WRITE"(C,4); B:"FMLDATA@WRITE"(V/10000,5); 保存后。选择“条件选股”,选股指标选择“TESTCV”,分析周期选“日线”,选中“使用除权后数据”,指标线选“B”,条件选“大于0”,选股范围选择“上证A股”,执行选股,将生成600000.4.DAY、600000.5.DAY、600001.4.DAY、600001.5.DAY等等,*.4.DAY保存的是收盘价,*.5.DAY保存的是以万手为单位的成交量。 (二)读数据: 读数据的公式为 "[email=FMLDATA@READ]FMLDATA@READ"(M,N[/email])" 第一个参数M是个数值,可以是0或者数值型股票代码,如果M=0,读取当前股票代码的数据,如果为股票代码,则读取该股票的数据,前提是对应的文件已经存在!;第二个参数也是个数据,含义同"[email=FMLDATA@WRITE]FMLDATA@WRITE"(X,N[/email])"中的N,表示要读取哪个序列的数值。 例5、读入当前股票的某个外部序列数据 公式为V1: "[email=FMLDATA@READ]FMLDATA@READ"(0,4[/email]);如果当前股票为000001则读入指标编号为4的数据,如果当前股票为600000,则从600000.4.DAY读取序列编号为4的数据。 例6、读入指定代码的某个外部序列数据 公式为V1: "[email=FMLDATA@READ]FMLDATA@READ"(1000001,4[/email]);如果当前股票为000001则读入上证指数的指标编号为4的数据,如果当前股票为600000,也是读入上证指数的指标编号为4的数据。 例7、计算两个代码的序列数据之差 X:"[email=FMLDATA@READ]FMLDATA@READ"(0,5438)-"FMLDATA@READ"(1000001,5438[/email]); .... 上面例子将DZH数据写入外部文件然后再读入,这只是举例,并不是写FMLDATA.DLL的真正目的。FMLDATA.DL公式主要用于读取DZH所没有的第三方数据或者DZH公式不适合处理的数据。例如,我们将分笔数据进行复杂的处理,然后每日生成一个指标,保存在*.12345.DAY中供DZH调用。 下面简单介绍一下如何将数据写入这些文件。 (三)文件格式约定 文件是很简单的二进制格式文件,一个文件由多个记录组成,每个记录两个字段,第一个字段为DZH时间,为INT型,保存的是与1970-1-1 00:00:00间隔秒数,第二个字段为指标/序列值,为Float型,保存具体数值,注意Float型的数据范围!文件要求每个记录的时间由小到大顺序排列。 例如,文件中有8条记录: 1174435200 0.05 1174521600 0.003 1174608000 -0.029 1174867200 -0.011 1174953600 - 0.009 1175040000 0.005 1175126400 0.004 1175212800 -0.015 第一列是日期/时间,第二列是数值,把第一列转换一下可得: 2007-03-21 0.05 2007-03-22 0.003 2007-03-23 -0.029 2007-03-26 -0.011 2007-03-27 -0.009 2007-03-28 0.005 2007-03-29 0.004 2007-03-30 -0.015 其中,1175212800 是2007-3-30 0:0:0与1970-1-1 0:0:0间隔的秒数,etc...。 (四)读写FMLDATA文件 了解了文件结构后,可以用各种语言如C/C++、C#、VB、VBA、JAVA、SAS、…………………………等读写文件。 1、用VBA将EXCEL工作表数据写入FMLDATA文件: Sub exceldata2fmldata() '将EXCEL工作表数据写入FMLDATA文件 Dim sht As Worksheet, fmldataPath As String, fileName As String Dim i As Integer, FileNumber Dim dzhrq As Long, value As Single 'DZH时间,指标值(VBA的Long,Single为32位) Dim dt As Date Set sht = ThisWorkbook.Worksheets("sheet1") '假设要写入的数据在sheet1 fmldataPath = "d:\dzh2\fmldata\" 'FMLDATA所在路径 fileName = "000001.12345.day" '文件名 FileNumber = FreeFile Open fmldataPath & fileName For Binary Access Write As #FileNumber '以写方式打开文件 i = 2 '设数据从第二行开始;第1列为日期,第2列为指标值 dt = sht.Cells(i, 1) '取出日期 Do While IsDate(dt) And dt TimeSerial(0, 0, 0) dzhrq = DateDiff("s", DateSerial(1970, 1, 1), dt) '转为DZH日期:与1970.1.1间隔秒数 Put #FileNumber, , dzhrq value = sht.Cells(i, 2) '取出指标值 Put #FileNumber, , value i = i + 1 dt = sht.Cells(i, 1) '取出日期 Loop Close #FileNumber '关闭文件 End Sub 2、用VBA将FMLDATA文件读入EXCEL: Sub fmldata2excel() '将FMLDATA文件读入EXCEL工作表 Dim sht As Worksheet, fmldataPath As String, fileName As String Dim i As Integer, FileNumber Dim dzhrq As Long, value As Single 'DZH时间,指标值(VBA的Long,Single为32位) Dim dt As Date Set sht = ThisWorkbook.Worksheets("sheet1") '假设数据保存到sheet1 fmldataPath = "d:\dzh2\fmldata\" 'FMLDATA所在路径 fileName = "000001.12345.day" '文件名 FileNumber = FreeFile Open fmldataPath & fileName For Binary As #FileNumber '打开文件 Get #FileNumber, , dzhrq sht.Cells(1, 1) = "日期" sht.Cells(1, 2) = "值" i = 2 Do While dzhrq 0 dt = DateAdd("s", dzhrq, DateSerial(1970, 1, 1)) '转换为EXCEL日期 sht.Cells(i, 1) = dt '日期 Get #FileNumber, , value sht.Cells(i, 2) = value '指标值 Get #FileNumber, , dzhrq i = i + 1 Loop Close #FileNumber '关闭文件 End Sub 3、将SAS数据表写入FMLDATA文件 %macro sasdata2fmldata(dzhpath,code,var,datatype,srcTable); filename fmlfile "&dzhpath.fmldata\&code..&var..&datatype"; data tt; set &srcTable; dzhrq=(rq - (MDY(1,1,1970)-MDY(1,1,1960)))*86400; file fmlfile recfm=f lrecl=8; put dzhrq ib4. value float4.; run; filename fmlfile; %mend sasdata2fmldata; /*假设有一work.t表含有rq,value字段,value是000001的某一指标的计算结果*/ %sasdata2fmldata(C:\DZH2\,000001,5555,DAY,work.t); 4、用SAS读取FMLDATA文件 %macro fmldata2sasdata(dzhpath,code,var,datatype,descTable); %let datatype=%lowcase(&datatype); filename fmlfile "&dzhpath.fmldata\&code..&var..&datatype"; data &desctable; format dm $12. rq dzhrq value; infile fmlfile recfm=f lrecl=8; input dzhrq ib4. value float4.; dm="&code"; %if %sysfunc(index(/day/ndays/week/month/quarter/semiyear/year,&datatype))>0 %then %do; rq = dzhrq/86400 + (MDY(1,1,1970)-MDY(1,1,1960)); attrib rq format=yymmdd10.; %end; %else %do; rq = dzhrq + (dhms(MDY(1,1,1970),0,0,0)-dhms(MDY(1,1,1960),0,0,0) ); attrib rq format=datetime.; %end; value=round(value,0.001); run; filename fmlfile; %mend fmldata2sasdata; %fmldata2sasdata(C:\DZH2\,000001,5438,DAY,work.t);/*参数分别为:DZH安装目录,股票代码,序列编号,分析周期,目标表*/ 5、用其它语言操作FMLDATA文件也很简单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值