大智慧股池出票输出到板块

通达信+大智慧数据同步存调DLL 数据同步存调DLL(通达信版+大智慧版) 阅读详情

包含一个多功能DLL和一个大智慧自选股本地化工具。功能:将大智慧股池出票实时送进大智慧自选股板块,或通达信自定义板块中。

使用方法:

1、将大智慧自选股本地化工具复制到大智慧根目录下,并运行,点击“自选股本地”按钮。

2、按大智慧32位或64位版本不同,复制对应的32位或64位的DLL文件到大智慧根目录下。

3、双击打开配置文件:SD32.ini 或 SD64.ini 在最后一行下面,添加一行:

     SaveFile1=【大智慧主目录】\USERDATA\block\自选股3.blk

    请把【大智慧主目录】更换成你自己的大智慧主程序目录;“自选股3”更换成你要存放代码的自选股板块名。

4、在大智慧股池中,在出票的公式里加一行调用DLL的公式代码:

    "SD32@F6"(3,1);

  如果使用的是64位DLL,公式改为 "SD64@F6"(3,1);

    如果你是在选股公式中调用DLL,也就是并非所有股票代码都要存放入目标板块里,仅是选择符合条件的存到目标板块,那么要在调用DLL的语句外加 if 语句:        

  if 条件判断变量>0 then

    begin

      "SD32@F6"(3,1);

    end

    如果使用的是64位DLL,公式改为 "SD64@F6"(3,1);

     这样就完成了所有设置工具,股池出票就会更新进自选股板块中,切换自选股板块就能看到更新出来的新股票代码。

===================================================================

本函数详细介绍:

函数F6 功能:将股票代码存为TXT或BLK文件

大智慧中选股出票,时常会想引入到其它自动交易、微信转发等软件工具中使用。此函数即可将代码保存为TXT文件或BLK文件(BLK分为通达信格式和大智慧格式)。其中BLK文件为通达信或大智慧的板块文件格式,所以也可用于代码同步到通达信板块里或同步到另一个大智慧板块里。

(补充说下,存BLK文件到另一通达信目录里,如果需要在通达信软件上实时看到效果,需要对存入的目标通达信进行设置:在“选项” - “自定义板块设置” 窗中,取消勾选 “缓存板块” 项,即可实现实时热更新;存BLK文件到另一个大智慧,如果需要实时看到同步效果,需要在大智慧中,切换到另一个任意板块再切换回来,就能看到板块被更新了)

公式:

"SD32@F6"(【类型】, 【索引】);

【类型】:1为存成.TXT;2为存成通达信的.BLK;3为存成大智慧的.BLK

【索引】:指在本DLL的配置文件SD32.ini中[set]节点下“SaveFile”键名后跟的数字。其后跟的值是为了确定此TXT文件存放的路径。

听着很难理解是吧,举个例子就简单了:

如果你想把代码存入到c:\1.txt中,那么请先在SD32.ini文件的[set]下面,添加一行:SaveFile2=c:\1.txt,公式就使用"SD32@F6"(1,2);

可以看出,公式中有个2,和SaveFile后面也有个2,它们是对应的。

如果你还想再存其它代码到e:\1.txt中,你就在TdxSaveData.ini文件的[set]下面,再添加一行:SaveFile4=e:\1.txt,公式就使用"SD32@F6"(1,4);

可以看出,公式中有个4,和SaveFile后面也有个4,它们是对应的。这个数字就是一个代号,你可以随意换数字,但必须保证公式和配置文件中,这两数字是对应相同的。这样的设计主要是为了能同时保存多个TXT,且又能让DLL区分各TXT保存的不同路径。

存通达信BLK类型文件与存TXT相同方法,唯有类型参数用2这一区别。如"SD32@F6"(2,4);这里就不再重复介绍了。

另外,其实保存TXT的路径不设置,也会输出到默认的路径,默认路径就是DLL文件所在的文件夹,保存的默认文件名为code.txt;当然BLK文件也是一样(会存为code.blk)。

