求助:记录阶段高低点

代码如下:

Vars

Series<Numeric> low_num;

Series<Numeric> high_num;

   OnBar(ArrayRef<Integer> indexs)

{

       if(low<low[1] and Low[-1]>=Low)

{

low_num=low;

PlotNumeric(low_high,low);

}

if(high>high[1] and high[-1]<=high)

{

high_num=high;

PlotNumeric(low_high,high);

}

Commentary(low_num[0]:+text(low_num[0]));

Commentary(low_num[1]:+text(low_num[1]));

Commentary(low_num[2]+text(low_num[2]));

Commentary(high_num[0]+text(high_num[0]));

Commentary(high_num[1]+text(high_num[1]));

Commentary(high_num[2]+text(high_num[2]));

}

序列变量加了条件判断,想把不是阶段最高低的位置去掉,现在查看下来每一根都有值,不赋值就给上一根。想在十字位置拿到第2个前高的值3821,但是拿到的是3834,该怎么拿到我箭头标记的第2根高点呢?


data-href=

记录个临时低点
测试报告里阶段总结和交易记录不一致
ZigZag的高低点怎么写才能记录高低点进行回溯
满足条件后,当前bar的低点
前高止损怎么写
盈利月数量和阶段总结对不上
后复权导致的高开低开数值偏差较高如何解决??
后复权导致的高开低开数值偏差较高如何解决??
开盘前或集合竞价阶段currenttime判断错误
这个被废了吗?找不到高开低收????

1. Low[-1]这是想要用以后一个bar里的值?不能

2.用两个序列变量,high1 ,high2的方法是对的,先high2 = high1,后high1=新的高点值

1.我只跑回测,只用历史数据,可以往后拿数据,不然我没法判断当前的最高价是不是最高价,如果用前3根去比较,点只能画在当前k线上,我需要画在最高点k线上;

2.先high2 = high1,后high1=新的高点值确实可以,但是只能回溯2根,再回溯1根又要重新定义一个序列变量

1.你可以在画图的时候用-1画在最高点上。

2.序列变量就是每个bar一个值,不需要重新定义,你再理解理解吧

我不想要每个bar一个值,但是又要保存数据,数组嫩根python一样用下标取值吗arr[-2:-1]

这个tb语言的特点是基于bar的,特殊的序列变量一个bar一个值,就是方便使用的。python的[]里负数是表示倒数第几个,而tb的[]里,-1是表示未来的值,1表示前一个值(你要前面一个值就直接用[2])。至于用 :获取一序列的值自己试试吧

用两个序列变量,high1 ,high2

每次刷新高点值的的时候逻辑这样设计

high1=新的高点值

high2 = high1

好像没有用,序列变量在每根k线都有一个副本值

没试过就知道没用了?