摘要:通达信自定义数据分为两大类:
第一类叫“外部数据(字符串,数值)”;
第二类叫“序列数据(日期,数值)”。
两类数据需用不同的函数来读取。
EXTERNSTR,EXTERNVALUE两个引用都是针对外部数据而言。SIGNALS_USER的用法对应的是序列数据。
这篇描述的是通达信自定义数据中的“序列数据(日期,数值)”的用法.包括以下内容:
自定义序列数据文件存放位置。
自定义序列数据文件的格式及字段解释。
自定义序列数据文件的导入。
自定义序列数据的显示。
1.通达信自用的自定义序列数据文件存放位置
数据导入后,通达信生成自定义序列数据二进制文件,按市场-股票号码.dat的方式命名。通达信要显示的自定义数据从这些文件中读取。
F:\Thirdprogram\new_tdx\T0002\signals\signals_user_2
2.首先要准备一份自定义序列数据导入文件
要导入自定义数据,需按约定的数据格式准备.txt文本文件,如下:
1|603005|20181120|1000.000
1|603005|20181121|900.000
1|603005|20181122|1000.000
1|603005|20181123|900.000
1|603297|20181122|1000.000
1|603297|20181123|900.000
p | 股票代码code | 日期D | 数值val
3.其次要在通达信中导入文本数据。操作过程记录
step 1:打开“自定义数据管理器”
3.最后,将自定义序列数据在K线图显示出来
step 1:打开公式管理器
step 2:新建一个公式指标
step 3: 编写公式内容
step 4:启用公式指标
在日K线主图,点击鼠标右键,会弹出菜单框。选叠加其他指标,选中刚编写的公式指标。
新建一个公式指标
编写公式内容
3.1 用DRAWNUMBER 直接写数字
通达信DRAWNUMBER画出数字函数更新时间:2018-10-01.
通达信DRAWNUMBER画出数字函数用法:
DRAWNUMBER(COND,PRICE,NUMBER),当COND条件满足时,在PRICE位置书写数字NUMBER.
DRAWNUMBER(CLOSE/OPEN>1.08,LOW,C)表示当日实体阳线大于8%时在最低价位置显示收盘价.
step 1:在每根K线的最低价写个数字
DRAWNUMBER(1,LOW,1000);
step 2:把1000换成自定义序列数据
当前个股在当前K线日期D下,读取由日期D和索引号i标识的数值val。2为索引号,0为自定义数据,1为系统数据。
Z1:=SIGNALS_USER(2,0);
DRAWNUMBER(1,LOW,Z1);
备注:自定义序列数据值得用SIGNALS_USER(2,0);读取,2表示数据索引号,0表示自定义数据
3.2 用DRAWTEXT 输出文本内容
step 1:在每根K线的最低价写几个字
DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')
表示在K线的最低价处,增幅大于8%时,写“大阳线”几个字。
step 2:把条件改一下,不判断条件
DRAWTEXT(1,HIGH,'大阳线');
step 3: 把大阳线改为我们想要的值
{--显示自定义外部数据 START--}
{--取自定义序列数据,索引号为2--}
Z1:=SIGNALS_USER(2,0);
{--将数字转换为字符串--}
Z2:=VAR2STR(Z1,0);
{--在每根K线的最高处画出字符串的值--}
DRAWTEXT(1,HIGH,Z2);
{--显示自定义外部数据 END--}
显示结果如下图: