通达信中,如何求BARSLAST函数的返回值?

您所在的位置:网站首页 通达信if返回空值 通达信中,如何求BARSLAST函数的返回值?

通达信中,如何求BARSLAST函数的返回值?

2024-05-24 07:43| 来源: 网络整理| 查看: 265

REF函数用于引用之前的数据,BARSLAST函数用于获取上次成立的时间,本期教学将会从多个方面介绍REF函数的具体应用,以及REF函数和BARSLAST函数的组合使用。

REF函数介绍

BARSLAST函数介绍

我是 @波有蛋 ,一位从业八年的职业交易员,对股票、基金、程序化交易等有深入的研究,精通指标、选股公式编写,已服务上千粉丝开通满意的证券账户。

点赞、关注好了吧,那么下面就正式开始本期的教学!

1、基础用法函数:REF 功能:引用若干周期前的数据。 格式:REF(X,A) 用法:引用A周期前的X值,A可以是变量。 例:REF(C,1)返回昨天的收盘价。

REF函数最基础的运用就是返回若干周期前的基础行情数据,如REF(C,1)返回昨天的收盘价、REF(O,2)返回前天的开盘价等。

当我们需要获取这些价格时,即可使用REF函数直接引用。

函数:BARSLAST 功能:返回上一次条件成立到当前的周期数。 格式:BARSLAST(X) 用法:上一次X不为0到现在的周期数。 例:BARSLAST(C>O)返回上次收阳到现在的天数。

BARSLAST函数输出计数值,返回上次条件成立到目前的周期数,通常与其他函数搭配使用,比如和REF函数组合。

2、指标走势方向的确定

REF函数的进阶用法是确定某一技术指标或盘中行情数据的方向。

例如,我们想知道均线方向是否为向上走,该如何用公式表达。

均线要向上走,说明今日的均线值大于昨日的均线值,写成程序即:

确认均线方向均线:=MA(C,5); 昨日均线:=REF(均线,1); 均线向上走:均线>昨日均线;

启用效果如下:

5日均线向上则在副图标记

如果想确定长期趋势,我们需要在此基础上加入EVERY持续函数,下期教学将会介绍。

3、引用条件成立点的数据

REF(X,A)表示引用A周期前的X值,常规用法是手动输入A,比如想获取昨天的数据,就输入REF(X,1),想获取前天的数据,就输入REF(X,2).

这种用法的局限在于,如果我们想获取某一不确定时间的数据,就无法填入准确的数字来确定时间。

打个比方,我想知道上次涨停的价格,就必须首先知道上次涨停是多久之前的事。

对于不同的个股,上次涨停的时间不一定一致,因此无法手动输入数据,这就要用到BARSLAST函数。

先把前面教学的涨停公式源码复制过来,再用BARSLAST函数获取上次涨停到现在的天数,最后代入REF函数就能得到上次涨停的价格。

写成代码如下:

上次涨停价公式科创创业:=FINANCE(3)=4 OR (DATE>1200822 AND FINANCE(3)=3); 北交所:=FINANCE(3)=2; 涨停标准:=IF(北交所,ZTPRICE(REF(CLOSE,1),0.3),IF(科创创业,ZTPRICE(REF(CLOSE,1),0.2),ZTPRICE(REF(CLOSE,1),0.1))); 判断涨停:=FINANCE(42)>50 AND (CLOSE>=涨停标准); 上次涨停:=BARSLAST(判断涨停); 上次涨停价:REF(C,上次涨停);

主图叠加指标后效果如下:

主图叠加

白线即上次涨停的价格,和黄柱的顶端对应。

但是仔细观察,就会发现该指标存在一个问题:在涨停当天,指标给出的价格等于当天的涨停价,而非上次涨停价。

要修复这个误差,需要用到REF函数的嵌套。

4、REF函数的嵌套

嵌套就是指在某一函数中再次或多次输入该函数。

REF函数嵌套的格式为:

REF(REF(X,A1),A2)

该嵌套格式返回A2天前的A1天前的X。

将指标【上次涨停价】稍作修改:

上次涨停价公式

最后一行语句更改为嵌套格式:

上次涨停价:REF(REF(C,上次涨停),1);

这样一来,函数返回的数据就会整体往前推一天,从而获取准确的上次涨停价:

上次涨停的价格

REF函数还有诸多运用,但都是在本期教学介绍的基础运用上衍生出来的。

学会实例中的几个基础用法后,其他有关REF函数的运用也能迎刃而解。

如果你对低佣开户或量化交易有需求,或者需要量化策略、通达信公式编写的技术支持,关注我,希望能帮得到你。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3