来函数检测结果如下:
该公式没有未来函数
N:=3;
A1:=FORCAST(EMA(CLOSE,5),6);
A2:=FORCAST(EMA(CLOSE,8),6);
A3:=FORCAST(EMA(CLOSE,11),6);
A4:=FORCAST(EMA(CLOSE,14),6);
A5:=FORCAST(EMA(CLOSE,17),6);
B:=A1+A2+A3+A4-4*A5;
TOWERC:=EMA(B,2);
B1:FORCAST(EMA(B,3),6),POINTDOT,COLORGREEN;
B2:FORCAST(EMA(B,4),6),POINTDOT,COLORGREEN;
B3:FORCAST(EMA(B,5),6),POINTDOT,COLORGREEN;
B4:FORCAST(EMA(B,6),6),POINTDOT,COLORGREEN;
B5:FORCAST(EMA(B,7),6),POINTDOT,COLORGREEN;
B6:FORCAST(EMA(B,8),6),POINTDOT,COLORGREEN;
B7:FORCAST(EMA(B,9),6),POINTDOT,COLORGREEN;
B8:FORCAST(EMA(B,10),6),POINTDOT,COLORGREEN;
B9:FORCAST(EMA(B,11),6),POINTDOT,COLORGREEN;
B10:FORCAST(EMA(B,12),6),POINTDOT,COLORGREEN;
B11:FORCAST(EMA(B,13),6),POINTDOT,COLORGREEN;
B12:FORCAST(EMA(B,14),6),POINTDOT,COLORGREEN;
B13:=FORCAST(EMA(B,15),6),POINTDOT,COLORGREEN;
B14:FORCAST(EMA(B,16),6),POINTDOT,COLORGREEN;
B15:FORCAST(EMA(B,17),6),POINTDOT,COLORGREEN;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORRED;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORGREEN;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORRED;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORRED;
STICKLINE(TOWERC>=REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORRED;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORGREEN;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORGREEN;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORGREEN;
STICKLINE(TOWERC<REF(TOWERC,1),TOWERC,REF(TOWERC,1),N,0),COLORGREEN;
BSUM:=(B1+B2+B3+B4+B5+B6+B7+B8+B9+B10+B11+B12+B13+B14+B15)/15;
BMAX1:=MAX(MAX(B1,B2),MAX(B3,B4));
BMAX2:=MAX(MAX(B5,B6),MAX(B7,B8));
BMAX3:=MAX(MAX(B9,B10),MAX(B11,B12));
BMAX4:=MAX(MAX(B13,B14),B15);
BMAX:=MAX(MAX(BMAX1,BMAX2),MAX(BMAX3,BMAX4));
BMIN1:=MIN(MIN(B1,B2),MIN(B3,B4));
BMIN2:=MIN(MIN(B5,B6),MIN(B7,B8));
BMIN3:=MIN(MIN(B9,B10),MIN(B11,B12));
BMIN4:=MIN(MIN(B13,B14),B15);
BMIN:=MIN(MIN(BMIN1,BMIN2),MIN(BMIN3,BMIN4));
BAX:=ABS(BMAX-(TOWERC+REF(TOWERC,1))/2);
BAN:=ABS(BMIN-(TOWERC+REF(TOWERC,1))/2);
BFIN:=IF(BAX>BAN,BMAX,BMIN);
C1:=BFIN-BMAX=0 AND REF(BFIN,1)-REF(BMIN,1)=0;
C2:=BFIN-BMIN=0 AND REF(BFIN,1)-REF(BMAX,1)=0;
BFINAL:=IF(C1 OR C2,(BMAX+BMIN)/2,BFIN),NODRAW;
HC:TOWERC-REF(TOWERC,1),NODRAW;
KC:HC-REF(HC,1),NODRAW;
绿柱变大:IF(HC<=0 AND KC<=0,BFINAL,DRAWNULL),POINTDOT,COLORGREEN,LINETHICK3;
绿柱变小:IF(HC<0 AND KC>0,BFINAL,DRAWNULL),POINTDOT,COLORMAGENTA,LINETHICK3;
红柱变大:IF(HC>0 AND KC>=0,BFINAL,DRAWNULL),POINTDOT,COLORRED,LINETHICK3;
红柱变小:IF(HC>0 AND KC<0,BFINAL,DRAWNULL),POINTDOT,COLORLIBLUE,LINETHICK3;
DRAWTEXT_FIX(ISLASTBAR AND HC<=0 AND KC<0,1,0,1,'绿柱变大 '),COLORWHITE;
DRAWTEXT_FIX(ISLASTBAR AND HC<=0 AND KC>0,1,0,1,'绿柱变小 '),COLORWHITE;
DRAWTEXT_FIX(ISLASTBAR AND HC>=0 AND KC>0,1,0,1,'红柱变大 '),COLORWHITE;
DRAWTEXT_FIX(ISLASTBAR AND HC>=0 AND KC<0,1,0,1,'红柱变小 '),COLORWHITE;
SEL:=REF(KC,4)>0 AND REF(KC,3)>0 AND REF(KC,2)<0 AND REF(KC,1)<0 AND KC<0;
BU:=REF(KC,4)<0 AND REF(KC,3)<0 AND REF(KC,2)>0 AND REF(KC,1)>0 AND KC>0;
DRAWTEXT(SEL,MAX(TOWERC,REF(TOWERC,1)),'降'),COLORWHITE;
DRAWTEXT(BU,MIN(TOWERC,REF(TOWERC,1)),'升'),COLORWHITE;
原理解析:
N赋值:3
A1赋值:FORCAST(收盘价的5日指数移动平均,6)
A2赋值:FORCAST(收盘价的8日指数移动平均,6)
A3赋值:FORCAST(收盘价的11日指数移动平均,6)
A4赋值:FORCAST(收盘价的14日指数移动平均,6)
A5赋值:FORCAST(收盘价的17日指数移动平均,6)
B赋值:A1+A2+A3+A4-4*A5
TOWERC赋值:B的2日指数移动平均
B1:FORCAST(B的3日指数移动平均,6),POINTDOT,COLORGREEN
B2:FORCAST(B的4日指数移动平均,6),POINTDOT,COLORGREEN
B3:FORCAST(B的5日指数移动平均,6),POINTDOT,COLORGREEN
B4:FORCAST(B的6日指数移动平均,6),POINTDOT,COLORGREEN
B5:FORCAST(B的7日指数移动平均,6),POINTDOT,COLORGREEN
B6:FORCAST(B的8日指数移动平均,6),POINTDOT,COLORGREEN
B7:FORCAST(B的9日指数移动平均,6),POINTDOT,COLORGREEN
B8:FORCAST(B的10日指数移动平均,6),POINTDOT,COLORGREEN
B9:FORCAST(B的11日指数移动平均,6),POINTDOT,COLORGREEN
B10:FORCAST(B的12日指数移动平均,6),POINTDOT,COLORGREEN
B11:FORCAST(B的13日指数移动平均,6),POINTDOT,COLORGREEN
B12:FORCAST(B的14日指数移动平均,6),POINTDOT,COLORGREEN
B13:=FORCAST(B的15日指数移动平均,6),POINTDOT,COLORGREEN
B14:FORCAST(B的16日指数移动平均,6),POINTDOT,COLORGREEN
B15:FORCAST(B的17日指数移动平均,6),POINTDOT,COLORGREEN
STICKLINE(TOWERC>=1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),画红色
STICKLINE(TOWERC<1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),COLORGREEN
STICKLINE(TOWERC>=1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),画红色
STICKLINE(TOWERC>=1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),画红色
STICKLINE(TOWERC>=1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),画红色
STICKLINE(TOWERC<1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),COLORGREEN
STICKLINE(TOWERC<1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),COLORGREEN
STICKLINE(TOWERC<1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),COLORGREEN
STICKLINE(TOWERC<1日前的TOWERC,TOWERC,1日前的TOWERC,N,0),COLORGREEN
BSUM:=(B1+B2+B3+B4+B5+B6+B7+B8+B9+B10+B11+B12+B13+B14+B15)/15
BMAX1:=B1和B2较大值,B3和B4较大值)
BMAX2:=B5和B6较大值,B7和B8较大值)
BMAX3:=B9和B10较大值,B11和B12较大值)
BMAX4:=B13和B14较大值,B15)
BMAX:=B1和BMAX2较大值,B3和BMAX4较大值)
BMIN1:=B1和B2的较小值,B3和B4的较小值)
BMIN2:=B5和B6的较小值,B7和B8的较小值)
BMIN3:=B9和B10的较小值,B11和B12的较小值)
BMIN4:=B13和B14的较小值,B15)
BMIN赋值:B1和BMIN2的较小值,B3和BMIN4的较小值)
BAX:=BMAX-(TOWERC+1日前的TOWERC的绝对值/2)
BAN赋值:BMIN-(TOWERC+1日前的TOWERC的绝对值/2)
如果BAX>BAN返回BMAX否则返回BMIN
C1赋值:BFIN-BMAX=0 AND 1日前的BFIN-1日前的BMIN=0
C2赋值:BFIN-BMIN=0 AND 1日前的BFIN-1日前的BMAX=0
BFINAL:=IF(C1 OR C2,(BMAX+BMIN)/2,BFIN),NODRAW
输出HC:TOWERC-1日前的TOWERC,NODRAW
输出KC:HC-1日前的HC,NODRAW
如果HC<=0 AND KC<=0返回BFINAL否则返回DRAWNULL
如果HC<0 AND KC>0返回BFINAL否则返回DRAWNULL
如果HC>0 AND KC>=0返回BFINAL否则返回DRAWNULL
如果HC>0 AND KC<0返回BFINAL否则返回DRAWNULL
当满足条件ISLASTBAR AND HC<=0 AND KC<0时,在横轴1纵轴0位置书写文字
当满足条件ISLASTBAR AND HC<=0 AND KC>0时,在横轴1纵轴0位置书写文字
当满足条件ISLASTBAR AND HC>=0 AND KC>0时,在横轴1纵轴0位置书写文字
当满足条件ISLASTBAR AND HC>=0 AND KC<0时,在横轴1纵轴0位置书写文字
SEL赋值:4日前的KC>0 AND 3日前的KC>0 AND 2日前的KC<0 AND 1日前的KC<0 AND KC<0
BU:=4日前的KC<0 AND 3日前的KC<0 AND 2日前的KC>0 AND 1日前的KC>0 AND KC>0
DRAWTEXT(SEL,TOWERC和1日前的TOWERC较大值,'降'),画白色
DRAWTEXT(BU,TOWERC和1日前的TOWERC的较小值,'升'),画白色