【通达信】Sumbars的使用

[复制链接]
查看86 | 回复0 | 2021-8-20 01:16:19 | 显示全部楼层 |阅读模式

以下是【通达信】Sumbars的使用(无源码的请下载附件导入)

Sumbars的使用
 指标编制中求得在时间坐标轴上的位置, 或者时间位置上的运算还是很复杂的, 我觉得这是指标编制中的一个难点,( 英文是bars)比如说在10天到14天前出现一个信号, 然后再最近三天有出现另外一个信号, 或者出现一个信号a, 然后在最近三天内还出现信号b, 时间轴位置运算函数包括hhvbars llvbars  troughbars,peakbars  lastbars  barsince barscount 等等, 求得位置之后, 就可以用ref (h,位置)求得信号a那天的具体数据, 还比如说求得金叉和死叉之间的数据, 就必须把金叉死叉的位置找出来.
以600206  有研新材为例, 选择今日2018.1.12做参考点,做个指标cs2
 tj1:c/c[1]>1.098;  这样标注出来在11.24  和12.06 出现两次涨停
2:做个指标cs4:
 tj1:=c/c[1]>1.098;
 tj2:barslast(tj1);
如截图1

求得最近(最后一次涨停信号到当前的时间周期距离)
这样得到的数据是12.06到今天(01.12)的周期是26, 就是说从今天算26天前出现一个涨停
 然后看一下11.24 那一天的涨停到12.06的时间周期是7(就是相隔了7天)
那么11.24 那天涨停距离今天的周期应该是11.24-12.06 的相隔周期加上12.06到今天01.12的周期之和
 然后在根据此做个指标cs1:
 tj1:=c/c[1]>1.098;
 tj2:=barslast(tj1);
 tj3:tj2+ref(tj2,tj2+1);
 {就是26+27天之前的那个tj2周期,(是7), 必须加个1, 否则取到的是0, 而不是7}
然后知道11.24 那天的涨停距离今日是33周期,
用,ref(h,tj3) 来验证一下是否正确, 是否就是那天涨停的最高价
 发现必须ref(h,tj3+1)才是11.24涨停那天的数据, 也就是最高价
 这样如果要求的倒数第三个的涨停周期, 也就是11.06那天的涨停日期, 可以参照上面的例子, 这样逐段相加找到那个时间点, 但是看起来嵌套很多, 非常麻烦
 现在可以使用sumbars函数来解决
 把 cs1改成
tj1:=c/c[1]>1.098;
 tj4:sumbars(tj1, 2);
如截图2
发现最后的数据是sumbars(tj1, 2)=35,
这个函数的解释是这样的, 要累加多长时间和周期, tj1才能达到2?
 Tj1是涨停信号, 绝大部分情况下tj1是0, 也就是没涨停, tj2之和达到2, 也就是两个涨停, 所以要从
 倒数第二个涨停位置, 也就是11.24那一天开始算起, 然后统计出来35个周期内出现两个涨停tj1,
 sumbars(tj1, 3);必须从倒数第三个涨停(11.06那一天)算起, 到当前时间范围内内才出现三个涨停信号,
结论: sumbars(tj1, 3)就是计算倒数第三个信号的时间位置
 然后用ref(h,tj4-1)来验证一下, 是否取得信号那天的数据

 这其中有个小细节问题: 是否+1 和-1的问题, 请自行对照和思考

756255817.jpg

756255817.jpg

756344345.jpg

756344345.jpg

756477975.rar (6.04 KB, 下载次数: 0, 售价: 2 金钱)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则