可修改指标源码做成预警公式。因为用到自动划线所以指标有未来函数,但是信号不会漂移,可用沙盘试验,信号出来后就是连续跌停信号也不会消失,因为划线是取近期一段交易日的数据,之前符合条件的信号不会再显示,使用沙盘倒推功能能看到历史符合条件的信号
笔周期:=3;
画趋势:=0;
A1:=REF(HIGH,3)=HHV(HIGH,笔周期*3+1);
B1:=FILTER(A1,3);
C1:=BACKSET(B1,3+1);
D1:=FILTER(C1,3);{高点}
A2:=REF(LOW,3)=LLV(LOW,笔周期*3+1);
B2:=FILTER(A2,3);
C2:=BACKSET(B2,3+1);
D2:=FILTER(C2,3);{低点}
E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2;
E2:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍}
H1:=(D1 AND NOT(D2 AND E1 =E2)) OR BARSTATUS=2 OR BARSCOUNT(CLOSE)=1;
H2:=D1 AND NOT(D2 AND E1 =E2);
L1:=D2 AND NOT(D1 AND E1=E2);
X1:=REF(BARSLAST(H1),1)+1;
F1:=BACKSET(H1 AND COUNT(L1,X1) 0,LLVBARS(IF(L1,LOW,10000),X1));
G1:=F1 REF(F1,1);
I1:=BACKSET(G1,2);
LD:=I1 REF(I1,1);{过滤后低点}
L2:=LD OR BARSTATUS=2 OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1;
F2:=BACKSET(L2 AND COUNT(H2,X2) 0,HHVBARS(IF(H2,HIGH,0),X2));
G2:=F2 REF(F2,1);
I2:=BACKSET(G2,2);
HD:=I2 REF(I2,1);{过滤后高点}
DRAWLINE(LD,L,HD,H,0),COLORYELLOW,LINETHICK1;
DRAWLINE(HD,H,LD,L,0),COLORYELLOW,LINETHICK1;
J1:=BACKSET(BARSTATUS=2,MIN(BARSLAST(HD),BARSLAST(LD))+1);
J2:=J1 REF(J1,1);
A3:=H;
B3:=REF(H,REF(BARSLAST(HD),1)+1) REF(H,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2));DRAWTEXT_FIX(1,0.980,20,1,'★分析家公式网'),COLOR666666;
D3:=A3 AND B3 AND HD;
E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2);
HH:=E3 REF(E3,1);{找出全部长期高点}
A4:=L REF(L,REF(BARSLAST(LD),1)+1);
B4:=REF(L,REF(BARSLAST(LD),1)+1);
D4:=A4 AND B4 AND LD;
E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2);
LL:=E4 REF(E4,1);{找出全部长期低点}
H3:=HH OR BARSTATUS=2 OR BARSCOUNT(C)=1; {后面进行过滤,方法同前。只是不用考虑高低点出现在同一K线}
X3:=REF(BARSLAST(H3),1)+1;
F3:=BACKSET(H3 AND COUNT(LL,X3) 0,LLVBARS(IF(LL,L,POW(10,20)),X3));
G3:=F3 REF(F3,1); I3:=BACKSET(G3,2);
LZ:=I3 REF(I3,1); {长期低点,也可供引用}
L4:=LZ OR BARSTATUS=2 OR BARSCOUNT(C)=1;
X4:=REF(BARSLAST(L4),1)+1;
F4:=BACKSET(L4 AND COUNT(HH,X4) 0,HHVBARS(IF(HH,H,-POW(10,20)),X4));
G4:=F4 REF(F4,1); I4:=BACKSET(G4,2); HZ:=I4 REF(I4,1);{长期高点,也可供引用}
K1:=BACKSET(BARSTATUS=2,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); K2:=K1 REF(K1,1);
UU:=BACKSET(BARSTATUS=2,BARSLAST(LD)+1);
VV:=UU REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
XX:=WW REF(WW,1);
WWQ:=BACKSET(XX,REF(BARSLAST(LD),1)+2);
XXQ:=WWQ REF(WWQ,1);
下轨:=DRAWLINE(XX,L,VV,L,1),COLORMAGENTA,LINETHICK2;{画趋势线}
UU2:=BACKSET(BARSTATUS=2,BARSLAST(HD)+1);
VV2:=UU2 REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
XX2:=WW2 REF(WW2,1);
WW3Q:=BACKSET(XX2,REF(BARSLAST(HD),1)+2);
XX3Q:=WW3Q REF(WW3Q,1);
WW4Q:=BACKSET(XX3Q,REF(BARSLAST(HD),1)+2);
XX4Q:=WW4Q REF(WW4Q,1);
上轨:=DRAWLINE(XX2,H,VV2,H,1),COLORMAGENTA,LINETHICK2;{画趋势线};
上轨1:=DRAWLINE(XX2,H,VV2,H,1);
Q0:=BARSLAST(XX2
Q1:=BARSLAST(XX
Q2:=BARSLAST(WW2
Q3:=BARSLAST(VV
Q4:=BARSLAST(XXQ
Q5:=BARSLAST(XX3Q
Q6:=BARSLAST(XX4Q
近期低:REF(L,BARSLAST(VV)),DOTLINE,COLOR99FF66;
近期高:REF(H,BARSLAST(VV2)),DOTLINE,COLOR99FF66;
上次低:REF(L,BARSLAST(XX)),DOTLINE,COLORFF66FF;
上次高:REF(H,BARSLAST(XX2)),DOTLINE,COLORFF66FF;
ABC:=IF(Q5 Q4,REF(L,BARSLAST(XXQ)),0),DOTLINE,COLORCYAN;
①②③:=IF(Q5 Q4,REF(H,BARSLAST(XX3Q)),0),DOTLINE,COLORCYAN;
笔:DRAWLINE(J2,IF(HD,H,L),BARSTATUS=2,IF(BARSLAST(HD) BARSLAST(LD),H,L),0),DOTLINE,COLORYELLOW,LINETHICK1;
DRAWTEXT( VV=1 AND Q0 Q1,L,'C')COLORMAGENTA;
DRAWTEXT(VV2=1 AND Q0 Q1,H,'B')COLORMAGENTA;
DRAWTEXT( XX=1 AND Q0 Q1,L,'A')COLORMAGENTA;
DRAWTEXT(XX2=1 AND Q5 Q4 ,H,'◆2')COLORMAGENTA;
DRAWTEXT(XXQ=1 AND Q5 Q4 ,L,'◆1')COLORMAGENTA;
DRAWTEXT( VV=1 AND Q0 Q1,L,'B-')COLORMAGENTA;
DRAWTEXT(VV2=1 AND Q0 Q1,H,'C-')COLORMAGENTA;
DRAWTEXT(XX2=1 AND Q0 Q1,H,'A-')COLORMAGENTA;
DRAWTEXT(XX=1 AND Q5 Q4,L,'◆2')COLORMAGENTA;
DRAWTEXT(XX3Q=1 AND Q5 Q4,H,'◆1')COLORMAGENTA;
V00:=HIGH REF(HIGH,1) AND LOW REF(LOW,1);
V01:=HIGH REF(HIGH,1) AND LOW REF(LOW,1);
V02:=HIGH REF(HIGH,1) AND LOW REF(LOW,1);
V03:=HIGH REF(HIGH,1) AND LOW REF(LOW,1);
V04:=REF(HIGH,2) HIGH AND REF(LOW,2) LOW AND REF(HIGH,2) REF(HIGH,1) AND REF(LOW,2) REF(LOW,1);
V1:=COUNT(V00,3) =1 AND LLVBARS(LOW,3)=1 AND V03;
V2:=COUNT(V00,4) =1 AND LLVBARS(LOW,4)=2 AND V04;
V3:=COUNT(V00,4) =1 AND COUNT(V01 OR V02,4)=1 AND LLVBARS(LOW,4)=1 AND V03;
V4:=COUNT(V00,5) =1 AND COUNT(V01 OR V02,5)=2 AND LLVBARS(LOW,5)=2 AND V04;
XG1:=V1 OR V2 OR V3 OR V4;
XG2:=C REF(HIGH,1);
XG:=XG1 AND XG2;
{收敛突破:=上次低 近期低 AND 上次高 近期高 AND CROSS(C,上轨) AND C
DRAWTEXT(收敛突破=1,L,'收敛突破'),COLORYELLOW;}
突破:=CROSS(C,近期高) AND C
STICKLINE(突破,OPEN,CLOSE,2.8,0),COLORMAGENTA;
强势突破:=上次低 近期低 AND 上次高 近期高 AND CROSS(C,近期高) AND C
STICKLINE(强势突破,OPEN,CLOSE,2.8,0),COLORMAGENTA;
DRAWTEXT(强势突破=1,H,'强势突破'),COLORYELLOW;
{反弹突破:=CROSS(C,上次低) AND C
STICKLINE(反弹突破,OPEN,CLOSE,2.8,1),COLORMAGENTA;
STICKLINE(反弹突破,OPEN,CLOSE,1,1),COLORWHITE;
DRAWTEXT(反弹突破=1,L,'反弹突破'),COLORYELLOW;}
DRAWTEXT(突破=1,L,' 突破'),COLORYELLOW;
一阳定势:=CROSS(C,近期高) AND CROSS(C,上次高) AND C
STICKLINE(一阳定势,OPEN,CLOSE,2.8,0),COLORMAGENTA;
DRAWTEXT(一阳定势=1,(OPEN+CLOSE)/2,' 一阳定势'),COLORRED;
STICKLINE(一阳定势,OPEN,CLOSE,1,0),COLORYELLOW;
STICKLINE(强势突破,OPEN,CLOSE,1,0),COLORYELLOW;