以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  老师您好!帮忙改一下通达信的波段指标,导入金字塔通不过  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=145733)

--  作者:云水禅心88
--  发布时间:2017/1/2 21:32:14
--  老师您好!帮忙改一下通达信的波段指标,导入金字塔通不过
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;};

--  作者:云水禅心88
--  发布时间:2017/1/2 21:45:58
--  

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;};


--  作者:jinzhe
--  发布时间:2017/1/3 9:07:21
--  
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,2),COLORWHITE;
DRAWNUMBER(HD,H*1.002,H,2),COLORWHITE;
AA:=BARSLAST(HD);
BB:=BARSLAST(LD);
DRAWNUMBER(LD,L*0.98,AA,2),COLORGREEN;
DRAWNUMBER(HD,H*1.02,BB,2),COLORRED;
DRAWTEXT(LD,L*0.98,\'           天\'),COLORGREEN;
DRAWTEXT(HD,H*1.02,\'           天\'),COLORRED;
DRAWNUMBER(ISLASTBAR,L*0.987,MIN(AA,BB),2),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;};

--  作者:云水禅心88
--  发布时间:2017/1/3 15:35:01
--  
谢谢老师!已测试通过
--  作者:云水禅心88
--  发布时间:2017/1/3 16:36:27
--  
老师您好!能否加入高低涨跌的点数,并标注在波段高低点连线上。谢谢!
--  作者:jinzhe
--  发布时间:2017/1/3 16:41:41
--  
定位不到这些点的,标注不了