| 通达信自动趋势划线主图股票软件源码如下: 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:=(D1ANDNOT(D2ANDE1=E2))ORISLASTBARORBARSCOUNT(CLOSE)=1;
 H2:=D1ANDNOT(D2ANDE1=E2);
 L1:=D2ANDNOT(D1ANDE1=E2);
 X1:=REF(BARSLAST(H1),1)+1;
 F1:=BACKSET(H1ANDCOUNT(L1,X1)0,LLVBARS(IF(L1,LOW,10000),X1));
 G1:=F1REF(F1,1);
 I1:=BACKSET(G1,2);
 LD:=I1REF(I1,1);{过滤后低点}
 L2:=LDORISLASTBARORBARSCOUNT(CLOSE)=1;
 X2:=REF(BARSLAST(L2),1)+1;
 {_通达信股票指标公式}
 F2:=BACKSET(L2ANDCOUNT(H2,X2)0,HHVBARS(IF(H2,HIGH,0),X2));
 G2:=F2REF(F2,1);
 I2:=BACKSET(G2,2);
 HD:=I2REF(I2,1);{过滤后高点}
 J1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HD),BARSLAST(LD))+1);
 J2:=J1REF(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:=A3ANDB3ANDHD;
 E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2);
 HH:=E3REF(E3,1);{找出全部长期高点}
 A4:=LREF(L,REF(BARSLAST(LD),1)+1);
 B4:=REF(L,REF(BARSLAST(LD),1)+1);D4:=A4ANDB4ANDLD;E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2);LL:=E4REF(E4,1);{找出全部长期低点}
 DRAWICON(HH,H*1.01,8);
 DRAWICON(LL,L*0.999,7);
 H3:=HHORISLASTBARORBARSCOUNT(C)=1;{后面进行过滤,方法同前。只是不用考虑高低点出现在同一K线}
 X3:=REF(BARSLAST(H3),1)+1;
 F3:=BACKSET(H3ANDCOUNT(LL,X3)0,LLVBARS(IF(LL,L,POW(10,20)),X3));
 G3:=F3REF(F3,1);
 I3:=BACKSET(G3,2);
 LZ:=I3REF(I3,1);{长期低点,也可供引用}
 L4:=LZORISLASTBARORBARSCOUNT(C)=1;
 X4:=REF(BARSLAST(L4),1)+1;
 F4:=BACKSET(L4ANDCOUNT(HH,X4)0,HHVBARS(IF(HH,H,-POW(10,20)),X4));
 G4:=F4REF(F4,1);
 I4:=BACKSET(G4,2);
 HZ:=I4REF(I4,1);{长期高点,也可供引用}
 K1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HZ),BARSLAST(LZ))+1);
 K2:=K1REF(K1,1);
 UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
 VV:=UUREF(UU,1);
 WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
 XX:=WWREF(WW,1);
 UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
 VV2:=UU2REF(UU2,1);
 WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
 XX2:=WW2REF(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;
 
 
 
 
 
 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:=(D1ANDNOT(D2ANDE1=E2))ORISLASTBARORBARSCOUNT(CLOSE)=1;
 H2:=D1ANDNOT(D2ANDE1=E2);
 L1:=D2ANDNOT(D1ANDE1=E2);
 X1:=REF(BARSLAST(H1),1)+1;
 F1:=BACKSET(H1ANDCOUNT(L1,X1)0,LLVBARS(IF(L1,LOW,10000),X1));
 G1:=F1REF(F1,1);
 I1:=BACKSET(G1,2);
 LD:=I1REF(I1,1);{过滤后低点}
 L2:=LDORISLASTBARORBARSCOUNT(CLOSE)=1;
 X2:=REF(BARSLAST(L2),1)+1;
 F2:=BACKSET(L2ANDCOUNT(H2,X2)0,HHVBARS(IF(H2,HIGH,0),X2));
 G2:=F2REF(F2,1);
 I2:=BACKSET(G2,2);
 HD:=I2REF(I2,1);{过滤后高点}
 J1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HD),BARSLAST(LD))+1);
 J2:=J1REF(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:=A3ANDB3ANDHD;
 E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2);
 HH:=E3REF(E3,1);{找出全部长期高点}
 A4:=LREF(L,REF(BARSLAST(LD),1)+1);
 {-公式网站}
 B4:=REF(L,REF(BARSLAST(LD),1)+1);D4:=A4ANDB4ANDLD;E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2);LL:=E4REF(E4,1);{找出全部长期低点}
 DRAWICON(HH,H*1.01,8);
 DRAWICON(LL,L*0.999,7);
 H3:=HHORISLASTBARORBARSCOUNT(C)=1;{后面进行过滤,方法同前。只是不用考虑高低点出现在同一K线}
 X3:=REF(BARSLAST(H3),1)+1;
 F3:=BACKSET(H3ANDCOUNT(LL,X3)0,LLVBARS(IF(LL,L,POW(10,20)),X3));
 G3:=F3REF(F3,1);
 I3:=BACKSET(G3,2);
 LZ:=I3REF(I3,1);{长期低点,也可供引用}
 L4:=LZORISLASTBARORBARSCOUNT(C)=1;
 X4:=REF(BARSLAST(L4),1)+1;
 F4:=BACKSET(L4ANDCOUNT(HH,X4)0,HHVBARS(IF(HH,H,-POW(10,20)),X4));
 G4:=F4REF(F4,1);
 I4:=BACKSET(G4,2);
 HZ:=I4REF(I4,1);{长期高点,也可供引用}
 K1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HZ),BARSLAST(LZ))+1);
 K2:=K1REF(K1,1);
 UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
 VV:=UUREF(UU,1);
 WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
 XX:=WWREF(WW,1);
 UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
 VV2:=UU2REF(UU2,1);
 WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
 XX2:=WW2REF(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;
 |