最标准最简洁的通达信DLL股票插件编程开发流程
Posted 我不是代码教父
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最标准最简洁的通达信DLL股票插件编程开发流程相关的知识,希望对你有一定的参考价值。
[简介]常用网名: 猪头三
出生日期: 1981.XX.XX
个人网站: https://www.x86asm.org
Email: 643439947@qq.com
QQ交流: 643439947
编程生涯: 2001年~至今[14年]
职业生涯: 12年
开发语言: C/C++、80x86ASM、php、Perl、Objective-C、Object Pascal、C#、Python
开发工具: Visual Studio、Delphi、XCode、Eclipse
技能种类: 逆向 驱动 磁盘 文件
研发领域: Windows应用软件安全/Windows系统内核安全/Windows系统磁盘数据安全
项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测
[序言]
2015年开始, 中国股市大涨, 号称突破10000点, 我也信了. 通信达股票软件去年开始支持加载外部DLL文件并执行. 这个是一个非常好的开放. 也给广大技术指标股民带来的便利. 作为09年的股民, 不跟上这种技术潮流, 是不行的. 因此这几天索性折腾一番, 发现网络上公布的文章, 要么是技术漏洞百出, 要么是排版非常混乱, 为了改变这种现状, 我有必写出一篇干净整洁的版本.
[阅读群体]
只合适具有C/C++编程经验的技术指标股民阅读, 如果你看不懂大部分的内容, 请补习一下Windows相关编程理论.
[版权声明-2017-06-13]
太多无耻和不良的所谓股票编程插件高手, 引用我的文章而不标注出处, 拿着我的分享的编程技术细节欺骗广大股民和做欺诈性营销, 这是我深恶痛绝的. 因此从今以后不在发表相关的股票插件开发代码细节. 本篇文章成为绝唱, 也是目前最好的入门教程. 其实我已经做很多预防性的措施, 更高级和更有用的技术, 留在手上, 没有一次性发表. 因为这是值钱的东西, 也确实有很多客户买了我这套源码框架, 感谢大家的支持.
[工具准备]
1> 安装一款由通达信定制的股票软件: 比如我的是: 国海证券理财服务终端
2> 安装开发工具: Microsoft Visual Studio 2010版本以上.
[开始开发支持通达信调用的DLL文件]
1> XXXXXXXXXXXXXXXXXXXXXXXXXXX(由于很多网友不尊重编程技术, 因此隐藏关键描述1, 如果你需要查看, 请支付一定费用, 私我QQ: 643439947), 这个文件包含跟通达信股票软件交互的关键代码.
2> 启动Microsoft Visual Studio 2010开发工具从菜单选择 “新建”->“项目”->"Visual C++"->"MFC"->"MFC DLL"并输入项目名称:TDXPlugin 然后在弹出的"MFC DLL向导"对话框中选择DLL类型为"使用共享MFC DLL的规则DLL".
3> 配置刚刚创建好的TDXPlugin项目属性(从菜单选择 "项目"->"TDXPlugin属性"->"常规")
3.1 输出目录: C:\\zd_ghzq\\T0002\\dlls 备注: 这个是通达信股票软件的安装目录, 视你的当前环境来填写. 当你进入安装目录的时候, 发现没有dlls这个文件夹时, 你可以自己创建.
3.2 MFC的使用: 在静态库中使用MFC
4> 在刚刚创建好的TDXPlugin项目中添加之前提取出来的PluginTCalcFunc.h头文件.
[根据通达信的规范编写代码]
1> 在TDXPlugin.cpp文件添加如下代码(注意: TDXPlugin.cpp原有的代码不要删除):
// 图1
// 这里的代码片段已删除, 由于很多网友不尊重编程技术, 因此不在提供代码片段
// 如果想要获取完整的代码片段, 请支付一定费用, 私我QQ:643439947
2> 在TXDPlugin.def文件设置函数RegisterTdxFunc为导出函数.// 图2
// 这里的代码片段已删除, 由于很多网友不尊重编程技术, 因此不在提供代码片段
// 如果想要获取完整的代码片段, 请支付一定费用, 私我QQ:643439947
3> 开始编译, 如果你完全按照我的步骤处理的话, 不会有任何问题, 然后会在C:\\zd_ghzq\\T0002\\dlls的目录(备注: 这个是通达信股票软件的安装目录, 视你的当前环境来填写. 当你进入安装目录的时候, 发现没有dlls这个文件夹时, 你可以自己创建)下生成TDXPlugin.dll[通达信股票软件如何加载TDXPlugin.dll并调用写好的TDXPlugin1函数呢?]
1> 启动你的通达信股票软件, 按CTRL+F激活"公式管理器", 单击"DLL函数"
2> 在"绑定DLL函数"对话框中, 单击"打开绑定", 并选择之前生成好的TDXPlugin.dll文件. 特别注意的是: 默认是选择TDXDLL1, 当你有多个不同的DLL时, 可以下拉选择更多的TDXDLL1~10来绑定不同的DLL文件
// 图3
// 这里图片已删除, 由于很多网友不尊重编程技术, 因此不在提供截图演示
// 如果想要完整的截图演示, 请支付一定费用, 私我QQ: 643439947
3> 成功绑定之后, 你就可以在通达信股票软件自带的公式编辑器, 写下如下代码:
TDXDLL1(1, HIGH, CLOSE, LOW) ;
// 图4
// 这里图片已删除, 由于很多网友不尊重编程技术, 因此不在提供截图演示
// 如果想要完整的截图演示, 请支付一定费用, 私我QQ: 643439947
代码含义:
TDXDLL1: 表示使用的是TDXDLL1来绑定TDXPlugin.dll
HIGH: 最高价
CLOSE: 收盘价
LOW: 最低价
1: 表示 调用TDXPlugin1这个函数, 当然如果你有多个函数时, 那么你必须修改g_CalcFuncSets结构.
// 图5
// 这里代码片段已删除, 由于很多网友不尊重编程技术, 因此不在提供代码片段
// 如果想要完整的代码演示, 请支付一定费用, 私我QQ: 643439947
上面的结构表示你有3个函数可以让通达信股票软件调用. 比如让通达信股票软件调用TDXPlugin2时,代码需要写成:TDXDLL1(2, HIGH, CLOSE, LOW) ;
特此声明: 通达信股票软件自带的公式编辑器 已经不属于C/C++编程规范了, 因此我这里不再详细介绍如何使用公式编辑器. 作为一个合格的技术指标股民, 你应该自己研究一下.
[详解TDXDLL1与TDXPlugin1函数的关系]
当通信达股票软件的公式代码调用了TDXDLL1(1, HIGH, CLOSE, LOW)时, 就会把跟HIGH, CLOSE, LOW这3个参数有关的数据传递给TDXPlugin1函数. 比如下面的参数解释
// 图6
// 这里代码片段已删除, 由于很多网友不尊重编程技术, 因此不在提供代码片段
// 如果想要完整的代码演示, 请支付一定费用, 私我QQ: 643439947
备注: OutputDebugString是一个打印函数, 你需要通过DebugView工具查看.[自定义DLL函数返回数据并画图, 自定义DLL函数自动整理数据并分析显示, 自定义DLL函数跟通达信公式进行复杂交互...等相关功能性开发]
这些复杂的功能, 我使用的是收费模式, 不会免费对外公布. 价格可以私聊QQ:643439947. 备注: 很多技术派的股民, 都想通过通达信获取更多的数据, 来自行分析并整理. 因此这篇文章发表之后, 很多人都想免费获取相关的技术. 但实在很抱歉, 我并不是通达信的义工. 如果您想获取更多的技术解决方案, 可以考虑支付一定的技术费用来获取相关的技术原理.
[总结]
一般来说, 只要你有丰富的开发经验, 你可以扩展出很多强大的功能, 请大家发挥自己的想象力吧......
以上是关于最标准最简洁的通达信DLL股票插件编程开发流程的主要内容,如果未能解决你的问题,请参考以下文章