打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
BARSLAST函数应用解释
userphoto

2023.03.12 吉林

关注

本文依据网友的思路,给出BARSLAST函数的嵌套应用算法,为递进式算法需要提供我们的思路,请看留言:

网友的留言

网友留言的题目是:建立一个选股指标---MACD在0轴下实现两次金叉(相差一段时间,第二个比第一个底部抬高)。

网友补充的示意图:

思路示意图

思路步骤

  1. 本文为了介绍BARSLAST函数的嵌套应用法,所以只对网友示意图中的MACD在0轴下方的双金叉进行算法表达;
  2. BARSLAST函数介绍;

用法:BARSLAST(X)---上一次X不为0到当下的周期数

例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数

  1. 引入系统已有指标MACD,做赋值处理,并删除MACD行;
  2. 应用今天的主角BARSLAST函数,分别计算两次金叉发生的位置;
  3. 罗列网友的双金叉条件,完成筛选逻辑算法。

算法的建立

1. 引入系统已有指标MACD,做赋值处理,并删除MACD行

DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA:=EMA(DIF,MID);

2. 计算两次金叉发生的位置---本文重点:计算左侧金叉位置时,用到了REF函数,限定时间范围是发生在右侧金叉位置之前

WZ1:=CONST(BARSLAST(CROSS(DIF,DEA)));

WZ2:=CONST(BARSLAST(REF(CROSS(DIF,DEA),WZ1+1)))+WZ1+1;

3.数据筛选的逻辑序列

a.最左侧第一次金叉发生之后,DIF与DEA一直处于MACD的0轴之下

EVERY(DIF<0,WZ2+1)

EVERY(DEA<0,WZ2+1)

b.右侧的第二次金叉,发生在当下

WZ1<=1 A

c.变量调节,两次金叉发生的时间间隔,参数的选择依据使用者自己的需求

WZ2-WZ1>=间隔数;

数据筛选的完整代码

代码流程

DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA:=EMA(DIF,MID);

WZ1:=CONST(BARSLAST(CROSS(DIF,DEA)));

WZ2:=CONST(BARSLAST(REF(CROSS(DIF,DEA),WZ1+1)))+WZ1+1;

EVERY(DIF<0,WZ2+1) AND EVERY(DEA<0,WZ2+1) AND WZ1<=1 AND WZ2-WZ1>=间隔数;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MACD零下金死缩
MACD金叉
MACD-KDJ金叉共振!附带选股-无未来-源码-通达信指标公式-布谷财经网
MACD与KDJ“共振”筛选算法
通达信指标公式编写常用函数(七)——SUMBARS以及MACD底背离
通达信指标公式编写答疑汇总(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服