飞狐编程说明

LL:LLV(L,N),LINETHICK2;{主图叠加,参数N:30,1,9999} <%

VH=FFL.VARDATA(\

VL=FFL.VARDATA(\

VN=FFL.VARDATA(\

LAST=UBOUND(VH)

IF VN>LAST THEN VN=LAST+1

FOR I=LAST TO LAST-VN+1 STEP-1

VH(I)=VH(LAST)

VL(I)=VL(LAST) NEXT

FFL.VARDATA(\

FFL.VARDATA(\

FFL.VARSTARTINDEX(\

FFL.VARSTARTINDEX(\ %>

当N个周期之内,有两个最高价,即有等高的情况出现,HHVBARS会返回哪个最高价到当前的周期数呢?

用副图公式观察一下,N取10:

HHVBARS(H,N);

如图,我们可以得出结论,返回的是前一个最高价到当前的周期数。

同样,当在N个周期之内,有两个等低的最低价出现时,LLVBARS会返回前一个最低价到当前的周期数。 九、

函数: SUMBARS(X,A)

参数: X为数组

返回: 返回数组

说明: 将X向前累加直到大于等于A,返回这个区间的周期数

示例: SUMBARS(VOL,CAPITAL)

求完全换手到现在的周期数

这个函数好用,在于它不但能精确地得到统计结果,而且能得到“模糊”的结果。

就以SUMBARS(VOL,CAPITAL)为例:

日期数:SUMBARS(VOL,CAPITAL);{返回成交量累加到流通盘的日期数}

验证:SUM(V,日期数)/CAPITAL;{把返回的日期数之内的成交量累计,再除以流通盘}

运行的结果中,我们可以看到,“验证”的输出,除了SUMBARS起算点附近之外,从来没有小于1的。可见SUMBARS只往多算,不往少算,非常“精明”。 十、

函数: BARSCOUNT(X)

参数: X为数组

返回: 返回数组

说明: 第一个有效数据到当前的天数

示例: BARSCOUNT(CLOSE)

对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交易分钟数

BARS是什么?我们看到,关于取得相隔时间周期的函数中,多数以BARS开头。

查字典,BAR的意思有很多,有条、条形、酒巴、巴等。后来才恍然大悟:相隔时间周期,不就是中间相隔几根条形K线么?

BARSCOUNT(X)是第一个有效数据到当前的天数。那么什么是有效数据?

A:BACKSET(ISLASTPERIOD,10);

零:BARSCOUNT(A);

很小:BARSCOUNT(C/10000000000000);

负数:BARSCOUNT(-C);

不存在:BARSCOUNT(MA(C,10));

可见,有效数据并不是全是大于等于1的数据,只要有输出的数据,不管是零,还是负数,均为有效数据。

而MA(C,10)是从第十根K线开始起算的,所以一直要到第十根K线,BARSCOUNT(MA(C,10))才输出1。

这样找一些指标的起算点时间位置,用BARSCOUNT函数就很管用了。

一般找第一根K线的位置,就可以写为BARSCOUNT(C)=1;

十一、

函数: BARSSINCE(X)

参数: X为数组

返回: 返回数组

说明: 第一次X不为0到现在的天数

示例: BARSSINCE(HIGH>20)

表示股价第一次超过20元时到当前的周期数

SINCE,自...以后。BARSSINCE和BARSCOUNT很象,不过它找的是非零信号。

A:BACKSET(ISLASTPERIOD,10);

零:BARSsince(A);

很小:BARSsince(C/10000000000000);

负数:BARSsince(-C);

不存在:BARSsince(MA(C,10));

可见,零和无效数据,均不被计数。一般BARSSINCE是针对逻辑运算的结果的,因为逻辑运算的结果输出,不是0,就是1。

十二、

函数: BARSLAST(X)

参数: X为数组

返回: 返回数组

说明: 上一次X不为0到现在的天数

示例: BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)

表示上一个涨停板到当前的周期数

条件满足的当前周期,BARSLAST返回0。

是“不为0”到现在的天数么?运行这个公式试试:

A:=C>O;

联系客服:779662525#qq.com(#替换为@)