电竞比分网-中国电竞赛事及体育赛事平台

分享

通達(dá)信公式管理器dll編程

 cxm54666 2024-09-15

官方dll應(yīng)用

官方Dll下載

https://help./book.html

通達(dá)信DLL函數(shù)編程規(guī)范.rar-------2024/7/15 (64位)

通達(dá)信插件選股編程規(guī)范.rar-------2015/12/2 (32位)

VS編譯得到dll文件

1、TestPluginTCale.dll放到T0002下的dlls文件夾下

通達(dá)信公式管理器dll編程

2、ctrl+F打開公式管理器點擊“dll函數(shù)”綁定dll。

通達(dá)信公式管理器dll編程通達(dá)信公式管理器dll編程

點擊“打開綁定”后,選擇剛才放到T0002\dlls下的“TestPluginTCale.dll”。

3、第1號dll綁定成功,對應(yīng)使用TDXDLL1函數(shù)。

通達(dá)信公式管理器dll編程

應(yīng)用官方dll編公式

1、查看官方TestPluginTCale工程TcalcFuncSets.Cpp文件主要內(nèi)容,主要包含一號函數(shù)、二號函數(shù),分別求K線數(shù)目和三個序列數(shù)據(jù)的均值。

通達(dá)信公式管理器dll編程IMG_256

2、指標(biāo)公式編寫

Ctrl+F公式管理器綁定的是1號dll,所以函數(shù)用TDXDLL1

通達(dá)信公式管理器dll編程

源碼

TDXDLL1(1,C,O,H);{K線數(shù)目}

TDXDLL1(1,1,1,1);{K線數(shù)據(jù)驗證參數(shù)必須填,沒用的參數(shù)隨便填不能空著}

BARSCOUNT(C);{第一個個函數(shù)TESTPLUGIN1相當(dāng)于系統(tǒng)函數(shù)BARSCOUNT}

TDXDLL1(2,C,O,H);{第二個個函數(shù)TESTPLUGIN2,求后面三個序列值參數(shù)的平均值}

(C+O+H)/3;{TESTPLUGIN2等價實現(xiàn)代碼};

k線界面查看驗證輸出

通達(dá)信公式管理器dll編程

前三個輸出對應(yīng)dll中函數(shù)TESTPLUGIN1結(jié)果輸出值,后兩個對一個dll函數(shù)TESTPLUGIN2結(jié)果輸出值。

自編實現(xiàn)重要說明

PluginTCalcFunc.h頭文件中

PluginTCalcFuncInfo結(jié)構(gòu)用來存放用戶自己的函數(shù)地址pCallFunc和函數(shù)唯一標(biāo)記(函數(shù)編號)nFuncMark;

pCallFunc是typedef void(*pPluginFUNC)( int DataLen,float* pfOUT,float* pfINa,float* pfINb,float* pfINc)類型指針;

函數(shù)參數(shù)分別是(數(shù)據(jù)個數(shù),輸出,輸入a,輸入b,輸入c),參數(shù)的計算是基于長度為DataLen的float類型數(shù)組。

TCalcFuncSets.h頭文件中

RegisterTdxFunc函數(shù)為注冊函數(shù),用戶的函數(shù)全部都放入PluginTCalcFuncInfo結(jié)構(gòu)的全局?jǐn)?shù)組g_CalcFuncSets中。

1、在官方dll里自編一個USERFUNC4函數(shù)

USERFUNC0--USERFUNC4函數(shù)

調(diào)用DLL中的函數(shù),DLL中內(nèi)部對應(yīng)定義。

USERFUNC0不帶參的函數(shù)

USERFUNC1(param1)帶一個參的函數(shù)

USERFUNC2(param1,param2)帶兩個參的函數(shù)

USERFUNC3(param1,param2,param3)帶三個參的函數(shù)

USERFUNC4(param1,param2,param3,param4) 帶是個參的函數(shù)

通達(dá)信公式管理器dll編程

在TCalcFuncSets.cpp中增加函數(shù)USERFUNC4,框出來的部分為增加此函數(shù)而新增的全部代碼。

2、驗證輸出。

(同樣兒要先編譯dll把這個新dll取名為TestPluginTCalemax.dll,放到T0002\dlls目錄,用公式管理器把此dll綁定到2號dll函數(shù),用TDXDLL2)

MAXSC1:USERFUNC4(3,C,O,H);{新增的3USERFUNC4函數(shù),求3數(shù)據(jù)的最大值}

MAXDSC2:TDXDLL2(3,C,O,H);{新增的3號函數(shù),求3數(shù)據(jù)的最大值}

KNUMSC1:TDXDLL1(1,C,O,H);{K線數(shù)目}

KNUMSC2:TDXDLL1(1,1,1,1);{K線數(shù)據(jù)驗證參數(shù)必須填,沒用的參數(shù)隨便填不能空著}

KNUMSC3:BARSCOUNT(C);{第一個個函數(shù)TESTPLUGIN1相當(dāng)于系統(tǒng)函數(shù)BARSCOUNT}

MA3DATASC1:TDXDLL1(2,C,O,H);{第二個個函數(shù)TESTPLUGIN2,求后面三個序列值參數(shù)的平均值}

MA3DATASC2:(C+O+H)/3;{TESTPLUGIN2等價實現(xiàn)代碼};

K線中數(shù)據(jù)查看:后面5個前面已經(jīng)驗證,MAXDSC2是TDXDLL2的3號函數(shù)(新增的max函數(shù))的輸出正確,USERFUNC4輸出為空--,此函數(shù)暫不支持。

需要dll編程的請使用TDXDLL系列函數(shù)。

通達(dá)信公式管理器dll編程

3、其他聲明

3.1、綁定dll時,dll文件必須放在通達(dá)信安裝目錄的T0002\dlls下。

3.2、Dll綁定問題,如果官方dll無法綁定,請聯(lián)系通達(dá)信驗證并修正后支持;后期如因公司戰(zhàn)略計劃調(diào)整或其他需要不再對外提供基本數(shù)據(jù)獲取,隨時可能取消dll編程的支持。

3.3、如果是從其他第三方購買的dll,突然無法綁定無法使用,請聯(lián)系dll編寫售賣方。

3.4、接口是免費開放,數(shù)據(jù)是否支持,支持哪些基本數(shù)據(jù),以輸出查看到的結(jié)果為準(zhǔn)。

3.5、Dll編程請自行擴(kuò)展編寫、自行調(diào)試,通達(dá)信不提供dll編程或dll編程答疑服務(wù)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多