标题:一段DLL代码转换求助
只看楼主
日出东方行
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-1-15
 问题点数:0 回复次数:0 
一段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;
}

望高手老师帮忙,谢谢!
搜索更多相关主题的帖子: DLL 代码 函数 int float 
2018-01-15 14:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484256-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179052 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved