大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現在的位置:程序化交易>> 股票公式>> 通達信>> 通達信知識>>正文內容

[原創]通達信dll公式函數規范,delphi版 [通達信]

  • 咨詢內容:
    library tdxdlltest;
      {通達信dll公式函數規范 delphi版 2016.03.05    }
    uses
      SysUtils,Windows;

    {$R *.res}

    type
      ArraySingle=array of single;

    type

      pPluginFUNC = procedure(p1: Integer; var p2, p3, p4, p5: ArraySingle); cdecl;

      tagPluginTCalcFuncInfo = packed record
        nFuncMark: Word;
        pCallFunc: pPluginFUNC;
      end;
      PluginTCalcFuncInfo = tagPluginTCalcFuncInfo;
      PPluginTCalcFuncInfo = ^PluginTCalcFuncInfo;
      PPPluginTCalcFuncInfo = ^PPluginTCalcFuncInfo;

      pRegisterPluginFUNC = function(pFun: PPPluginTCalcFuncInfo):LongBool;cdecl;


    var
      g_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;
    begin
      for i:=0 to datalen-1 do
      begin
        pfOUT[i]:=pfina[i];
        
        if i>=datalen-10 then
        begin
          pc1:=@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;
    var
      i:integer;
    begin
      for i:=0 to datalen-1 do
      begin
        pfOUT[i]:=pfinb[i];
      end;
    end;

    procedure TestPlugin3(DataLen:integer;pfOUT:ArraySingle;pfINa:ArraySingle;pfINb:ArraySingle;pfINc:ArraySingle);cdecl;
    var
      i:integer;
    begin
      for i:=0 to datalen-1 do
      begin
        pfOUT[i]:=pfinc[i];
      end;
    end;

    procedure InitStruct;
    begin
      g_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;
    begin
      Result := False;
      if pFun^ = nil then
      begin
        pFun^ := @g_CalcFuncSets; //綁定dll函數起始地址
        Result := True;
      end;
    end;


    exports
      RegisterTdxFunc;
    begin
     InitStruct;
    end.

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 511411198  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 四虎视频国产精品免费入口 | 国产精品嘿咻嘿咻在线播放 | 越猛烈欧美xx00动态图免费 | 久久综合偷偷噜噜噜色 | 四虎影视入口 | 四虎亚洲 | 国产免费一级在线观看 | 美女一级毛片免费观看 | 国产亚洲精品久久久久久小说 | 欧美激情精品久久久久久久久久 | 色综合久久久久久久久五月 | 爱爱毛片| 四虎国产精品永久在线播放 | 亚洲在线视频 | 男女性高爱麻豆 | 中文字幕亚洲综合精品一区 | 波多野结衣一区免费作品 | 999资源| 免费视频性 | 久久九九热| 亚洲欧洲国产成人综合一本 | 久久亚洲国产中v天仙www | 四虎成人免费影院网址 | 免费一级特黄欧美大片勹久久网 | 精品久久久久久蜜臂a∨ | 国产在线视精品麻豆 | 亚洲免费福利视频 | 老司机午夜精品视频在线观看免费 | 114一级毛片免费 | 国内特级毛片 | 久久久久久久亚洲精品 | 91精品啪在线观看国产老湿机 | 狠狠干b| 亚洲第一页在线播放 | 国产成人久久精品区一区二区 | 中文字幕日韩精品亚洲七区 | 久久婷五月综合 | 亚洲综合区小说区激情区噜噜 | 久久精品片 | 亚洲午夜网| 精品视频在线免费看 |