输出目录: 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文件

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:定义导出函数

通达信dll 链接PYTHON 通达信dll编写_通达信dll 链接PYTHON

通达信dll 链接PYTHON 通达信dll编写_c++_02

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

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

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