乌克兰李森科作曲家:大智慧公式编写入门辅导(续七)

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 09:39:22
大智慧公式编写入门辅导(续七)  字号:大 中 小  大智慧引用函数FILTER、SUMBARS运用

1、函数:FILTER 信号过滤 过滤连续出现的信号。 用法:FILTER(X,N),X满足条件后,删除其后N周期内的数据置为0。 例如:FILTER(CLOSE>OPEN,5),查找阳线,5天内再次出现的阳线不被记录在内。请看下面指标:
顶底背离:0,COLORYELLOW;
A1:=BARSLAST(ref(cross("macd.diff"(12,26,9),"macd.dea"(12,26,9)),1));
B1:=ref(c,A1+1)>c and ref("macd.diff"(12,26,9),A1+1)<"macd.diff"(12,26,9) and cross("macd.diff"(12,26,9),"macd.dea"(12,26,9));
MACD底背离:STICKLINE(FILTER(B1>0,5),0,0.75,3,0),COLOR00FF00;{5天内B1>0的条件不被记录在内,在当前周期内出现B1>0画绿色柱线}
DRAWTEXT(FILTER(B1>0,5),0.57,'MACD底背离'),COLOR00FF00;
A2:=BARSLAST(ref(cross("kdj.k"(9,3,3),"kdj.d"(9,3,3)),1));
B2:=ref(c,A2+1)>c and ref("kdj.k"(9,3,3),A2+1)<"kdj.k"(9,3,3) and cross("kdj.k"(9,3,3),"kdj.d"(9,3,3));
KDJ底背离:STICKLINE(FILTER(B2>0,5),0,1,3,0),COLORYELLOW;{5天内B2>0的条件不被记录在内,在当前周期内出现B>0画黄色柱线}
DRAWTEXT(FILTER(B2>0,5),0.80,'KDJ底背离'),COLORYELLOW;
A3:=BARSLAST(ref(cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)),1));
B3:=ref(c,A3+1)>c and ref("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) and cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24));
RSI底背离:STICKLINE(FILTER(B3>0,5),0,0.5,3,0),COLORFFCC66;{5天内B3>0的条件不被记录在内,在当前周期内出现B3>0画青色柱线}
DRAWTEXT(FILTER(B3>0,5),0.25,'RSI底背离'),COLORFFCC66;
2,COLORRED;
C1:=BARSLAST(ref(cross("macd.dea"(12,26,9),"macd.diff"(12,26,9)),1));
D1:=ref(c,C1+1)"macd.diff"(12,26,9) and cross("macd.dea"(12,26,9),"macd.diff"(12,26,9));
MACD顶背离:STICKLINE(FILTER(D1>0,5),2,1.25,3,0),COLOR0066FF;{5天内D1>0的条件不被记录在内,在当前周期内出现D1>0画橘黄色柱线}
DRAWTEXT(FILTER(D1>0,5),1.47,'MACD顶背离'),COLOR0066FF;
C2:=BARSLAST(ref(cross("kdj.d"(9,3,3),"kdj.k"(9,3,3)),1));
D2:=ref(c,C2+1)"kdj.k"(9,3,3) and cross("kdj.d"(9,3,3),"kdj.k"(9,3,3));
KDJ顶背离:STICKLINE(FILTER(D2>0,5),2,1,3,0),COLORRED;{5天内D2>0的条件不被记录在内,在当前周期内出现D2>0画红色柱线}
DRAWTEXT(FILTER(D2>0,5),1.2,'KDJ顶背离'),COLORRED;
C3:=BARSLAST(ref(cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)),1));
D3:=ref(c,C3+1)"RSI.RSI1"(6,12,24) and cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24));
RSI顶背离:STICKLINE(FILTER(D3>0,5),2,1.5,3,0),COLORFF00FF;{5天内D3>0的条件不被记录在内,在当前周期内出现D3>0画粉色柱线}
DRAWTEXT(FILTER(D3>0,5),1.75,'RSI顶背离'),COLORFF00FF;
这是一个引用FILTER函数比较多的指标,请认真研究和体会一下语句的用法。
2、函数:SUMBARS 累加到指定周期数 向前累加到指定值到现在的周期数。 用法:SUMBARS(X,A),将X向前累加直到大于等于A,返回这个区间的周期数。 例如:SUMBARS(VOL,CAPITAL),求完全换手到现在的周期数。
这个函数好用,在于它不但能精确地得到统计结果,而且能得到“模糊”的结果。
就以SUMBARS(VOL,CAPITAL)为例:
日期数:SUMBARS(VOL,CAPITAL);{返回成交量累加到流通盘的日期数}
验证:SUM(V,日期数)/CAPITAL;{把返回的日期数之内的成交量累计,再除以流通盘}
运行的结果中,我们可以看到,“验证”的输出,除了SUMBARS起算点附近之外,从来没有小于1的。可见SUMBARS只往多算,不往少算。请看下面指标:
Var1:=(CLOSE-LLV(LOW,45))/(HHV(HIGH,45)-LLV(LOW,45))*100;
Var2:=SMA(Var1,3,1);
Var3:=SMA(Var2,3,1);
VarB:=SUM(IF(CLOSE>REF(CLOSE,7),VOL,IF(CLOSE<>
VarC:=SUMBARS(VOL,CAPITAL);{求完全换手到现在的周期数}
VarD:=IF(CLOSE>LLV(CLOSE,VarC),1,-1);
VarE:=IF(VarB>LLV(VarB,VarC),1,-1);
VarF:=VarD*VarE;
Var10:=IF(VarF=-1,1,0);
关注:IF(Var10 AND CLOSE=LLV(CLOSE,20) AND Var3<12,70,1),colorffcc66;{在图上0--70的坐标处显示青色脉冲信号}
V1:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<>
V2:=SUMBARS(VOL,CAPITAL);{求完全换手到现在的周期数}
V3:=IF(CLOSE>LLV(CLOSE,V2),1,-1);
V4:=IF(V1>LLV(V1,V2),1,-1);
V5:=V3*V4;
V6:=IF(V5=-1,1,0);
V7:=COUNT(V6=1,8)>2;
V8:=AMOUNT/VOL/100;
V9:=(3*HIGH+LOW+OPEN+2*CLOSE)/7;
VA:=SUM(AMOUNT,13)/V8/100;
VB:=DMA(V9,VOL/VA);
VC:=(CLOSE-VB)/VB*100<-15;
VD:=(CLOSE-MIN(REF(CLOSE,5)*0.865,REF(CLOSE,21)*0.772))/CLOSE<0.05;
长针:(VC AND VD AND V7)*60,coloryellow;{在图上0--60的坐标处显示黄色脉冲信号}