如果用在选股公式中,可参照以下写法:

if 条件判断变量>0 then

begin

"SD32@F6"(3,1);

end

此功能可用于将大智慧股池出票输出到大智慧自选股板块里(当然需要先运行一次大智慧自选股本地化工具.exe)

例:将大智慧股池出票输出到大智慧自选股8:

公式:上方公式

配置文件中加行:SaveFile1=大智慧主目录\USERDATA\block\自选股8.blk

本DLL还有8项其它功能,更多功能介绍说见链接:

大智慧数据采集与转存工具-新版

包含:

函数F1 功能:将大智慧数据存为通达信的序列数据

函数F2  功能:将大智慧数据存为大智慧的序列数据

函数F5 功能:将大智慧数据存为通达信自定义外部(文本、数值)数据

函数F6 功能:将股票代码存为TXT或BLK文件

函数F7 功能:将股票代码按指定模板发送到钉钉群

RSRTDX通达信票数据接口开发实战 通达信RSRTDX接口基于Windows平台的DLL动态链接库机制,采用消息驱动+共享内存的混合通信模式实现高效数据交互。其核心原理是客户端通过加载RsTdx.dll,调用Init()初始化会话,并注册回调函数接收异步行情或交易响应。// 示例:C++中初始化接口数据传输时,服务端将行情快照写入共享内存区,再通过消息通知订阅者,实现微秒级延迟响应。该架构支持高并发连接,适用于量化交易等低延迟场景。同时,接口采用令牌+会话ID双重认证。 阅读详情

相关推荐

大智慧自选导入导出工具

用于导入和导出大智慧新一代、dzh2及dzh365的自选列表,以方便做进一步分析研究。此版本在V2.0的基础上做如下改进: 1、支持win7以上系统。 2、支持导出和导入非自选板块票代码的功能。

TCalcFuncSets.cpp_通达信DLL_通达信_通达信插件DLL接口源文件_

通达信插件DLL源文件实现代码TCalcFuncSets.cpp

大智慧dll编写模块_易语言

易语言开发大智慧dll开发、编写工具,包含模块、示例、编译方法等,是易语言票编程必备工具。

大智慧365DLL插件设计样例

证券交易软件所提供的指标功能上还有不足,需要用户自己采用C++语言来重新开发。本样例用于指导DLL插件编写者一个入门的基础。

不学通达信DLL开发能实现代码加密吗?

