[原創]通達信dll公式函數規范,delphi版 [通達信]
-
咨詢內容:
library tdxdlltest;{通達信dll公式函數規范 delphi版 2016.03.05 }usesSysUtils,Windows;{$R *.res}typeArraySingle=array of single;typepPluginFUNC = procedure(p1: Integer; var p2, p3, p4, p5: ArraySingle); cdecl;tagPluginTCalcFuncInfo = packed recordnFuncMark: Word;pCallFunc: pPluginFUNC;end;PluginTCalcFuncInfo = tagPluginTCalcFuncInfo;PPluginTCalcFuncInfo = ^PluginTCalcFuncInfo;PPPluginTCalcFuncInfo = ^PPluginTCalcFuncInfo;pRegisterPluginFUNC = function(pFun: PPPluginTCalcFuncInfo):LongBool;cdecl;varg_CalcFuncSets: array[0..2] of PluginTCalcFuncInfo;procedure TestPlugin1(DataLen:integer;pfOUT:ArraySingle;pfINa:ArraySingle;pfINb:ArraySingle;pfINc:ArraySingle);cdecl;var // F8F8F8F8 表示無效數據,通達信公式中將不會顯示i:integer;pc1:PCardinal;beginfor i:=0 to datalen-1 dobeginpfOUT[i]:=pfina[i];if i>=datalen-10 thenbeginpc1:=@pfout[i];pc1^:=$F8F8F8F8;end;end;end;{通達信dll公式函數規范 delphi版 悟多qq911322 2016.03.05 }procedure TestPlugin2(DataLen:integer;pfOUT:ArraySingle;pfINa:ArraySingle;pfINb:ArraySingle;pfINc:ArraySingle);cdecl;vari:integer;beginfor i:=0 to datalen-1 dobeginpfOUT[i]:=pfinb[i];end;end;procedure TestPlugin3(DataLen:integer;pfOUT:ArraySingle;pfINa:ArraySingle;pfINb:ArraySingle;pfINc:ArraySingle);cdecl;vari:integer;beginfor i:=0 to datalen-1 dobeginpfOUT[i]:=pfinc[i];end;end;procedure InitStruct;beging_CalcFuncSets[0].nFuncMark := 1;g_CalcFuncSets[0].pCallFunc := @TestPlugin1;g_CalcFuncSets[1].nFuncMark := 2;g_CalcFuncSets[1].pCallFunc := @TestPlugin2;g_CalcFuncSets[2].nFuncMark := 3;g_CalcFuncSets[2].pCallFunc := @TestPlugin3;//有更多的函數的話,可以增加到這里end;function RegisterTdxFunc(pFun: PPPluginTCalcFuncInfo): LongBool; cdecl;beginResult := False;if pFun^ = nil thenbeginpFun^ := @g_CalcFuncSets; //綁定dll函數起始地址Result := True;end;end;exportsRegisterTdxFunc;beginInitStruct;end.
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容