如何理解BARPOS=30这个语言 (文华财经WH6赢顺V6.7)

投资者咨询:如何理解BARPOS=30这个语言 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-23 17:04
 在WH8模型开发案例中的动态突破有下列语言
TODAYVOLATILITY:=STD(CLOSE,30);//当日市场波动
YESTERDAYVOLATILITY:=REF(TODAYVOLATILITY,1);//昨日市场波动
DELTAVOLATILITY:=(TODAYVOLATILITY-YESTERDAYVOLATILITY)/TODAYVOLATILITY;//市场波动的变动率
LOOKBACKDAYS1:=LOOP2(BARPOS=30,20,REF(LOOKBACKDAYS1,1)*(1+DELTAVOLATILITY));//计算自适应参数
其中BARPOS=30具体怎么理解?计算自适应参数:是不是如果K线总数大于等于30,就选20.否则选REF(LOOKBACKDAYS1,1)*(1+DELTAVOLATILITY)?
技术人员回复
日期:2018-8-23 17:29
 表示的是返回从第30根K线开始到当前的周期数

 也就是超过30根k线,就选20.否则选REF(LOOKBACKDAYS1,1)*(1+DELTAVOLATILITY)

 具体关于函数问题,您可以双击函数》右键》查看函数说明,了解下
投资者咨询:如何理解BARPOS=30这个语言 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-23 17:04
 BARPOS,返回从第一根K线开始到当前的周期数.这是函数的意义,如果是这样LOOP2(BARPOS=30,20,REF(LOOKBACKDAYS1,1)*(1+DELTAVOLATILITY))那不是总是取20吗,那这指令还有什么作用?
技术人员回复
日期:2018-8-23 20:11
有作用的。

因为第二行是引用第一行上一周期的返回值,但是第一行参数是30在29根的时候返回空值

所以LOOP2把30位置设为20应该是这个变量的第一起始值,如果不写的话30会返回空值

您了解下
投资者咨询:如何理解BARPOS=30这个语言 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-23 17:04
 还是不能理解
因为第二行是引用第一行上一周期的返回值,但是第一行参数是30在29根的时候返回空值
第二行是前一周期(昨日)的市场波动率,这不是序列数值吗?
技术人员回复
日期:2018-8-24 20:20
 您是哪里不理解呢?

参考下图,可以将十字光标放置在第30根K线位置,之前的指标都返回空值

所以LOOP2把30位置设为20应该是这个变量的第一起始值


图片点击可在新窗口打开查看