利用Matlab開(kāi)發(fā)通達(dá)信DLL公式

用C++開(kāi)發(fā)通達(dá)信DLL比較麻煩,每次dll編譯完成以后放到通達(dá)信DLL目錄,都必須重新開(kāi)啟通達(dá)信,否則直接拷貝就會(huì)報(bào)錯(cuò):


顯然該dll被占用,無(wú)法熱更新,需要首先解綁,然后完成dll拷貝之后,重新綁定。

此外,即使你隨便修改一丁點(diǎn)內(nèi)容,dll也需要重新編譯,但是由于缺乏必要的調(diào)試工具,有什么錯(cuò)誤你也看不到,實(shí)在是太麻煩了!

如果你是用腳本語(yǔ)言來(lái)編寫(xiě)通達(dá)信的公式,采用熱更新的方式呢?那開(kāi)發(fā)起來(lái)就是開(kāi)了掛般的飛起來(lái),效率簡(jiǎn)直是絲般順滑。


之前用Lua和JavaScript開(kāi)發(fā)了通達(dá)信公式計(jì)算的DLL。這兩個(gè)語(yǔ)言性能極好,也能夠支持熱更新。

而Python和Matlab按照同樣的原理就不行了,這兩貨引擎極慢。這么搞通達(dá)信就死機(jī)了。當(dāng)然基于一些方法,Python也支持熱更新開(kāi)發(fā)通達(dá)信dll了。

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

Matlab在Python打火之前早就是金融分析界的扛把子了。至今它的金融工具箱,GARCH工具箱等幾乎都是領(lǐng)先的,而且Matlab的文檔質(zhì)量極高,完全可以當(dāng)做股票分析的范文。

不吹了。咱們還是看Matlab的通達(dá)信DLL制作吧。效果如下:

這里我首先綁定Python的dll,我選擇綁定了9號(hào)dll:


然后編輯如下公式,選擇TDXDLL9,公式如下。

FLine1是我的Python的一號(hào)公式;FLine2是我的Python的二號(hào)公式。

以上我分別輸入了2天、20天和60天的EXPMA均線,然后Matlab獲取了這些數(shù)據(jù)。在TestPlugin1.m和TestPlugin2.m文件(分別對(duì)應(yīng)以上的FLINE1和FLINE2)中輸入如下計(jì)算公式:


兩個(gè)文件:TestPlugin1和TestPlugin2,對(duì)應(yīng)FLine1和FLine2調(diào)用的公式。

當(dāng)然以上Matlab文件你可以任意修改,完全無(wú)需重新編譯dll。

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

在通達(dá)信中可以看到效果,見(jiàn)附圖:


以上就是用Matlab開(kāi)發(fā)通達(dá)信dll的全過(guò)程。

Matlab語(yǔ)法簡(jiǎn)潔,還有強(qiáng)大的金融工具箱,功能強(qiáng)大,且支持熱更新。發(fā)揮你的想象力吧!


以上就是利用Matlab開(kāi)發(fā)通達(dá)信DLL公式的過(guò)程和效果??梢灾赋龅氖?,本人的測(cè)試中,Matlab的開(kāi)發(fā)效果要優(yōu)于Python,Python實(shí)在是太慢了,不穩(wěn)定,在極個(gè)別時(shí)候會(huì)造成通達(dá)信死機(jī)。而Matlab、JS和Lua就沒(méi)這些問(wèn)題。


用Matlab語(yǔ)言來(lái)寫(xiě)公式,開(kāi)發(fā)起來(lái)絲般順滑,相比C++開(kāi)發(fā),免去了編譯、綁定的麻煩,語(yǔ)法也非常簡(jiǎn)單,避免了C、C++的開(kāi)發(fā)大坑,可以讓大家愉快的踏入股票公式開(kāi)發(fā)的大門(mén)。

有興趣的歡迎私信或者加Q:2795035196。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容