新格式 DLL调用
来自tradeStar帮助系统
(版本间的差异)
(以“新的公式逐根运行模式每次只计算新增数据,不需要整条序列重新运算,这样可以大大提升效率。 有鉴于此,DLL调用也有了...”为内容创建页面) |
(→逐根模式DLL接口说明) |
||
第4行: | 第4行: | ||
=逐根模式DLL接口说明= | =逐根模式DLL接口说明= | ||
#扩展函数用windows 32位动态链接库实现,建议使用Microsoft Visual C++编程 | #扩展函数用windows 32位动态链接库实现,建议使用Microsoft Visual C++编程 | ||
+ | #只能用于逐根运行模式#Run_By_Bar, 参考[[公式运行模式]] | ||
#调用前需要声明 extern 返回值类型 函数名(参数类型 参数,...); | #调用前需要声明 extern 返回值类型 函数名(参数类型 参数,...); | ||
#调用时直接调用函数名,与普通函数调用方式一样 | #调用时直接调用函数名,与普通函数调用方式一样 |
2013年4月12日 (五) 14:23的版本
新的公式逐根运行模式每次只计算新增数据,不需要整条序列重新运算,这样可以大大提升效率。 有鉴于此,DLL调用也有了新的格式。
目录 |
逐根模式DLL接口说明
- 扩展函数用windows 32位动态链接库实现,建议使用Microsoft Visual C++编程
- 只能用于逐根运行模式#Run_By_Bar, 参考公式运行模式
- 调用前需要声明 extern 返回值类型 函数名(参数类型 参数,...);
- 调用时直接调用函数名,与普通函数调用方式一样
- DLL名称和函数名可以自己定义
- 使用时必须将DLL放在软件安装目录下的FmlDll子目录下
DLL函数格式
- DLL名称和函数名都是大小写敏感的,代码声明和公式调用时需要匹配。
- 参数的个数和名称都没有限制,支持基础的数据类型float, double, int,BOOL, LONG, DWORD, float*, LPCWSTR等,注意序列类型只能是 float*, 单值类型则是通用的
// C 代码里的声明 extern "C" __declspec(dllexport) void WINAPI my_ma2(float* pResultBuffer, float* pDataBuffer, int n, int barpos)
公式里面的声明
// 公式里面的声明 extern 'MyDll2.dll' void my_ma2(NumericSeries ResultBuffer, NumericSeries DataBuffer, int n, int barpos);