来函数检测结果如下:
该公式没有未来函数
OBV0:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),-VOL,0)),0);
OBV:=OBV0/100000;
MA30:=MA(OBV,21);
OBV1:=OBV-MA30;
长均:EMA(OBV1,100),COLORWHITE;
中均:EMA(OBV1,20)COLORYELLOW;
短均:EMA(OBV1,5),COLORRED;
STICKLINE(中均>长均 AND REF(中均,1)<REF(短均,1) AND 短均<=中均,中均,0,2,0)COLORGREEN,NODRAW;
STICKLINE(REF(中均,1)>REF(短均,1) AND 短均>=中均 AND OBV1>REF(OBV1,1),中均,0,2,0),COLORRED;
TY:=OBV1;
AA1:=REF(TY,10)=HHV(TY,2*10+1); B1:=FILTER(AA1,10); HD:=FILTER(B1,10);
AA2:=REF(TY,10)=LLV(TY,2*10+1); B2:=FILTER(AA2,10); LD:=FILTER(B2,10);
AB:=REF(OBV1,BARSLAST(HD));
T1:=BARSLAST(HD)<BARSLAST(LD) AND NOT(HD) ;
T2:=BARSLAST(HD)>BARSLAST(LD) AND NOT(LD);
峰:=IF(T1,AB,AB),COLORYELLOW,LINETHICK1;
DIFF:=EMA(CLOSE,5)-EMA(CLOSE,13);
DEA:=EMA(DIFF,9),COLORFFFF00;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA);
MACD底背离:IF(底背离,HHV(OBV1,50)*0.5,0),LINETHICK2,COLORRED;
DRAWTEXT(底背离,HHV(OBV1,50)*0.4,'←底背离'),COLORRED;
OVC1:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:=REF(C,OVC1+1)<C AND REF(DIFF,OVC1+1)>DIFF AND CROSS(DEA,DIFF),COLORFF00FF,LINETHICK2;
MACD顶背离:IF(顶背离,HHV(OBV1,50)*0.4,0),LINETHICK2,COLORGREEN;
DRAWTEXT(顶背离>0,HHV(OBV1,50)*0.4,'←顶背离'),COLORGREEN;
OOBV:0,LINETHICK2,COLORBLUE;
原理解析:
OBV0赋值:SUM(IF(收盘价>1日前的收盘价,成交量,IF(收盘价<1日前的收盘价,-成交量,0)),0)
OBV赋值:OBV0/100000
MA30赋值:OBV的21日简单移动平均
OBV1:=OBV-MA30
输出长均:OBV1的100日指数移动平均,画白色
输出中均:OBV1的20日指数移动平均画黄色
输出短均:OBV1的5日指数移动平均,画红色
STICKLINE(中均>长均 AND 1日前的中均<1日前的短均 AND 短均<=中均,中均,0,2,0)画绿色,NODRAW
STICKLINE(1日前的中均>1日前的短均 AND 短均>=中均 AND OBV1>1日前的OBV1,中均,0,2,0),画红色
TY赋值:OBV1
AA1赋值:10日前的TY=2*10+1日内TY最高值
B1赋值:AA1的10过滤
HD赋值:B1的10过滤
AA2赋值:10日前的TY=2*10+1日内TY最低值
B2赋值:AA2的10过滤
LD赋值:B2的10过滤
AB赋值:REF(OBV1,上次HD距今天数)
T1赋值:上次HD距今天数
如果T1返回AB否则返回AB
DIFF赋值:收盘价的5日指数移动平均-收盘价的13日指数移动平均
DEA赋值:DIFF的9日指数移动平均,COLORFFFF00
A1赋值:上次1日前的DIFF上穿DEA距今天数
底背离赋值:A1+1日前的收盘价>收盘价 AND DIFF>A1+1日前的DIFF AND DIFF上穿DEA
MACD输出底背离:IF(底背离,50日内OBV1最高值*0.5,0), 线宽为2,画红色
DRAWTEXT(底背离,50日内OBV1最高值*0.4,'←底背离'),画红色
OVC1赋值:上次1日前的DEA上穿DIFF距今天数
顶背离赋值:OVC1+1日前的C
MACD输出顶背离:IF(顶背离,50日内OBV1最高值*0.4,0), 线宽为2,画绿色
DRAWTEXT(顶背离>0,50日内OBV1最高值*0.4,'←顶背离'),画绿色
O输出OBV:0, 线宽为2, 画蓝色