[原创]通达信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 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容