您現(xiàn)在的位置:程序化交易>> 股票公式>> 通達(dá)信>> 通達(dá)信知識(shí)>>正文內(nèi)容

[原創(chuàng)]通達(dá)信dll公式函數(shù)規(guī)范,delphi版 [通達(dá)信]

  • 咨詢內(nèi)容:
    library tdxdlltest;
      {通達(dá)信dll公式函數(shù)規(guī)范 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 表示無效數(shù)據(jù),通達(dá)信公式中將不會(huì)顯示
      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;


    {通達(dá)信dll公式函數(shù)規(guī)范 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;
      //有更多的函數(shù)的話,可以增加到這里
    end;


    function RegisterTdxFunc(pFun: PPPluginTCalcFuncInfo): LongBool; cdecl;
    begin
      Result := False;
      if pFun^ = nil then
      begin
        pFun^ := @g_CalcFuncSets; //綁定dll函數(shù)起始地址
        Result := True;
      end;
    end;


    exports
      RegisterTdxFunc;
    begin
     InitStruct;
    end.

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 511411198  點(diǎn)擊這里給我發(fā)消息進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 国产成人免费网站在线观看| 天天在线天天综合网色| 波多野结衣教师在线观看| 国产精品黄大片在线播放| 亚洲2022国产成人精品无码区 | 日本护士激情xxxx| 午夜精品久久久久久久久| 97日日碰人人模人人澡| 日韩欧美卡一卡二卡新区| 农村妇女色又黄一级毛片不卡| 久久国产加勒比精品无码| 欧美色图你懂的| 无主之花2025韩语中字| 人妻系列av无码专区| xxxxwww免费| 手机在线看片你懂的| 国产午夜精品一二区理论影院 | 亚洲av永久无码精品天堂久久| 色老头综合免费视频| 小13箩利洗澡无码视频网站| 亚洲天堂中文字幕在线观看| 色综合久久中文字幕无码| 在线美女免费观看网站h| 久久精品人妻一区二区三区| 精品久久久久久婷婷| 国产精品久久久久久| 中文字幕在线视频网| 欧美激情综合色综合啪啪五月 | 国产一区二区免费在线| 99久久无码一区人妻| 日韩在线看片中文字幕不卡| 免费看美女隐私直播| 亚洲宅男精品一区在线观看| 很黄很污的视频在线观看| 亚洲制服丝袜中文字幕| 浮力国产第一页| 扒开双腿疯狂进出爽爽爽动态图| 亚色九九九全国免费视频| 成年人视频免费在线观看| 日本免费一区二区三区最新vr| 俺来也俺去啦久久综合网|