收藏 分享(赏)

图文手把手教你一步步用VC++2010编写通达信缠论插件(1-DLL设计入门).pdf

上传人:weiwoduzun 文档编号:3264695 上传时间:2018-10-09 格式:PDF 页数:12 大小:750.93KB
下载 相关 举报
图文手把手教你一步步用VC++2010编写通达信缠论插件(1-DLL设计入门).pdf_第1页
第1页 / 共12页
图文手把手教你一步步用VC++2010编写通达信缠论插件(1-DLL设计入门).pdf_第2页
第2页 / 共12页
图文手把手教你一步步用VC++2010编写通达信缠论插件(1-DLL设计入门).pdf_第3页
第3页 / 共12页
图文手把手教你一步步用VC++2010编写通达信缠论插件(1-DLL设计入门).pdf_第4页
第4页 / 共12页
图文手把手教你一步步用VC++2010编写通达信缠论插件(1-DLL设计入门).pdf_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、图文手把手教你一步步用VC+2010编写通达信缠论插件(1-DLL设计入门)按照图文提示,一步步往下走,按照说明,创建VC+2010工程,把文中的代码拷贝到文中说明的位置,编译运行,绝对通过!本篇免收下载券。后面的要收了,但是,收也收很少,顶多收你一个下载券,我心不贪,请大家支持点儿。本来都是玩儿的,但是,我下载别人的资料,也要下载券啊!同志们,别骂我。深谷老榆制作,2016.4.24第一步、从“文件”菜单中,选择“新建”,然后选择“项目”。这时候弹出“新建项目”窗口,从“项目类型”窗格中选择“Win32项目”,并填写工程名称,自己命名,我这里是ChanLunTdx。点击“确定”按钮,出现下面

2、“Win32应用程序向导”窗口:点击“下一步”按钮,出现“应用程序设置”窗口。“应用程序类型”选择“DLL”,然后单击“完成”按钮。程序框架基本搭成。第二步、双击“解决方案资源管理器”中“源文件”中的dllmain.cpp文件,按照下图所示删掉无用代码:则dllmain.cpp文件内容如下所示:/dllmain.cpp: 定义 DLL 应用程序的入口点。#include“stdafx.h“BOOLAPIENTRYDllMain(HMODULEhModule,DWORD ul_reason_for_call,LPVOIDlpReserved)returnTRUE;第三步、鼠标右键单击工程名,出现

3、一个弹出窗口,选择“添加(D)”下“新建项(W).”:点击后出现“添加新项”窗口,在其中选择“头文件(.h)”,下面文件名选择“ChanLunTdx”,单击下面“添加”按钮:把下面代码拷贝进去:/ChanLunTdx.h: 定义 DLL 应用程序的导出函数。/#ifndef_CHANLUNTDX_H_#define_CHANLUNTDX_H_/#include“PluginTCalcFunc.h“/=#pragmapack(push,1)/函数(数据个数,输出,输入a,输入b,输入c)typedefvoid(*pPluginFUNC)(int,float*,float*,float*,floa

4、t*);/PluginTCalcFuncInfo结构用来存放用户自己的函数pCallFunc和函数唯一标记nFuncMark;/pCallFunc 是 typedef void(*pPluginFUNC)( int DataLen,float* pfOUT,float* pfINa,float*pfINb,float*pfINc)类型指针;/函数参数分别是(数据个数,输出,输入a,输入b,输入c),参数的计算是基于长度为DataLen 的float类型数组。typedefstructtagPluginTCalcFuncInfounsignedshort nFuncMark;/函数编号pPlug

5、inFUNC pCallFunc;/函数地址PluginTCalcFuncInfo;/RegisterTdxFunc函数为注册函数,用户的函数全部都放入PluginTCalcFuncInfo结构的全局数组g_CalcFuncSets中。typedefBOOL(*pRegisterPluginFUNC)(PluginTCalcFuncInfo*);#pragmapack(pop)/=#ifdef_cplusplusextern“C“#endif/_cplusplus_declspec(dllexport)BOOLRegisterTdxFunc(PluginTCalcFuncInfo*pFun);

6、#ifdef_cplusplus#endif/_cplusplus#endif/_TCALC_FUNC_SETS第四步、双击“解决方案资源管理器”中“源文件”中的ChanLunTdx.cpp文件,把下面代码全部拷贝进去:/ChanLunTdx.cpp: 定义 DLL 应用程序的导出函数。/#include“stdafx.h“#include“ChanLunTdx.h“/生成的dll及相关依赖dll请拷贝到通达信安装目录的T0002/dlls/下面,再在公式管理器进行绑定/函数: EMA(X,N)/说明: 指数平滑移动平均 卖一价求指数平滑移动平均。/用法: EMA(X,N),求X 的N 日指数

7、平滑移动平均。/算法: 若Y=EMA(X,N) 则Y=2*X+(N-1)*Y/(N+1),其中Y表示上一周期Y 值。/例如: EMA(CLOSE,30)表示求30 日指数平滑均价/通达信中用的时候,第一个输入参数是收盘价,第2个输入参数是常量,第三个输入参数为空;voidEMA(intDataLen,float*pfOUT,float*pfINa,float*pfINb,float*pfINc)floatfTemp=0.0;intN=int(*pfINb);pfOUT0=0.0;for(inti=1;iDataLen;i+)pfOUTi=(2*pfINai+(N-1)*pfOUTi-1)/(N

8、+1);/- 函数 MA(X,N)-/别名: 简单移动平均/所属类别: 引用函数 参数数量:2/求简单移动平均。/用法:MA(X,N),求X的N日简单移动平均值。/算法:(X1+X2+X3+.+Xn)/N/例如:MA(CLOSE,20)表示求20日均价/通达信中用的时候,第一个输入参数是收盘价,第2个输入参数是常量,第三个输入参数为空;/A:=TDXDLL2(2,C,5,0);/B:=TDXDLL2(2,C,10,0);/A,COLORWHITE;/B,COLORYELLOW;voidMA(intDataLen,float*pfOUT,float*pfINa,float*pfINb,float

9、*pfINc)intN=int(*pfINb);floatsum;for(inti=N-1;iDataLen;i+)sum=0.0;for(intj=0;jN;j+)sum=sum+pfINai-j;pfOUTi=sum/N;/加载的函数PluginTCalcFuncInfog_CalcFuncSets=1,(pPluginFUNC)/导出给TCalc的注册函数BOOLRegisterTdxFunc(PluginTCalcFuncInfo*pFun)if(*pFun=NULL)(*pFun)=g_CalcFuncSets;returnTRUE;returnFALSE;第五步,编译生成动态链接库

10、dll。在工程项目下的Debug目录下面,如下图所示。第六步, 把生成的DLL,即ChanlunTdx.dll拷贝到通达信的T0002下面的dlls目录下去。第七步,打开通达信的公式管理器,鼠标单击DLL函数,按照要求,把刚才拷贝进来的ChanLunTdx.dll绑定到1号DLL中去(具体多少号自己定)第八步,新建通达信主图指标,公式名称:CZSC,画线方式:主图叠加;公式代码如下图所示:为了方便大家粘贴,我复制一下:A:=TDXDLL1(2,C,5,0);B:=TDXDLL1(2,C,10,0);CC:=TDXDLL1(1,C,10,0);A,COLORWHITE;B,COLORYELLOW;CC,COLORGREEN;第九步,在通达信主图上键入CZSC,效果图如下:成功了,祝贺你!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报