tdx dll编程

输出目录: C:\zd_ghzq\T0002\dlls   备注: 这个是通达信股票软件的安装目录, 视你的当前环境来填写. 当你进入安装目录的时候, 发现没有dlls这个文件夹时, 你可以自己创建.
3.2 MFC的使用: 在静态库中使用MFC
4> 在刚刚创建好的TDXPlugin项目中添加之前提取出来的PluginTCalcFunc.h头文件

启动你的通达信股票软件, 按CTRL+F激活'公式管理器', 单击'DLL函数'
2> 在'绑定DLL函数'对话框中, 单击'打开绑定', 并选择之前生成好的TDXPlugin.dll文件. 特别注意的是: 默认是选择TDXDLL1, 当你有多个不同的DLL时, 可以下拉选择更多的TDXDLL1~10来绑定不同的DLL文件

 
  
  1. // 图3

  2. // 这里图片已删除, 由于很多网友不尊重编程技术, 因此不在提供截图演示

  3. // 如果想要完整的截图演示, 请支付一定费用, 私我QQ: 643439947

3> 成功绑定之后, 你就可以在通达信股票软件自带的公式编辑器, 写下如下代码:
    TDXDLL1(1, HIGH, CLOSE, LOW) ;

代码含义: TDXDLL1: 表示使用的是TDXDLL1来绑定TDXPlugin.dll
HIGH: 最高价
CLOSE: 收盘价
LOW: 最低价
1: 表示 调用TDXPlugin1这个函数, 当然如果你有多个函数时, 那么你必须修改g_CalcFuncSets结构.

[详解TDXDLL1与TDXPlugin1函数的关系]
当通信达股票软件的公式代码调用了TDXDLL1(1, HIGH, CLOSE, LOW)时, 就会把跟HIGH, CLOSE, LOW这3个参数有关的数据传递给TDXPlugin1函数.

将回调函数入口赋值给g_pFuncCallBack,自编程序中可以就可以使用g_pFuncCallBack函数调用通达信内部数据(如开盘价、收盘价、最高价、最低价、成交金额、成交量等等(具体数据结构参见OutStruct.h)。

PDATAIOFUNC         g_pFuncCallBack;
void RegisterDataInterface(PDATAIOFUNC pfn)
{
        g_pFuncCallBack = pfn;
}
    

    然后就可以进行正式编程了

/ 注册插件信息 ///
//注册插件信息:将公式名称,公式描述,参数数量、参数名字、参数最大最小及默认值等信息传送给通达信,并将存储区地址传递给LPPUGIN结构的指针info(具体数据结构将Plugin.h。本函数的具体参数赋值可以根据用户需要修改。
void GetCopyRightInfo(LPPLUGIN info)
{
        //填写基本信息
        strcpy(info->Name,"插件选股1"); //此信息会显示在通达信插件选股对话框中“名称”栏
        strcpy(info->Dy,"上海");
        strcpy(info->Author,"Julian Zhang");        //此信息会显示在通达信插件选股对话框中“设计人”栏
        strcpy(info->Period,"短线");                //还不清楚有什么用
        strcpy(info->Descript,"MA上穿选股");        //此信息会显示在通达信插件选股对话框中“选股对象”栏
        strcpy(info->OtherInfo,"无其它信息描述");        
        //填写参数信息
        info->ParamNum = 2;        //定义插件参数数量,必须是[0~4]之间整数;
        strcpy(info->ParamInfo[0].acParaName,"MA短天数"); //第一个参数的名称
        info->ParamInfo[0].nMin=1;        //这部分通达信官方模板错误写成nMax,应该为nMin,参数最小值;
        info->ParamInfo[0].nMax=1000;        //定义参数最大值
        info->ParamInfo[0].nDefault=10;        //定义参数默认值
        
        strcpy(info->ParamInfo[1].acParaName,"MA长天数"); //第二个参数的名称
        info->ParamInfo[1].nMin=1;

通达信DLL函数编程规范文件说明:

TestPluginTCale.cpp:DLL入口点
PluginTCalcFunc.h:导出函数声明
TCalcFuncSets.h
TCalcFuncSets.h.cpp:定义导出函数

tdx dll编程_第1张图片

tdx dll编程_第2张图片

//导出给TCalc的注册函数
BOOL RegisterTdxFunc(PluginTCalcFuncInfo** pFun)
{
	if(*pFun==NULL)
	{
		(*pFun)=g_CalcFuncSets;
		return TRUE;
	}
	return FALSE;
}

 然后在公式管理器中通过DLL函数按钮进行绑定,如果绑定失败,可以直接在DLLS目录的配置文件DLLS这个文本文件中将绑定添加进去。

如果绑定失败就不要从快捷方式启动,直接从安装路径启动

 

你可能感兴趣的:(mfc,c++)