“分析家c语言接口编译dll文件”

上传人:wt****50 文档编号:39720397 上传时间:2018-05-18 格式:DOC 页数:7 大小:42.50KB
返回 下载 相关 举报
“分析家c语言接口编译dll文件”_第1页
第1页 / 共7页
“分析家c语言接口编译dll文件”_第2页
第2页 / 共7页
“分析家c语言接口编译dll文件”_第3页
第3页 / 共7页
“分析家c语言接口编译dll文件”_第4页
第4页 / 共7页
“分析家c语言接口编译dll文件”_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《“分析家c语言接口编译dll文件”》由会员分享,可在线阅读,更多相关《“分析家c语言接口编译dll文件”(7页珍藏版)》请在金锄头文库上搜索。

1、“分析家 C 语言接口编译 dll 文件”第一讲准备的东东1.安装 VC+ 6.0 软件2.下载分析家 C 语言接口文件。3.具备 C+编程的知识。如果不会,自己下载教学软件,或找本相关的书籍。4.会分析家基本公式编写。如果不会,在本站下载相关分析家公式编写资料。 准备好后,我开始讲一个完整公式的编写过程。第二讲练习编译 dll 文件。1.解包分析家 c 语言接口2.启动 Vc+点击菜单File选 Open Workspace。选择文件 FxjFunc.dsw3.选择菜单Build,选择 Build FxjFunc.dll生成 FxjFunc.dll 文件。如果没有错误,显示下面结果。-Con

2、figuration: FxjFunc - Win32 Debug-FxjFunc.dll - 0 error(s), 0 warning(s)4.生成的 FxjFunc.dll 文件在 D:SUPERSTK 目录中。如果不在当前使用的分析家目录,可以将 FxjFunc.dll 文件复制到分析家目录中,也可以复制到飞狐FoxTraderFmlDLL 目录中。5.在飞狐或分析家建立公式,看看结果。公式只有下面一句,10 日 close 均线。ma1:“fxjfuncmymaclose“(10); 如果结果正确,你已经成功编写了 dll 公式了。在后面的讲课中介绍编写技巧。 第三讲分析家扩展函数规

3、范及设计分析家扩展函数规范如下:/#ifndef _FXJFUNC_H_INCLUDE#define _FXJFUNC_H_INCLUDE/*/分析家扩展函数规范 V3.101.本规范适用于分析家 3.10 标准版和专业版公式系统.2.扩展函数用于实现系统函数不能实现的特殊算法.3.扩展函数用 windows 32 位动态连接库实现,建议使用 Microsoft Visual C+编程.4.调用时在公式编辑器中写“动态库名称函数名称“(参数表)即可,例如下面函数可以写为“FXJFUNCMYCMALOSE“(5)5.动态连接库名称和函数名称可以自己定义.6.使用时可以将动态库拷贝到分析家目录下使

4、用.*/#ifdef _cplusplusextern “C“#endif /_cplusplus /分析周期enum DATA_TYPETICK_DATA=2, /分笔成交MIN1_DATA, /1 分钟线MIN5_DATA, /5 分钟线 MIN15_DATA, /15 分钟线MIN30_DATA, /30 分钟线MIN60_DATA, /60 分钟线DAY_DATA, /日线WEEK_DATA, /周线MONTH_DATA, /月线MULTI_DATA /多日线;/基本数据typedef struct tagSTKDATA time_t m_time; /时间,UCTfloat m_fO

5、pen; /开盘float m_fHigh; /最高float m_fLow; /最低float m_fClose; /收盘float m_fVolume; /成交量float m_fAmount; /成交额WORD m_wAdvance; /上涨家数(仅大盘有效)WORD m_wDecline; /下跌家数(仅大盘有效) STKDATA;/扩展数据,用于描述分笔成交数据的买卖盘typedef union tagSTKDATAExstructfloat m_fBuyPrice3; /买 1-买 3 价float m_fBuyVol3; /买 1-买 3 量float m_fSellPrice3

