通达信股易顶底
A1:=REF(HIGH,3)=HHV(HIGH,2*3+1); B1:=FILTER(A1,3); C1:=BACKSET(B1,3+1); D1:=FILTER(C1,3);{高点}
A2:=REF(LOW,3)=LLV(LOW,2*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 ISLASTBAR OR BARSCOUNT(CLOSE)=1;
L1:=(D2 AND NOT(D1 AND E1<E2)); H2:=D1 AND NOT(D2 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 ISLASTBAR 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),COLORWHITE,LINETHICK1,DOTLINE;
DRAWLINE(HD,H,LD,L,0),COLORWHITE,LINETHICK1,DOTLINE;
J1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HD),BARSLAST(LD))+1); J2:=J1>REF(J1,1);
DRAWLINE(J2,IF(HD,H,L),ISLASTBAR,IF(BARSLAST(HD)>BARSLAST(LD),H,L),0),COLORWHITE,LINETHICK1,DOTLINE;
A3:=H<REF(H,REF(BARSLAST(HD),1)+1);
B3:=REF(H,REF(BARSLAST(HD),1)+1)>REF(H,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2));
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)<REF(L,REF(BARSLAST(LD),1)+2+REF(BARSLAST(LD),REF(BARSLAST(LD),1)+2));
D4:=A4 AND B4 AND LD; E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2); LL:=E4>REF(E4,1);{找出全部?期低?}
DRAWICON(HH,H,10); DRAWICON(LL,L,12);
H3:=HH OR ISLASTBAR 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 ISLASTBAR 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);{?期高?,也可供引用}
DRAWLINE(HZ,H,LZ,L,0),COLORGREEN,LINETHICK1;
DRAWLINE(LZ,L,HZ,H,0),COLORGREEN,LINETHICK1;{?期??}
K1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); K2:=K1>REF(K1,1);
DRAWLINE(K2,IF(HZ,H,L),ISLASTBAR,C,0),COLORGREEN,LINETHICK1; {最后的?期??,?在收?价上}
UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
VV:=UU>REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
XX:=WW>REF(WW,1);
DRAWLINE(XX,L,VV,L,1),COLORMAGENTA,LINETHICK1;
UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
VV2:=UU2>REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
XX2:=WW2>REF(WW2,1);
DRAWLINE(XX2,H,VV2,H,1),COLORMAGENTA,LINETHICK1;
DRAWNUMBER(LD,L*0.999,L),COLORWHITE;
DRAWNUMBER(HD,H*1.002,H),COLORWHITE;
AA:=BARSLAST(HD);
BB:=BARSLAST(LD);
DRAWNUMBER(LD,L*0.98,AA),COLORGREEN;
DRAWNUMBER(HD,H*1.02,BB),COLORRED;
DRAWTEXT(LD,L*0.98,' 天'),COLORGREEN;
DRAWTEXT(HD,H*1.02,' 天'),COLORRED;
DRAWNUMBER(ISLASTBAR,L*0.987,MIN(AA,BB)),COLORCYAN;
DRAWTEXT(ISLASTBAR,L*0.987,' 天'),COLORCYAN;
STICKLINE(LD,1.1*H,0.9*L,0,-1),COLORYELLOW;
{VERTLINE(LD),POINTDOT;
VVV:REF(SUM(V,SUMBARS(LD=1,2)),BARSLAST(LD=1)),LINETHICK0;};
未来函数检测结果如下:
该公式包含未来函数:BACKSET
解密、定制、编写股票指标请联系QQ或微信同号:88652583
相关股票指标公式
原理解析:
A1赋值:3日前的最高价=2*3+1日内最高价最高值
B1赋值:A1的3过滤
C1赋值:BACKSET(B1,3+1)
D1赋值:C1的3过滤
{高点}
A2赋值:3日前的最低价=2*3+1日内最低价最低值
B2赋值:A2的3过滤
C2赋值:BACKSET(B2,3+1)
D2赋值:C2的3过滤
{低点}
E1赋值:(REF(2*3日内最低价最低值,1)+REF(2*3日内最高价最高值,1))/2
E2赋值:(最高价+最低价)/2
{高低点出现在同一K线上可作取舍}
H1赋值:(D1 AND NOT(D2 AND E1>=E2)) OR ISLASTBAR OR 收盘价的有效数据周期数=1
L1赋值:(D2 AND NOT(D1 AND E1 H2赋值:D1 AND NOT(D2 AND E1>=E2)
X1赋值:REF(上次H1距今天数,1)+1
如果L1返回最低价否则返回10000
G1赋值:F1>1日前的F1
I1赋值:BACKSET(G1,2)
LD赋值:I1>1日前的I1
{过滤后低点}
L2赋值:LD OR ISLASTBAR OR 收盘价的有效数据周期数=1
X2赋值:REF(上次L2距今天数,1)+1
如果H2返回最高价否则返回0
G2赋值:F2>1日前的F2
I2赋值:BACKSET(G2,2)
HD赋值:I2>1日前的I2
{过滤后高点}
DRAWLINE(LD,L,HD,H,0),画白色,LINETHICK1,DOTLINE
DRAWLINE(HD,H,LD,L,0),画白色,LINETHICK1,DOTLINE
J1赋值:BACKSET(ISLASTBAR,MIN(上次HD距今天数,BARSLAST(LD))+1)
J2赋值:J1>1日前的J1
如果HD返回H否则返回L
A3赋值:H
B3赋值:REF(H,REF(上次HD距今天数,1)+1)>REF(H,REF(上次HD距今天数,1)+2+REF(上次HD距今天数,REF(上次HD距今天数,1)+2))
D3赋值:A3 AND B3 AND HD
E3赋值:BACKSET(D3,REF(上次HD距今天数,1)+2)
HH赋值:E3>1日前的E3
{找出全部?期高?}
A4赋值:L>REF(L,REF(上次LD距今天数,1)+1)
B4赋值:REF(L,REF(上次LD距今天数,1)+1)
D4赋值:A4 AND B4 AND LD
E4赋值:BACKSET(D4,REF(上次LD距今天数,1)+2)
LL赋值:E4>1日前的E4
当满足条件HH时,在H和10之间画图标
当满足条件LL时,在L和12之间画图标
H3赋值:HH OR ISLASTBAR OR C的有效数据周期数=1
{后面?行??,方法同前。只是不用考?高低?出?在同一K?}
X3赋值:REF(上次H3距今天数,1)+1
F3赋值:BACKSET(H3 AND 统计X3日满足LL的天数>0,LLVBARS(IF(LL,L,POW(10,20)),X3))
G3赋值:F3>1日前的F3
I3赋值:BACKSET(G3,2)
LZ赋值:I3>1日前的I3
{?期低?,也可供引用}
L4赋值:LZ OR ISLASTBAR OR C的有效数据周期数=1
X4赋值:REF(上次L4距今天数,1)+1
F4赋值:BACKSET(L4 AND 统计X4日满足HH的天数>0,HHVBARS(IF(HH,H,-POW(10,20)),X4))
G4赋值:F4>1日前的F4
I4赋值:BACKSET(G4,2)
HZ赋值:I4>1日前的I4
{?期高?,也可供引用}
DRAWLINE(HZ,H,LZ,L,0),画绿色,LINETHICK1
DRAWLINE(LZ,L,HZ,H,0),画绿色,LINETHICK1
{?期??}
K1赋值:BACKSET(ISLASTBAR,MIN(上次HZ距今天数,BARSLAST(LZ))+1)
K2赋值:K1>1日前的K1
如果HZ返回H否则返回L
{最后的?期??,?在收?价上}
UU赋值:BACKSET(ISLASTBAR,上次LD距今天数+1)
VV赋值:UU>1日前的UU
WW赋值:BACKSET(VV,REF(上次LD距今天数,1)+2)
XX赋值:WW>1日前的WW
DRAWLINE(XX,L,VV,L,1),画洋红色,LINETHICK1
UU2赋值:BACKSET(ISLASTBAR,上次HD距今天数+1)
VV2:=UU2>1日前的UU2
WW2:=BACKSET(VV2,REF(上次HD距今天数,1)+2)
XX2:=WW2>1日前的WW2
DRAWLINE(XX2,H,VV2,H,1),画洋红色,LINETHICK1
DRAWNUMBER(LD,L*0.999,L),画白色
DRAWNUMBER(HD,H*1.002,H),画白色
AA赋值:上次HD距今天数
BB赋值:上次LD距今天数
DRAWNUMBER(LD,L*0.98,AA),画绿色
DRAWNUMBER(HD,H*1.02,BB),画红色
当满足条件LD时,在L*0.98和' 天'位置书写文字
当满足条件HD时,在H*1.02和' 天'位置书写文字
DRAWNUMBER(ISLASTBAR,L*0.987,AA和BB的较小值),画青色
当满足条件ISLASTBAR时,在L*0.987和' 天'位置书写文字
当满足条件LD时,在1.1*H和0.9*L之间画柱状线
{VERTLINE(LD),POINTDOT
VVV:REF(LD=1累加至2的天数的V日累和,上次LD=1距今天数),LINETHICK0
}