如何用dll文件制作公式.doc
文本预览下载声明
如何用dll文件制作公式
如何用dll文件制作公式?
关注 邪门高手 的发言 【 大 中 小 】 打印 推荐给朋友 收藏 点击904次 回复0次 复制本帖地址
--------------------------------------------------------------------------------
为什么要用dll文件来开发公式?
1.为了突破分析家和飞狐现有功能的限制。
2.为了提高公式速度。
3.为了加密公式的理念。
4.增加新的功能。
下面我们逐渐用vc++ 6.0来讲制作分析家dll公式的过程。[第一讲]准备的东东
1.安装VC++ 6.0软件
2.下载分析家C语言接口文件。/PP
a href=/fxjc.zip下载分析家C语言接口文件/a
3.具备C++编程的知识。
如果不会,自己下载教学软件,或找本相关的书籍。
4.会分析家基本公式编写。
如果不会,在本站下载相关分析家公式编写资料。
准备好后,我开始讲一个完整公式的编写过程。/PP
[第二讲]练习编译dll文件。
1.解包分析家c语言接口
2.启动Vc++
点击菜单[File]选Open Workspace。
选择文件FxjFunc.dsw
3.选择菜单[Build],选择Build FxjFunc.dll
生成FxjFunc.dll文件。如果没有错误,显示下面结果。
--------------------Configuration: FxjFunc - Win32 Debug--------------------
FxjFunc.dll - 0 error(s), 0 warning(s)
4.生成的FxjFunc.dll文件在D:\SUPERSTK目录中。
如果不在当前使用的分析家目录,可以将FxjFunc.dll文件复制到分析家目录中,也可以复制到飞狐\FoxTrader\FmlDLL目录中。
5.在飞狐或分析家建立公式,看看结果。公式只有下面一句,10日close均线。
ma1:fxjfunc@mymaclose(10); /PP如果结果正确,你已经成功编写了dll公式了。
在后面的讲课中介绍编写技巧。/PP
第三讲]分析家扩展函数规范及设计
分析家扩展函数规范如下:
///////////////////////////////////////////////////////////////////////////
#ifndef __FXJFUNC_H_INCLUDE
#define __FXJFUNC_H_INCLUDE
/*
///////////////////////////////////////////////////////////////////////////
分析家扩展函数规范V3.10
1.本规范适用于分析家3.10标准版和专业版公式系统.
2.扩展函数用于实现系统函数不能实现的特殊算法.
3.扩展函数用windows 32位动态连接库实现,建议使用Microsoft Visual C++编程.
4.调用时在公式编辑器中写动态库名称@函数名称(参数表)即可,例如下面函数可以写为FXJFUNC@MYCMALOSE(5)
5.动态连接库名称和函数名称可以自己定义.
6.使用时可以将动态库拷贝到分析家目录下使用.
*/
#ifdef __cplusplus
extern C
{
#endif //__cplusplus /PP
/PP
///////////////////////////////////////////////////////////////////////////
//分析周期
enum DATA_TYPE
{
TICK_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 //多日线
};/PP
///////////////////////////////////////////////////////////////////////////
//基本数据
typedef struct tagSTKDATA
{
time_t m_time; //时间,UCT
float m_fOpen; //开盘
float m_fHigh; //最高
float m_fLow; //最低
float m_fClose; //收盘
float m_f
显示全部