3分钟K线下,以往10天(10个交易日不是10根K棒)开盘后前5分钟振幅(H-L)的平均值。请问怎么写?
3分钟周期上统计开盘前五分钟,这样的分割做不到。因为所有计算都是基于K线周期。本身是3分钟,你要统计的是五分钟,这个不行。
还有个点需要明确下。是要统计10个交易日,20个K(每个交易日前2个K)的振幅平均。还是说每个交易日的前6分钟做一个汇总的振幅。这个有点区别的。如果是后者相当于取前6分钟的数据汇总出一个最低最高价,10个交易日10个振幅值。如果是后者,那可以不局限于周期了。可以在一分钟上计算,其他周期去调用。
我按照第二种方式给你处理,下面这段代码运行在1分钟周期下。其他周期你跨周期调用下 result的计算结果。
INPUT:N(5,1,100,1);//分钟数
cd:TODAYBAR=N;
zf:if(TODAYBAR=N,HHV(H,TODAYBAR)-LLV(L,TODAYBAR),0);//振幅
len:SUMBARS(TODAYBAR=1,10);//10个交易日周期跨度
result:sum(zf,len)/N;//振幅均值
是这个意思:每天开盘后6分钟的H-L,假设为a;那么今天为a0,
以往10交易日有10个振幅数据,依次为a1?a10,
然后对a1?a10这10个数求和再除以10。
你数据不够不行的。你要保证至少10个交易日的数据量才行。
谢谢老师!
这个result在TODAYBAR=N之前之后数据不一样,一天数据不是唯一的.
能做到唯一的正常值吗?
这个不行。因为如果位置在N之前,还能得到一个固定值,那就是未来了。
那这个1~N是个什么数值呢(什么含义?不是这个平均振幅呀)