用C++開發(fā)通達(dá)信DLL比較麻煩都哭,每次dll編譯完成以后放到通達(dá)信DLL目錄秩伞,都必須重新開啟通達(dá)信,否則直接拷貝就會(huì)報(bào)錯(cuò):
顯然該dll被占用欺矫,無法熱更新稠歉,需要首先解綁,然后完成dll拷貝之后汇陆,重新綁定怒炸。
此外,即使你隨便修改一丁點(diǎn)內(nèi)容毡代,dll也需要重新編譯阅羹,但是由于缺乏必要的調(diào)試工具,有什么錯(cuò)誤你也看不到教寂,實(shí)在是太麻煩了捏鱼!
如果你是用腳本語(yǔ)言來編寫通達(dá)信的公式,采用熱更新的方式呢酪耕?那開發(fā)起來就是開了掛般的飛起來导梆,效率簡(jiǎn)直是絲般順滑。
之前用Lua和JavaScript開發(fā)了通達(dá)信公式計(jì)算的DLL。這兩個(gè)語(yǔ)言性能極好看尼,也能夠支持熱更新递鹉。
而Python和Matlab按照同樣的原理就不行了,這兩貨引擎極慢藏斩。這么搞通達(dá)信就死機(jī)了躏结。當(dāng)然基于一些方法,Python也支持熱更新開發(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文件你可以任意修改,完全無需重新編譯dll揪罕。
剩下的就是通常的dll公式或者普通公式操作步驟了梯码。
在通達(dá)信中可以看到效果,見附圖:
以上就是用Matlab開發(fā)通達(dá)信dll的全過程好啰。
Matlab語(yǔ)法簡(jiǎn)潔轩娶,還有強(qiáng)大的金融工具箱,功能強(qiáng)大框往,且支持熱更新鳄抒。發(fā)揮你的想象力吧!
以上就是利用Matlab開發(fā)通達(dá)信DLL公式的過程和效果⌒斫Γ可以指出的是瓤鼻,本人的測(cè)試中,Matlab的開發(fā)效果要優(yōu)于Python闹司,Python實(shí)在是太慢了娱仔,不穩(wěn)定,在極個(gè)別時(shí)候會(huì)造成通達(dá)信死機(jī)游桩。而Matlab牲迫、JS和Lua就沒這些問題。
用Matlab語(yǔ)言來寫公式借卧,開發(fā)起來絲般順滑盹憎,相比C++開發(fā),免去了編譯铐刘、綁定的麻煩陪每,語(yǔ)法也非常簡(jiǎn)單,避免了C镰吵、C++的開發(fā)大坑檩禾,可以讓大家愉快的踏入股票公式開發(fā)的大門。
有興趣的歡迎私信或者加Q:2795035196疤祭。