6、; /卖 1-卖 3 价float m_fSellVol3; /卖 1-卖 3 量;float m_fDataEx12; /保留 STKDATAEx;/*财务数据顺序(m_pfFinData 内容)序号 内容0 总股本(万股),1 国家股,2 发起人法人股,3 法人股,4 B 股,5 H 股,6 流通 A 股,7 职工股,8 A2 转配股,9 总资产(千元),10 流动资产,11 固定资产,12 无形资产,13 长期投资,14 流动负债,15 长期负债,16 资本公积金,17 每股公积金,18 股东权益,19 主营收入,20 主营利润,21 其他利润,22 营业利润,23 投资收益,24 补贴

7、收入,25 营业外收支,26 上年损益调整,27 利润总额,28 税后利润,29 净利润,30 未分配利润,31 每股未分配,32 每股收益,33 每股净资产,34 调整每股净资,35 股东权益比,36 净资收益率*/函数数据结构typedef struct tagCALCINFOconst DWORD m_dwSize; /结构大小const DWORD m_dwVersion; /调用软件版本(V2.10 : 0x210)const DWORD m_dwSerial; /调用软件序列号const char* m_strStkLabel; /股票代码const BOOL m_bIndex;

8、/大盘const int m_nNumData; /数据数量(pData,pDataEx,pResultBuf 数据数量)const STKDATA* m_pData; /常规数据,注意:当 m_nNumData=0 时可能为 NULLconst STKDATAEx* m_pDataEx; /扩展数据,分笔成交买卖盘,注意:可能为 NULLconst int m_nParam1Start; /参数 1 有效位置const float* m_pfParam1; /调用参数 1 const float* m_pfParam2; /调用参数 2const float* m_pfParam3; /调用

9、参数 3const float* m_pfParam4; /调用参数 3float* m_pResultBuf; /结果缓冲区const DATA_TYPE m_dataType; /数据类型const float* m_pfFinData; /财务数据 CALCINFO;/* 注: 1.函数调用参数由 m_pfParam1-m_pfParam4 带入,若为 NULL 则表示该参数无效.2.当一个参数无效时,则其后的所有参数均无效.如:m_pfParam2 为 NULL,则 m_pfParam3,m_pfParam4 一定为 NULL.3.参数 1 可以是常数参数或序列数参数,其余参数只能为常

10、数参数.4.若 m_nParam1Start=0,则参数 1 为序列数参数,m_pfParam1 指向一个浮点型数组,数组大小为 m_nNumData,数据有效范围为 m_nParam1Start-m_nNumData.在时间上 m_pDatax 与 m_pfParam1x是一致的*/* 函数输出_declspec(dllexport) int xxxxxxxx(CALCINFO* pData); - A_declspec(dllexport) int xxxxxxxxVAR(CALCINDO* pData); - B1.函数名称需全部大写.2.函数必须以上述 A,B 两种形式之一声明,请用实

11、际函数名称替代 xxxxxxxx;对于 C+程序还需包括在 extern “C“ 括号中.3.上述形式 A 用于声明不带参数或全部参数为常数的函数;形式 B 用于声明参数 1 为序列数的函数;两种函数的区别在于后者以 VAR 结尾.4.函数计算结果用 pData-m_pResultBuf 带回.5.函数返回-1 表示错误或全部数据无效,否则返回第一个有效值位置,即:m_pResultBuf返回值 - m_pResultBufm_nNumData-1间为有效值.6.函数名称长度不能超过 15 字节,动态连接库文件名不能超过 9 字节(不包括扩展名),动态库名称不能叫SYSTEM,EXPLORER

12、7.编译时请请选择 1 字节对齐*/示例函数,使用时用实际名称替换_declspec(dllexport) int WINAPI MYMACLOSE(CALCINFO* pData);_declspec(dllexport) int WINAPI MYMAVAR(CALCINFO* pData);_declspec(dllexport) int WINAPI MYMACLOSE_CALC_PREV(CALCINFO* pData);_declspec(dllexport) int WINAPI MYMAVAR_CALC_PREV(CALCINFO* pData);#ifdef _cpluspl

13、us#endif /_cplusplus#endif /_FXJFUNC_H_INCLUDE/分析家的数据结构见上面。/基本数据typedef struct tagSTKDATA time_t m_time; /时间,UCTfloat m_fOpen; /开盘float m_fHigh; /最高float m_fLow; /最低float m_fClose; /收盘float m_fVolume; /成交量float m_fAmount; /成交额WORD m_wAdvance; /上涨家数(仅大盘有效)WORD m_wDecline; /下跌家数(仅大盘有效) STKDATA;在前一讲中,求均线 ma(c,x),是用收盘价,我们可以改成中值(h+l+c)/3 的均线。将 FxjFunc.cpp 程序中fTotal += pData-m_pDatai-j.m_fClose;改为fTotal=fTotal + ( pData-m_pDatai-j.m_fClose+ pData-m_pDatai-j.m_fLow+ pData-m_pDatai-j.m_fHigh )/3;将上面接口规范看懂后,你可以创作各种

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号