利用Matlab开发通达信DLL公式

用C++开发通达信DLL比较麻烦,每次dll编译完成以后放到通达信DLL目录,都必须重新开启通达信,否则直接拷贝就会报错:


显然该dll被占用,无法热更新,需要首先解绑,然后完成dll拷贝之后,重新绑定。

此外,即使你随便修改一丁点内容,dll也需要重新编译,但是由于缺乏必要的调试工具,有什么错误你也看不到,实在是太麻烦了!

如果你是用脚本语言来编写通达信的公式,采用热更新的方式呢?那开发起来就是开了挂般的飞起来,效率简直是丝般顺滑。


之前用Lua和JavaScript开发了通达信公式计算的DLL。这两个语言性能极好,也能够支持热更新。

而Python和Matlab按照同样的原理就不行了,这两货引擎极慢。这么搞通达信就死机了。当然基于一些方法,Python也支持热更新开发通达信dll了。

既然脚本界扛把子Python能搞定,那Matlab基于同样思路,一样能搞定了。

Matlab在Python打火之前早就是金融分析界的扛把子了。至今它的金融工具箱,GARCH工具箱等几乎都是领先的,而且Matlab的文档质量极高,完全可以当做股票分析的范文。

不吹了。咱们还是看Matlab的通达信DLL制作吧。效果如下:

这里我首先绑定Python的dll,我选择绑定了9号dll:


然后编辑如下公式,选择TDXDLL9,公式如下。

FLine1是我的Python的一号公式;FLine2是我的Python的二号公式。

以上我分别输入了2天、20天和60天的EXPMA均线,然后Matlab获取了这些数据。在TestPlugin1.m和TestPlugin2.m文件(分别对应以上的FLINE1和FLINE2)中输入如下计算公式:


两个文件:TestPlugin1和TestPlugin2,对应FLine1和FLine2调用的公式。

当然以上Matlab文件你可以任意修改,完全无需重新编译dll。

剩下的就是通常的dll公式或者普通公式操作步骤了。

在通达信中可以看到效果,见附图:


以上就是用Matlab开发通达信dll的全过程。

Matlab语法简洁,还有强大的金融工具箱,功能强大,且支持热更新。发挥你的想象力吧!


以上就是利用Matlab开发通达信DLL公式的过程和效果。可以指出的是,本人的测试中,Matlab的开发效果要优于Python,Python实在是太慢了,不稳定,在极个别时候会造成通达信死机。而Matlab、JS和Lua就没这些问题。


用Matlab语言来写公式,开发起来丝般顺滑,相比C++开发,免去了编译、绑定的麻烦,语法也非常简单,避免了C、C++的开发大坑,可以让大家愉快的踏入股票公式开发的大门。

有兴趣的欢迎私信或者加Q:2795035196。

你可能感兴趣的:(利用Matlab开发通达信DLL公式)