久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

通達(dá)信DLL函數(shù)插件編程教程(靜態(tài)庫(kù))

 高天_流云 2018-09-14
?來(lái)源:理想論壇  
工具軟件:Visu Studio 2015.rar
參考文件:通達(dá)信DLL函數(shù)編程規(guī)范.rar 
U6)66PMXV%)RQ_Q78U0PYUM.png (98.17 KB)


U6)66PMXV%)RQ_Q78U0PYUM.png

V%E5VMDF27TXKZ@B8$0F]PQ.png (53.51 KB)


V%E5VMDF27TXKZ@B8$0F]PQ.png

FDH(S%E68IK5$O{QJBD_T0N.png (152.63 KB)


FDH(S%E68IK5$O{QJBD_T0N.png

Z_6E~7}DZ8ISNRE}(YQ)1TA.png (25.01 KB)


Z_6E~7}DZ8ISNRE}(YQ)1TA.png

 0}_8KFWF5~[{QMG1)_{]03T.png (119.62 KB)

0}_8KFWF5~[{QMG1)_{]03T.png

給項(xiàng)目一個(gè)名稱:TDXPlugin

圖中標(biāo)示的做完了點(diǎn)確定
 Y@%(L]ES[0}ZBMYVMW[K~2W.png (106.8 KB)Y@%(L]ES[0}ZBMYVMW[K~2W.png


上圖所標(biāo)示的全部做完了,點(diǎn)確定
添加現(xiàn)有項(xiàng),,一步一步照著做
 E3N$X~905)@48UR@GLU3G)T.png (81.37 KB



USGG_(N3ZZ(285]V477~44L.png (67.87 KB)





JE`})4X__CJ(M87171G4YNV.png (52.02 KB)




EHK9U}}O)%0}6}60JDK4Q5I.png (84.4 KB)




把下面的內(nèi)容復(fù)制到紅框里:
為了防止網(wǎng)絡(luò)錯(cuò)誤造成源代碼缺失,,下面的內(nèi)容也在副件里:

#ifndef __PLUGIN_TCALC_FUNC
#define __PLUGIN_TCALC_FUNC
#pragma pack(push,1) 

//函數(shù)(數(shù)據(jù)個(gè)數(shù),輸出,輸入a,輸入b,輸入c)
typedef void(*pPluginFUNC)(int,float*,float*,float*,float*);

typedef struct tagPluginTCalcFuncInfo
{
        unsigned short                nFuncMark;//函數(shù)編號(hào)
        pPluginFUNC                        pCallFunc;//函數(shù)地址
}PluginTCalcFuncInfo;

typedef BOOL(*pRegisterPluginFUNC)(PluginTCalcFuncInfo**);  


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

//=======================================

extern"C"
{
//__cplusplus
__declspec(dllexport)BOOL RegisterTdxFunc(PluginTCalcFuncInfo**pFun);
}


#pragma pack(pop)
#endif
 TDXPlugin.txt (730 Bytes) 預(yù)覽附件




右鍵點(diǎn)標(biāo)注的地方,,點(diǎn)快速操作與重構(gòu),點(diǎn)跳出來(lái)的第一行的東東
 BQT}2T`E_@WA`83QI2@TU(5.png (102.32 KB)



MP(0GXECJUQE4Z(VJYKVX1Q.png (99.91 KB)



把下面的源代碼復(fù)制到圖中標(biāo)示的紅框里:
為了防止網(wǎng)絡(luò)原因造成源代碼缺失,,盡量用附件里的源代碼



//生成的dll及相關(guān)依賴dll請(qǐng)拷貝到通達(dá)信安裝目錄的T0002/dlls/下面,再在公式管理器進(jìn)行綁定
//函數(shù):EMA(X,N)

//說(shuō)明:指數(shù)平滑移動(dòng)平均賣一價(jià)求指數(shù)平滑移動(dòng)平均,。
//用法:EMA(X,N),求X的N日指數(shù)平滑移動(dòng)平均。

//算法:若Y=EMA(X,N)則Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值,。
//例如:EMA(CLOSE, 30)表示求30日指數(shù)平滑均價(jià)

//通達(dá)信中用的時(shí)候,,第一個(gè)輸入?yún)?shù)是收盤價(jià),,第2個(gè)輸入?yún)?shù)是常量,第三個(gè)輸入?yún)?shù)為空,;

void EMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)
{
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
        float fTemp = 0.0;
        int N = int(*pfINb);
        pfOUT[0] = 0.0;
        for (int i = 1;
                i<DataLen; i++)
                pfOUT = (2 * pfINa + (N - 1)*pfOUT[i - 1]) / (N + 1);
}


//----------------------------------------------函數(shù)MA(X,N)-----------------------------------
//別名:簡(jiǎn)單移動(dòng)平均

//所屬類別:引用函數(shù)參數(shù)數(shù)量:2
//求簡(jiǎn)單移動(dòng)平均,。

//用法:MA(X,N),求X的N日簡(jiǎn)單移動(dòng)平均值。
//算法:(X1+X2+X3+...+Xn)/N

//例如:MA(CLOSE,20)表示求20日均價(jià)

//通達(dá)信中用的時(shí)候,,第一個(gè)輸入?yún)?shù)是收盤價(jià),,第2個(gè)輸入?yún)?shù)是常量,第三個(gè)輸入?yún)?shù)為空,;

//A:=TDXDLL2(2,C,5,0);
//B:=TDXDLL2(2,C,10,0);
//A,COLORWHITE;
//B,COLORYELLOW;

void MA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)
{
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
        int N = int(*pfINb);
        float sum;
        for (int i = N - 1; i<DataLen; i++)
        {
                sum = 0.0;
                for (int j = 0;
                        j<N; j++)
                        sum = sum + pfINa[i - j];
                pfOUT = sum / N;
        }
}


// g_CalcFuncSets全局結(jié)構(gòu), 存儲(chǔ)你自己編寫好的函數(shù), 比如TDXPlugin1函數(shù)  
PluginTCalcFuncInfo g_CalcFuncSets[] =
{
        { 1, (pPluginFUNC)&EMA},
        { 2, (pPluginFUNC)&MA},
        { 0, NULL },
};

// 該函數(shù)為導(dǎo)出函數(shù),給通信達(dá)股票軟件調(diào)用并初始化  
BOOL RegisterTdxFunc(PluginTCalcFuncInfo** pFun)
{
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
        if (*pFun == NULL)
        {
                (*pFun) = g_CalcFuncSets;
                return TRUE;
        }
        return FALSE;
}
對(duì)照著圖排版,從最下層的最后一行開始排,可以按刪除鍵,當(dāng)刪到上一行的末尾的時(shí)候點(diǎn)確認(rèn)鍵
讓軟件黑認(rèn)排好位置,就不會(huì)出錯(cuò)了
這是上半部份



對(duì)照著圖排版,從最下層的最后一行開始排,可以按刪除鍵,當(dāng)刪到上一行的末尾的時(shí)候點(diǎn)確認(rèn)鍵
讓軟件黑認(rèn)排好位置,就不會(huì)出錯(cuò)了
這是下半部份


K]P`PCM}TW)SLWUL1H[9DBK.png (110.77 KB)

把這個(gè)復(fù)制到圖中的位置:

RegisterTdxFunc @1
 X5SL~_)2VI3GVJ0]@DG[4E8.png (88.62 KB)

點(diǎn)生成解決方案



提示錯(cuò)誤,刪掉紅框里的
 80)B9QW@DL561IMX%A`N$`L.png (123.62 KB)




A1G]K03[AZDBPGKBU28I})X.png (112.06 KB)



好吧,把這個(gè)教程完成吧,上面所有的步驟我也重新一步不差的走到這里的


按照?qǐng)D中的提示做,或者您直接打開在第八樓在圖中要您設(shè)置的目錄也是可以的
 W[ID0TH9}VR6Q088X)}R2O5.png (78.39 KB)


打開我們所熟悉的通達(dá)信文件夾


打開T0002文件夾
 2345_image_file_copy_2.jpg (88.95 KB)



把剛才一再?gòu)?qiáng)調(diào)要復(fù)制的那個(gè)文件復(fù)制進(jìn)dlls文件夾




2345_image_file_copy_4.jpg (108.75 KB)


點(diǎn)功能--公式系統(tǒng)--公式管理器

點(diǎn)DLL函數(shù)








A:=TDXDLL2(2,C,5,0);
B:=TDXDLL2(2,C,10,0);
CC:=TDXDLL2(1,C,10,0);
A,COLORWHITE;
B,COLORYELLOW;
CC,COLORGREEN;


好了,成功了,請(qǐng)關(guān)注新帖,開始實(shí)戰(zhàn):

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多