### 通达信DLL股票插件开发流程详解
#### 一、引言
随着中国股市的不断升温,投资者对于股票交易软件的需求也越来越高。通达信作为一款知名的证券行情及交易系统,在近几年更是推出了支持外部DLL文件的功能,这极大地拓展了软件的功能性和灵活性。对于具有一定C/C++编程基础的技术型投资者来说,掌握通达信DLL插件的开发方法不仅能够满足个性化需求,还能提升投资效率。
#### 二、目标读者
本文主要面向具备C/C++编程经验的股民和技术人员。如果你对Windows编程有一定的了解,并且希望利用通达信平台进行自定义功能开发,则本文非常适合你阅读。如果你对这些概念感到陌生或无法理解大部分内容,请先学习相关的编程基础知识。
#### 三、开发前的准备工作
在开始开发之前,你需要准备好以下几样工具:
1. **通达信定制股票软件**:如国海证券理财服务终端等,确保你的电脑上已经安装了通达信提供的官方定制软件。
2. **开发工具**:Microsoft Visual Studio 2010及以上版本。虽然Visual Studio 2010已足够完成本任务,但更新版的Visual Studio可能提供更好的体验和支持。
#### 四、开发流程详解
##### 1. 下载必要文件
从通达信官方网站(http://help.tdx.com.cn/book.asp)下载“通达信DLL函数编程规范.rar”压缩包,并从中提取出`PluginTCalcFunc.h`头文件。这个文件非常重要,因为它包含了与通达信股票软件进行交互的所有关键接口。
##### 2. 创建新项目
启动Visual Studio 2010,通过菜单栏中的“新建”->“项目”选项,选择“Visual C++”->“MFC”->“MFC DLL”,并给项目命名为“TDXPlugin”。在随后出现的“MFC DLL向导”对话框中,选择DLL类型为“使用共享MFC DLL的规则DLL”。
##### 3. 配置项目属性
- 打开“项目”->“TDXPlugin属性”->“常规”选项卡,设置输出目录为通达信股票软件的安装目录下的`dlls`文件夹。例如:`C:\zd_ghzq\T0002\dlls`。如果该目录不存在,需手动创建。
- 在“MFC的使用”选项中选择“在静态库中使用MFC”。
##### 4. 添加头文件
将之前提取的`PluginTCalcFunc.h`头文件添加到TDXPlugin项目中。这一步骤可以通过右键点击项目资源管理器中的“源文件”->“添加”->“现有项”来实现。
##### 5. 编写代码
接下来,需要编写实际的DLL函数。在`TDXPlugin.cpp`文件中添加以下代码:
```cpp
// TDXPlugin1函数用于与通信达股票软件进行交互。
void TDXPlugin1(int DataLen, float* pfOUT, float* pfINa, float* pfINb, float* pfINc) {
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// 这里添加具体的股票分析代码
}
// g_CalcFuncSets全局结构体,用于存储自定义函数TDXPlugin1
PluginTCalcFuncInfo g_CalcFuncSets[] = {
{1, (pPluginFUNC)&TDXPlugin1},
{0, NULL},
};
// 导出函数,用于初始化并与通信达股票软件交互
BOOL RegisterTdxFunc(PluginTCalcFuncInfo** pFun) {
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if (*pFun == NULL) {
(*pFun) = g_CalcFuncSets;
return TRUE;
}
return FALSE;
}
```
在`TXDPlugin.def`文件中声明`RegisterTdxFunc`为导出函数:
```plaintext
LIBRARY
EXPORTS
RegisterTdxFunc@1
```
完成上述步骤后,编译项目,成功后将在指定目录下生成`TDXPlugin.dll`文件。
##### 6. 加载DLL并调用函数
- 启动通达信股票软件,按下`Ctrl + F`激活“公式管理器”窗口。
- 选择“DLL函数”选项卡,点击“打开绑定”,然后选择之前生成的`TDXPlugin.dll`文件。
- 如果有多于一个DLL文件,可以通过下拉列表选择不同的DLL。
至此,你已经成功地完成了通达信DLL插件的开发,并且知道了如何在通达信股票软件中加载和使用该插件。通过这种方式,你可以根据自己的需求开发各种自定义功能,提高股票分析和交易的效率。
1