一段DLL代码转换求助
通达信涨停板指标:CLOSE/REF(CLOSE,1)>1.098;
如何将上面一段指标代码写成DLL的代码,本人没有C++基础,正在学习中,所以,求助老师帮助,不胜感谢!
我提供通达信的文件头,和那个示范:
文件头:
#ifndef __PLUGIN_TCALC_FUNC
#define __PLUGIN_TCALC_FUNC
#pragma pack(push,1)
//函数(数据个数,输出,输入a,输入b,输入c)
typedef void(*pPluginFUNC)(int,float*,float*,float*,float*);
typedef struct tagPluginTCalcFuncInfo
{
unsigned short nFuncMark;//函数编号
pPluginFUNC pCallFunc;//函数地址
}PluginTCalcFuncInfo;
typedef BOOL(*pRegisterPluginFUNC)(PluginTCalcFuncInfo**);
#pragma pack(pop)
#endif
示范:
#include "stdafx.h"
#include "TCalcFuncSets.h"
//生成的dll及相关依赖dll请拷贝到通达信安装目录的T0002/dlls/下面,再在公式管理器进行绑定
void TestPlugin1(int DataLen,float* pfOUT,float* pfINa,float* pfINb,float* pfINc)
{
for(int i=0;i<DataLen;i++)
pfOUT[i]=i;
}
void TestPlugin2(int DataLen,float* pfOUT,float* pfINa,float* pfINb,float* pfINc)
{
for(int i=0;i<DataLen;i++)
{
pfOUT[i]=pfINa[i]+pfINb[i]+pfINc[i];
pfOUT[i]=pfOUT[i]/3;
}
}
//加载的函数
PluginTCalcFuncInfo g_CalcFuncSets[] =
{
{1,(pPluginFUNC)&TestPlugin1},
{2,(pPluginFUNC)&TestPlugin2},
{0,NULL},
};
//导出给TCalc的注册函数
BOOL RegisterTdxFunc(PluginTCalcFuncInfo** pFun)
{
if(*pFun==NULL)
{
(*pFun)=g_CalcFuncSets;
return TRUE;
}
return FALSE;
}
望高手老师帮忙,谢谢!