未来函数检测结果如下:
该公式包含未来函数:BACKSET


Z1:=STRCAT(HYBLOCK,' ');
Z2:=STRCAT(Z1,DYBLOCK);
Z3:=STRCAT(Z2,' ');
DRAWTEXT_FIX(ISLASTBAR,0,0,0,STRCAT(Z3,GNBLOCK)),COLOR00C0C0;
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;
 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 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);{过滤后高点}
 J1:=BACKSET(ISLASTBAR,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));
 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);{找出全部长期低点}
 DRAWICON(HH,H*1.01,8);     
DRAWICON(LL,L*0.999,7);
 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);{长期高点,也可供引用}
 K1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); 
K2:=K1>REF(K1,1);
 UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
 VV:=UU>REF(UU,1);
 WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
 XX:=WW>REF(WW,1);
 UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
 VV2:=UU2>REF(UU2,1);
 WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
 XX2:=WW2>REF(WW2,1);
 前一低:REF(L,BARSLAST(VV)),COLOR99FF66,LINETHICK1;
 前二低:REF(L,BARSLAST(XX)),COLOR99FF66,LINETHICK1;
 前一高:REF(H,BARSLAST(VV2)),COLORCYAN,LINETHICK1;
 前二高:REF(H,BARSLAST(XX2)),COLORCYAN,LINETHICK1; 
DRAWLINE(XX,L,VV,L,1),COLORMAGENTA,LINETHICK1;
 DRAWLINE(XX2,H,VV2,H,1),COLORMAGENTA,LINETHICK1;
 DRAWTEXT(CURRBARSCOUNT=5,前一低*0.995,'前一低'),COLOR99FF66;
 DRAWTEXT(CURRBARSCOUNT=5,前二低*0.995,'前二低'),COLOR99FF66;
 DRAWTEXT(CURRBARSCOUNT=1,前一高*1.01,'前一高'),COLORCYAN;
 DRAWTEXT(CURRBARSCOUNT=1,前二高*1.01,'前二高'),COLORCYAN;

原理解析:
Z1赋值:STRCAT(HYBLOCK,' ')
Z2赋值:STRCAT(Z1,DYBLOCK)
Z3赋值:STRCAT(Z2,' ')
DRAWTEXT_FIX(ISLASTBAR,0,0,0,STRCAT(Z3,GNBLOCK)),COLOR00C0C0
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
H2赋值:D1 AND NOT(D2 AND E1>=E2)
L1赋值:D2 AND NOT(D1 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
{过滤后高点}
J1赋值:BACKSET(ISLASTBAR,MIN(上次HD距今天数,BARSLAST(LD))+1)

J2赋值:J1>1日前的J1
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*1.01和8之间画图标
当满足条件LL时,在L*0.999和7之间画图标
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
{长期高点,也可供引用}
K1赋值:BACKSET(ISLASTBAR,MIN(上次HZ距今天数,BARSLAST(LZ))+1)

K2赋值:K1>1日前的K1
UU赋值:BACKSET(ISLASTBAR,上次LD距今天数+1)
VV赋值:UU>1日前的UU
WW赋值:BACKSET(VV,REF(上次LD距今天数,1)+2)
XX赋值:WW>1日前的WW
UU2:=BACKSET(ISLASTBAR,上次HD距今天数+1)
VV2:=UU2>1日前的UU2
WW2:=BACKSET(VV2,REF(上次HD距今天数,1)+2)
XX2赋值:WW2>1日前的WW2
输出前一低:REF(L,上次VV距今天数),COLOR99FF66,LINETHICK1
输出前二低:REF(L,上次XX距今天数),COLOR99FF66,LINETHICK1
输出前一高:REF(H,上次VV2距今天数),画青色,LINETHICK1
输出前二高:REF(H,上次XX2距今天数),画青色,LINETHICK1

DRAWLINE(XX,L,VV,L,1),画洋红色,LINETHICK1
DRAWLINE(XX2,H,VV2,H,1),画洋红色,LINETHICK1
当满足条件 到最后交易的周期=5时,在前一低*0.995和'前一低'位置书写文字
当满足条件 到最后交易的周期=5时,在前二低*0.995和'前二低'位置书写文字
当满足条件 到最后交易的周期=1时,在前一高*1.01和'前一高'位置书写文字
当满足条件 到最后交易的周期=1时,在前二高*1.01和'前二高'位置书写文字

声明:本站所有资源,均为用户自主上传,仅作为学习交流之用,其版权归原作者或原出版社所有,本站不对所涉及的版权问题负法律责任。如有侵权,请联系我们删除!