什么是通达信代码加密,简单点,直接上代码:要加密如下代码:TYP := (HIGH + LOW + CLOSE)/3;V1:=SUM(IF(TYP>REF(TYP,1),TYP*VOL,0),N)/SUM(IF(TYPMFI:100-(100/(1+V1));这代码大家是不是都很熟悉,不就是每天自己在写的代码吗?然后我再发一下下面这个代码:TYP:=TDXDLL1(104,TDXDLL1(101,TDXDLL1(101,HIGH,LOW,0),CLOSE,0),3,0);B1:=TDXDLL1(217

m0_38107106的博客 1731

大智慧c语言dll,调用大智慧dll,简单支持大智慧公式dll接口

网上看到一个分享贴,说可以调用大智慧公式,只是我没有看懂要如何使用。请问类似这样的调用是要写到哪里,自己的dll里面还是大智慧里面?XDll_Free(Dll相对路径文件名);//释放动态链接库XDll_Load(Dll相对路径文件名);//加载动态链接库////////////////////////////////////////////////////////次源自客户定制需要,考虑再三,决...

weixin_33736514的博客 3863

python 大智慧_跟我从零开始学会大智慧股票池自动交易

自从上次发表关于自动交易系列教程后,很多朋友对自动交易产生了极大兴趣,然而还有很多朋友因为没接触过股票池和自动交易,相对比较陌生,希望我能从更简单详细的角度来让刚接触的朋友更快的掌握票自动交易的方法。所以有了次文,这次将我收集和自己体会,以连载的方式来发表,欢迎大家跟帖交流。大智慧股票池自动交易需要配合A计划票自动交易系统软件来使用。工具可以自己问度娘。本教程会由浅入深的介绍如何利用大智慧票...

weixin_29638987的博客 5028

大智慧DLL C++接口3264位差异说明文档:让开发更精准、高效

大智慧DLL C++接口3264位差异说明文档:让开发更精准、高效 【下载地址】大智慧DLLC接口3264位差异说明文档 本资源文件深入解析了大智慧DLL C++接口在32位与64位环境下的关键差异,涵盖接口调用、数据类型定义和内存管理等方面。无论您是开发者还是使用者,掌握这些差异将帮助您更好地适配和优化程序,确保在不同...

gitblog_06733的博客 809

directxdatabasehelper.dll未被指定在Windows运行,代码0xc0000020或0xc000012f解决办法

在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包文件不完整造成,原因可能是某些系统防护软件将重要的DLL文件识别为可疑,阻止并放入了隔离单里,还有一些常见的DLL文件缺少是因为系统没有安装齐全的微软运行库,还有部分情况是因为系统更新升级补丁造成的系统内部文件损坏。

hero9751的博客 976

大智慧(通达信)插件(dll)编程源码及讲解

通达信提供了DLL插件接口和DLL指标接口标准(见“插件编程规范-通达信原版文件”),但说明晦涩,不容易理解。 经过测试,将原示例代码做了注释,并修正了原来代码的一处错误(主要见MyPlugin.cpp)。 只要明白了道理,剩下的工作就看个人发挥了! 所附示例功能还非常简单,只是为了说明编程方法,距实际应用还有非常大的距离。如果据此投资,风险自负。

飞狐软件数据下载器

飞狐软件数据下载器,日线,1.5分钟,财务数据下载

导入工具3.3

大智慧自定义数据导入导出工具。方便选,数据分析!

分析家(大智慧)DLL公式C语言接口

大智慧(分析家)DLL公式 教程 大家可以参照上例来设计自己的dll公式。

【免费下载】 大智慧(通达信)插件(DLL)编程源码及讲解

大智慧(通达信)插件(DLL)编程源码及讲解 【下载地址】大智慧通达信插件DLL编程源码及讲解 本仓库提供了一个关于大智慧(通达信)插件(DLL)编程的源码及详细讲解。通达信提供了DLL插件接口和DLL指标接口标准,但官方文档说明较为晦涩,不易理解。为了帮助开发者更好地理解和使用这些接口,本资源对原示例代码进行了详细的注...

gitblog_09802的博客 3026

寻找大智慧软件动态链接库函数之一

   现在我不知道怎么去做大智慧软件的dll函数,现在我也不知道现在大智慧有没有现在在自己的动态库进行加密、加壳、反跟踪;还有一点就是不知道现在大智慧的提供接口的方式,是以动态链接库的还是以com提供的,现在只有试试了。在网上找的倒是看不出来,现在我就试试看能不能找到结构在分析一下:接下来我就一种工具去看一下OllyDbg现在就要分析我们数据了。

计算机科学与技术 3488

FMLDATA的源码

DZH/FXJ引用外部数据的DLL公式FMLDATA.DLL(DZH/FXJ引用外部数据的DLL公式)免费下载 一、DLL主要功能: 适用平台: 大智慧新一代V2.0(仅支持以分析家为内核的DZH版本,不支持DZH经典版本)、分析家(在V6.0上测试通过,在其它版本用应该也没问题) ,以下简称DZH。 主要功能: 1)在DZH公式中读取外部数据(这里称为FMLDATA文件数据,该数据文件格式见下文)。例如,要在DZH公式中读入第三方的数据并与DZH其它数据一起进行分析,我们可以首先将数据写入FMLDATA文件,然后在DZH公式中象引用DZH本身直接引用。 2)将DZH序列数据写入外部文件。例如,我们要将DZH现有数据或者自己编写的公式的计算结果导出来,在EXCEL等外部软件进一步处理。(与FinDataTools工具的区别是:FMLDATA.DLL导出的是DZH原始数据或公式计算结果,而FinDataTools直接从DZH/FXJ读取数据。) 适用对象:需要读取自己定制的外部数据而又不想自己用C/C++写接口的DZH/FXJ用户。 声明:本DLL不含任何恶意代码,但使用风险自担。 二、下载:点击这里下载(近100KB)。 三、安装方法: 1、下载后用WINRAR解压得到FMLDATA.DLL和FMLDATA.TXT两个文件。 2、将FMLDATA.DLL复制到DZH2安装目录,一般为c:\dzh2。如果是FXJ一般为c:\superstk等. 3、在DZH安装目录下建立一个名为FMLDATA的文件夹,如c:\dzh2\fmldata(这一步是必须的,否则无法使用)。DLL公式读取或写入的数据都在这个文件夹。 至此,安装完成,下面就是如何使用了。 四、使用方法: FMLDATA.DLL提供了两个公式/函数,一个用于写数据,一个用于读数据。 (一)写数据: 写数据的公式为: "FMLDATA@WRITE"(X,N) 第一个参数X是个序列(指标),可以是CLOSE、OPEN等,也可以是公式中的中间计算结果,要求序列值在浮点型值范围之内,一般在正负20亿之间,如果不在该范围之内,建议改变单位;第二个参数N是个数值,表示序列编号,例如我们把CLOSE保存为第4个序列,N为4。 将数据保存为外部文件时,根据当前票代码、序列编号、分析周期这三个信息在fmldata文件夹生成形式为“XXXXXX.N.YYY”的文件。其中, XXXXXX为票代码,如深发展为000001等,由于沪市指数代码与深市票代码重复,所以沪市指数代码在原代码前加1,例如上证综指为000001,则这里的XXXXXX为1000001(7位);N是编号,由用户自己指定,应为大于0的整数;YYY为分析周期,如果是日线数据,则YYY=DAY,分笔、1分钟、5分钟、15分钟、30分钟、60分钟、周、月、多日、季度、半年、年的值分别为TICK、MIN1、MIN5、MIN15、MIN30、MIN60、WEEK、MONTH、NDAYS、QUARTER、SEMIYEAR、YEAR。 举例: 例1、将收盘价写入到外部文件 新建一公式,设名为TESTW,输入 V1:"FMLDATA@WRITE"(C,4); ,在深发展(000001)日K线状态下,键入TESTW,在指标区查看公式TESTW结果的同时,将在FMLDATA目录生成一个名为000001.4.DAY的二进制文件(这个文件如何在其它软件中使用见下文),如果同名文件已经存在,将覆盖。如果我们键入000002,切换到万科日K线,将生成名为000002.4.DAY的文件;如果切换到上证指数,则生成1000001.4.DAY文件。 注意:如果是DZH,写数据时请将光标移至最后一根K线,否则只保存光标之前的数据,FXJ好象没有这个问题。光标一动,数据就重新写入一次。 例2、将收益率保存到外部文件 建一公式: A:=C/REF(C,1)-1; B:"FMLDATA@WRITE"(A,101); 请在还权状态下使用该公式。如果处于000001的日K线图,则生成000001.101.DAY。 例3、将周收益率保存到外部文件在例2基础上,将“分析周期”改为“周线图”,则周收益率保存到000001.101.WEEK文件。 例4、将沪市A所有票的收盘价、成交量保存到外部文件 建一名为TESTCV公式: A:"FMLDATA@WRITE"(C,4); B:"FMLDATA@WRITE"(V/10000,5); 保存后。选择“条件选”,选指标选择“TESTCV”,分析周期选“日线”,选中“使用除权后数据”,指标线选“B”,条件选“大于0”,选范围选择“上证A”,执行选,将生成600000.4.DAY、600000.5.DAY、600001.4.DAY、600001.5.DAY等等,*.4.DAY保存的是收盘价,*.5.DAY保存的是以万手为单位的成交量。 (二)读数据: 读数据的公式为 "[email=FMLDATA@READ]FMLDATA@READ"(M,N[/email])" 第一个参数M是个数值,可以是0或者数值型票代码,如果M=0,读取当前票代码的数据,如果为票代码,则读取该票的数据,前提是对应的文件已经存在!;第二个参数也是个数据,含义同"[email=FMLDATA@WRITE]FMLDATA@WRITE"(X,N[/email])"中的N,表示要读取哪个序列的数值。 例5、读入当前票的某个外部序列数据 公式为V1: "[email=FMLDATA@READ]FMLDATA@READ"(0,4[/email]);如果当前票为000001则读入指标编号为4的数据,如果当前票为600000,则从600000.4.DAY读取序列编号为4的数据。 例6、读入指定代码的某个外部序列数据 公式为V1: "[email=FMLDATA@READ]FMLDATA@READ"(1000001,4[/email]);如果当前票为000001则读入上证指数的指标编号为4的数据,如果当前票为600000,也是读入上证指数的指标编号为4的数据。 例7、计算两个代码的序列数据之差 X:"[email=FMLDATA@READ]FMLDATA@READ"(0,5438)-"FMLDATA@READ"(1000001,5438[/email]); .... 上面例子将DZH数据写入外部文件然后再读入,这只是举例,并不是写FMLDATA.DLL的真正目的。FMLDATA.DL公式主要用于读取DZH所没有的第三方数据或者DZH公式不适合处理的数据。例如,我们将分笔数据进行复杂的处理,然后每日生成一个指标,保存在*.12345.DAY中供DZH调用。 下面简单介绍一下如何将数据写入这些文件。 (三)文件格式约定 文件是很简单的二进制格式文件,一个文件由多个记录组成,每个记录两个字段,第一个字段为DZH时间,为INT型,保存的是与1970-1-1 00:00:00间隔秒数,第二个字段为指标/序列值,为Float型,保存具体数值,注意Float型的数据范围!文件要求每个记录的时间由小到大顺序排列。 例如,文件中有8条记录: 1174435200 0.05 1174521600 0.003 1174608000 -0.029 1174867200 -0.011 1174953600 - 0.009 1175040000 0.005 1175126400 0.004 1175212800 -0.015 第一列是日期/时间,第二列是数值,把第一列转换一下可得: 2007-03-21 0.05 2007-03-22 0.003 2007-03-23 -0.029 2007-03-26 -0.011 2007-03-27 -0.009 2007-03-28 0.005 2007-03-29 0.004 2007-03-30 -0.015 其中,1175212800 是2007-3-30 0:0:0与1970-1-1 0:0:0间隔的秒数,etc...。 (四)读写FMLDATA文件 了解了文件结构后,可以用各种语言如C/C++、C#、VB、VBA、JAVA、SAS、…………………………等读写文件。 1、用VBA将EXCEL工作表数据写入FMLDATA文件: Sub exceldata2fmldata() '将EXCEL工作表数据写入FMLDATA文件 Dim sht As Worksheet, fmldataPath As String, fileName As String Dim i As Integer, FileNumber Dim dzhrq As Long, value As Single 'DZH时间,指标值(VBA的Long,Single为32位) Dim dt As Date Set sht = ThisWorkbook.Worksheets("sheet1") '假设要写入的数据在sheet1 fmldataPath = "d:\dzh2\fmldata\" 'FMLDATA所在路径 fileName = "000001.12345.day" '文件名 FileNumber = FreeFile Open fmldataPath & fileName For Binary Access Write As #FileNumber '以写方式打开文件 i = 2 '设数据从第二行开始;第1列为日期,第2列为指标值 dt = sht.Cells(i, 1) '取出日期 Do While IsDate(dt) And dt TimeSerial(0, 0, 0) dzhrq = DateDiff("s", DateSerial(1970, 1, 1), dt) '转为DZH日期:与1970.1.1间隔秒数 Put #FileNumber, , dzhrq value = sht.Cells(i, 2) '取出指标值 Put #FileNumber, , value i = i + 1 dt = sht.Cells(i, 1) '取出日期 Loop Close #FileNumber '关闭文件 End Sub 2、用VBA将FMLDATA文件读入EXCEL: Sub fmldata2excel() '将FMLDATA文件读入EXCEL工作表 Dim sht As Worksheet, fmldataPath As String, fileName As String Dim i As Integer, FileNumber Dim dzhrq As Long, value As Single 'DZH时间,指标值(VBA的Long,Single为32位) Dim dt As Date Set sht = ThisWorkbook.Worksheets("sheet1") '假设数据保存到sheet1 fmldataPath = "d:\dzh2\fmldata\" 'FMLDATA所在路径 fileName = "000001.12345.day" '文件名 FileNumber = FreeFile Open fmldataPath & fileName For Binary As #FileNumber '打开文件 Get #FileNumber, , dzhrq sht.Cells(1, 1) = "日期" sht.Cells(1, 2) = "值" i = 2 Do While dzhrq 0 dt = DateAdd("s", dzhrq, DateSerial(1970, 1, 1)) '转换为EXCEL日期 sht.Cells(i, 1) = dt '日期 Get #FileNumber, , value sht.Cells(i, 2) = value '指标值 Get #FileNumber, , dzhrq i = i + 1 Loop Close #FileNumber '关闭文件 End Sub 3、将SAS数据表写入FMLDATA文件 %macro sasdata2fmldata(dzhpath,code,var,datatype,srcTable); filename fmlfile "&dzhpath.fmldata\&code..&var..&datatype"; data tt; set &srcTable; dzhrq=(rq - (MDY(1,1,1970)-MDY(1,1,1960)))*86400; file fmlfile recfm=f lrecl=8; put dzhrq ib4. value float4.; run; filename fmlfile; %mend sasdata2fmldata; /*假设有一work.t表含有rq,value字段,value是000001的某一指标的计算结果*/ %sasdata2fmldata(C:\DZH2\,000001,5555,DAY,work.t); 4、用SAS读取FMLDATA文件 %macro fmldata2sasdata(dzhpath,code,var,datatype,descTable); %let datatype=%lowcase(&datatype); filename fmlfile "&dzhpath.fmldata\&code..&var..&datatype"; data &desctable; format dm $12. rq dzhrq value; infile fmlfile recfm=f lrecl=8; input dzhrq ib4. value float4.; dm="&code"; %if %sysfunc(index(/day/ndays/week/month/quarter/semiyear/year,&datatype))>0 %then %do; rq = dzhrq/86400 + (MDY(1,1,1970)-MDY(1,1,1960)); attrib rq format=yymmdd10.; %end; %else %do; rq = dzhrq + (dhms(MDY(1,1,1970),0,0,0)-dhms(MDY(1,1,1960),0,0,0) ); attrib rq format=datetime.; %end; value=round(value,0.001); run; filename fmlfile; %mend fmldata2sasdata; %fmldata2sasdata(C:\DZH2\,000001,5438,DAY,work.t);/*参数分别为:DZH安装目录,票代码,序列编号,分析周期,目标表*/ 5、用其它语言操作FMLDATA文件也很简单

大智慧DLL C++接口 3264位差异说明.txt

大智慧DLL C++接口 32/64位差异点

上一篇: 通达信分时或短周期选股
下一篇: 通达信热点板块及成份股输出DLL
guleba
博客等级 码龄1年 149粉丝 28原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值