通达信数据管理器可以解决大家有第三方数据,并且想把此数据应用到股票k线中的问题。
自定义数据分为外部数据和序列数据,外部数据是每个股票只对应一条数据(字符串或者数值);序列数据就像一个C函数一样,在k线界面是每根k都有一个收盘价值,每个股票有很多个数值。
系统自定义数据的应用如果购买了普及版权限,并在登录后下载了专业财务数据,可以在自定义数据管理器里看到下面这些系统自定义数据。
下载专业财务数据
内测版入口:系统----专业财务数据
金融终端入口:选项---专业财务数据
“.901”打开自定义数据管理器
系统默认的外部数据从10001到10021除了10019都是字符串内容,没有数值信息内容可以忽略这部分系统外部数据的数据部分的应用。对于10019非字符串类型外部数据如果要应用就要选择其数据部分。
在行情报价列表应用系统外部数据
进入全部A股行情报价界面,在表头区域右键“选择自定义数据”
弹出选择自定义数据的弹窗,这里我们选择10020这个主营业务的,字符串,点击选择
此时行情报价列表就会如下展示主营业务内容
对于10019这个非字符串类型外部数据要应用到行情报价如下选择和展示
在行情报价列表应用系统序列数据
序列数据因为是多个日期都有各自日期的数值,所以一个股票有多个值,所以这里没有支持到行情报价的选择应用中。
在公式中应用系统外部数据
相关函数两个EXTERNSTR(TYPE,ID) 、EXTERNVALUE(TYPE,ID)
TYPE为1表示是系统定义数据(需要通达信官方提供,需要[专业财务数据]下载,支持的ID为10001以上,详见自定义数据管理器),YPE为0表示是用户自定义外部数据。
公式实现,前面我们已经了解了外部数据有字符串和数值两种数据输出,在通达信公式管理器里,所有字符串数据想要输出必须配drawtext系列的函数才可以。所以有如下代码
{公式名:自定义数据}主营业务:DRAWTEXT_FIX(1,0.001,0.5,0,EXTERNSTR(1,10020));{DRAWTEXT_FIX(COND,X,Y,TYPE,TEXT)TYPE:0为左对齐,1为右对齐};股利支付率:EXTERNVALUE(1,10019);
下图为000001平安银行k线界面展示10019、10020号系统外部数据的效果
在公式中应用系统序列数据
相关函数两个SIGNALS_SYS(ID,TYPE)、SIGNALS_USER(ID,TYPE)
TYPE:1表示做平滑处理,没有自定义数据的周期返回上一周期的值;0表示不做平滑处理;2表示没有数据则为0.
序列数据如果很分散会是一个个点的存在,所以我们一般调用外部序列数据都会选择做平滑处理,让type默认填1。
{公式名:序列数据}汇丰银行陆持股:SIGNALS_SYS(20001,1);
下图是公式实现调用系统序列数据20001号的数据展示效果。数据更新到20240805所以最后一段是平滑处理效果都用的最近一个有数据的值。
在.401指标排序中应用系统外部数据
.401进入历史指标排序,选择公式“自定义数据”。
这是最近一个交易日日期数据展示正常,换其他任何历史日期都可以正常展示,因为外部数据数值型是常量数据,字符串也是一个常量字符串,同时字符串展示函数DRAWTEXT_FIX的第一个参数设置的是恒成立条件1(历史交易日之后的数据参与计算是勾选状态,此项勾选情况下,如果第一个参数islastbar=1就只能在最后交易日日期才能正常展示这个字符串内容了。)。
其他任何历史交易日都能正常展示
如果在自定义数据公式里drawtext用islastbar=1为第一个参数且想在任何其他交易日也能正常展示此外部数据字符串内容,也可以右键把“历史交易日之后的数据参与计算”这个设置的勾去掉。
在.401指标排序中应用系统序列数据
.401进入历史指标排序,选择公式“序列数据”。
序列数据的展示和在k线界面看到的是一致的,哪个股票,选择的日期的那根k线,在k线上展示的数据是多少,在历史指标排序的数据就显示多少。
用户自定义数据的应用应用的场景和方法实现同上面介绍的系统自定义数据部分,下面只强调两个用户自定义数据应用的要点。
函数区别
1、公式函数来调用用户自定义外部数据时这两个函数的第一个参数需要为0。
EXTERNSTR(TYPE,ID) 、EXTERNVALUE(TYPE,ID)
TYPE为1表示是系统定义数据(需要通达信官方提供,需要[专业财务数据]下载,支持的ID为10001以上,详见自定义数据管理器),TYPE为0表示是用户自定义外部数据。
2、公式函数来调用用户自定义序列数据时。这两个函数就要第二个了。SIGNALS_SYS(ID,TYPE)、SIGNALS_USER(ID,TYPE)。
数据处理技巧
用官方自己导出的数据作为处理标准,不会出错
1、当处理用户自定义外部数据时,请先新建一个自定义外部数据并生成几条数据后,导出这个自定义外部数据的全部数据,将数据保存后,按照导出的格式处理数据一定不会出错。手动添加自定义外部数据记录用自定义数据管理器,且每个市场股票添加1到2条数据即可。
导出的数据如下,市场|代码|字符串|数据就是外部数据的标准格式。市场0深圳、1上海、2北京(具体可以用setcode输出查看品种市场id)
0|000001|平安银行|7.280
1|600000|浦发银行|0.000
2、当处理自定义序列数据时,采取上面一样的方法。导出时选择所有品种数据
导出的标准数据如下:市场|代码|日期|数值
0|000001|20240826|26.000
0|000001|20240827|27.000
1|600000|20240826|261.000
1|600000|20240827|271.000
2|830779|20240827|272.000
2|830779|20240826|262.000