通达信DLL用C++开发非常麻烦,比如每次dll编译完成以后放到通达信DLL目录,然后就会报错:
显然该dll被占用,无法热更新,需要首先解绑,然后完成dll拷贝之后,重新绑定。
此外,即使你随便修改一丁点内容,dll也需要重新编译,但是由于缺乏必要的调试工具,有什么错误你也看不到,实在是太麻烦了!
如果你是用脚本语言来编写通达信的公式,采用热更新的方式呢?那开发起来就是开了挂般的飞起来,效率简直是丝般顺滑。
脚本界扛把子Python能不能这么搞呢?
显然,不能!为嘛?
Python太慢了,引擎开启也慢。卡着卡着就死机崩溃了!所以想在dll里面直接调Python引擎就别想了。另外通达信是32位的,而很多人安装了64位的Python,二者差别之大就是简直就是鸡同鸭对话。不信各位可以试试。
搞了些奇思妙想,反正最后是解决问题。效果如下:
这里我首先绑定Python的dll,我选择绑定了9号dll:
然后编辑如下公式,选择TDXDLL9,公式如下。
FLine1是我的Python的一号公式;FLine2是我的Python的二号公式。
然后在tdxdllpy.py文件输入如下计算公式:
就是两个函数:TestPlugin1和TestPlugin2,对应FLine1和FLine2调用的公式。
当然以上Python文件你可以任意修改,无需重新编译dll。
剩下的就是通常的dll公式或者普通公式操作步骤了。
在通达信中可以看到效果:
以上就是用Python开发通达信dll的全过程。
Python语法简洁,还可以调用Numpy等数值计算库以及TA-lib股票技术分析库,功能强大,且支持热更新。
Python能干的事情简直是太多了,发挥你的想象力吧!
以上就是利用Python开发通达信DLL公式的过程和效果。
用Python语言来写公式,开发起来丝般顺滑,相比C++开发,免去了编译、绑定的麻烦,语法也非常简单,避免了C、C++的开发大坑,可以让大家愉快的踏入股票公式开发的大门。
此外,python有强大的外部数值计算库以及股票分析库可以调用,配合通达信来搞分析,简直就是开了挂一般。当然以上思路移植到大智慧、分析家之类也是差不多的。技术都是相通的。
有兴趣的欢迎私信。