查看完整版本: 辛苦斑竹或懂的朋友帮忙改个公式--高低连线

wyaolin 2004-9-25 07:39

辛苦斑竹或懂的朋友帮忙改个公式--高低连线

以下为原码,n默认为3,是前期最高价和最低点价的连线,想改为前期最高收盘价和最低收盘价的连线,并且能在上方显示连线的数值。
附图在下,先谢谢了!!
d1:=ref(h,N);
d2:=d1=hhv(h,2*N+1);
d3:=FILTER(d2,N);
d4:=BACKSET(d3,N+1);
HD:=FILTER(d4,N);
d5:=ref(l,N);
d6:=d5=llv(l,2*N+1);
d7:=FILTER(d6,N);
d8:=BACKSET(d7,N+1);
LD:=filter(d8,n);
D:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
E:=D>REF(D,1);
F:=BACKSET(E,REF(BARSLAST(HD),1)+2);
G:=F>REF(F,1);
DRAWLINE(G,h,E,h,1),pointdot,linethick1,coloryellow;
I:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
J:=I>REF(I,1);
K:=BACKSET(J,REF(BARSLAST(LD),1)+2);
M:=K>REF(K,1);
DRAWLINE(M,l,J,l,1),pointdot,linethick1,COLORFFB97A;
{求压力线方程}
M1:=BARSLAST(e);
M2:=barslast(g);
M3:=ref(h,m1);
m4:=ref(h,m2);
M5:=m4-m2*(m4-m3)/(m2-M1);
DRAWICON(REF(c,1)<=ref(m5,1) and c>m5,M5,4),ALIGN2;
{求阻力线方程}
n1:=barslast(j);
n2:=barslast(m);
n3:=ref(l,n1);
n4:=ref(l,n2);
n5:=n4-n2*(n4-n3)/(n2-n1);
DRAWICON(REF(c,1)>=ref(n5,1) and c<n5,n5,5),ALIGN1;
买点:if(REF(c,1)<=ref(m5,1) and c>m5,1,0), LINETHICK0 ;
卖点:if(REF(c,1)>=ref(n5,1) and c<n5,1,0), LINETHICK0 ;

[color=Teal][align=right] 本贴由 wyaolin 于 2004-9-25 07:47 最后编辑 [/align][/color]

wyaolin 2004-9-25 07:41

辛苦斑竹或懂的朋友

长天一色 2004-9-25 10:48

你试试这个

d1:=ref(c,N);
d2:=d1=hhv(c,2*N+1);
d3:=FILTER(d2,N);
d4:=BACKSET(d3,N+1);
HD:=FILTER(d4,N);
d5:=ref(c,N);
d6:=d5=llv(c,2*N+1);
d7:=FILTER(d6,N);
d8:=BACKSET(d7,N+1);
LD:=filter(d8,n);
D:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
E:=D>REF(D,1);
F:=BACKSET(E,REF(BARSLAST(HD),1)+2);
G:=F>REF(F,1);
DRAWLINE(G,c,E,c,1),pointdot,linethick1,coloryellow;
I:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
J:=I>REF(I,1);
K:=BACKSET(J,REF(BARSLAST(LD),1)+2);
M:=K>REF(K,1);
DRAWLINE(M,c,J,c,1),pointdot,linethick1,COLORFFB97A;
{求压力线方程}
M1:=BARSLAST(e);
M2:=barslast(g);
M3:=ref(c,m1);
m4:=ref(c,m2);
M5:=m4-m2*(m4-m3)/(m2-M1);
DRAWICON(REF(c,1)<=ref(m5,1) and c>m5,M5,4),ALIGN2;
{求阻力线方程}
n1:=barslast(j);
n2:=barslast(m);
n3:=ref(c,n1);
n4:=ref(c,n2);
n5:=n4-n2*(n4-n3)/(n2-n1);
DRAWICON(REF(c,1)>=ref(n5,1) and c<n5,n5,5),ALIGN1;
买点:if(REF(c,1)<=ref(m5,1) and c>m5,1,0), LINETHICK0 ;
卖点:if(REF(c,1)>=ref(n5,1) and c<n5,1,0), LINETHICK0 ;

wyaolin 2004-9-25 16:18

[quote][i]长天一色[/i] 于 2004-9-25 10:48 AM 写道:
你试试这个

d1:=ref(c,N);
d2:=d1=hhv(c,2*N+1);
d3:=FILTER(d2,N);
d4:=BACKSET(d3,N+1);
HD:=FILTER(d4,N);
d5:=ref(c,N);
d6:=d5=llv(c,2*N+1);
d7:=FILTER(d6,N);
d8:=BACKSET(d7,N+1);
LD:=f ... [/quote]
如何让连线显示数值?并在第一高点画出水平线?
谢谢

[color=Teal][align=right] 本贴由 wyaolin 于 2004-9-25 16:19 最后编辑 [/align][/color]

wyaolin 2004-9-26 07:54

如何让连线显示数值?并在第一高点画出水平线?
谢谢

czjdj 2007-6-12 22:30

谢谢

时机波动 2007-6-18 03:01

6楼的发图看看

shangjing558 2007-6-23 14:04

请问m是多少?谢谢!!

shangjing558 2007-6-23 14:05

AA:=REF(H,N)=HHV(H,2*N+1);
AAA:=FILTER(AA,N);
BB:=BACKSET(AAA,N+1);
CC1:=FILTER(BB,N);
CC:=CC1 OR ISLASTBAR
;
AA2:=REF(L,N)=LLV(L,2*N+1);
AAA2:=FILTER(AA2,N);
BB2:=BACKSET(AAA2,N+1);
CC22:=FILTER(BB2,N);
  CC2:=CC22 AND NOT(CC1);
EA:=BACKSET(CC,REF(BARSLAST(CC2),1)+1);
EB:=EA>REF(EA,1); EE:=BACKSET(EB,2);
FF1:=EE>REF(EE,1);
EE2:=BACKSET(FF1 AND COUNT(CC,REF(BARSLAST(CC2),1)+2)=0,REF(BARSLAST(CC2),1)+2);
FF2:=EE2>REF(EE2,1);
EE3:=BACKSET(FF2 AND COUNT(CC,REF(BARSLAST(CC2),1)+2)=0,REF(BARSLAST(CC2),1)+2);
FF3:=EE3>REF(EE3,1);
JS:=IF(CC,COUNT(CC2,REF(BARSLAST(CC),1)+1),0);
G1:=IF(JS=1 AND CC,BARSLAST(FF1),0);
GA:=IF(CC AND REF(L,BARSLAST(FF1))>=REF(L,BARSLAST(FF2)),BARSLAST(FF2),BARSLAST(FF1));
G2:=IF(JS=2 AND CC,GA,0);
G3:=IF(JS>=3 AND CC,IF(CC AND REF(L,GA)>=REF(L,BARSLAST(FF3)),BARSLAST(FF3),GA),0);
GG:=G1+G2+G3;
JA:=BACKSET(CC,GG); JB:=JA>REF(JA,1); JJ:=BACKSET(JB,2);
LD:=JJ>REF(JJ,1);

LD1:=LD OR ISLASTBAR
;
hEA:=BACKSET(LD1,REF(BARSLAST(CC),1)+1);
hEB:=hEA>REF(hEA,1); hEE:=BACKSET(hEB,2);
hFF1:=hEE>REF(hEE,1);
hEE2:=BACKSET(hFF1 AND COUNT(LD1,REF(BARSLAST(CC),1)+2)=0,REF(BARSLAST(CC),1)+2);
hFF2:=hEE2>REF(hEE2,1);
hEE3:=BACKSET(hFF2 AND COUNT(LD1,REF(BARSLAST(CC),1)+2)=0,REF(BARSLAST(CC),1)+2);
hFF3:=hEE3>REF(hEE3,1);
hJS:=IF(LD1,COUNT(CC1,REF(BARSLAST(LD1),1)+1),0);
hG1:=IF(hJS=1 AND LD1,BARSLAST(hFF1),0);
hGA:=IF(LD1 AND REF(H,BARSLAST(hFF1))<=REF(H,BARSLAST(hFF2)),BARSLAST(hFF2),BARSLAST(hFF1));
hG2:=IF(hJS=2 AND LD1,hGA,0);
hG3:=IF(hJS>=3 AND LD1,IF(LD1 AND REF(H,hGA)<=REF(H,BARSLAST(hFF3)),BARSLAST(hFF3),hGA),0);
hGG:=hG1+hG2+hG3;
hJA:=BACKSET(LD1,hGG); hJB:=hJA>REF(hJA,1); hJJ:=BACKSET(hJB,2);
HD:=hJJ>REF(hJJ,1);
{
DRAWICON(HD,H*1.01,10);
DRAWICON(LD,L*0.995,11);
}
DRAWLINE(LD,L,HD,H,0),COLORFF9900;
DRAWLINE(HD,H,LD,L,0),COLORFF9900;

X1:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
X2:=X1>REF(X1,1);
Y1:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
Y2:=Y1>REF(Y1,1);
Z1:=IF(BARSLAST(X2)<BARSLAST(Y2),X2,Y2);
Z2:=IF(BARSLAST(X2)<BARSLAST(Y2),L,H);
DRAWLINE(Z1,Z2,ISLASTBAR,C,0),COLORFF9900,POINTDOT;

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),COLORYELLOW,POINTDOT;

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),COLORYELLOW,POINTDOT;

前一低:REF(L,BARSLAST(VV)),COLOR99FF66,POINTDOT,LINETHICK3;
前二低:REF(L,BARSLAST(XX)),COLORFF66FF,POINTDOT,LINETHICK2;
前一高:REF(H,BARSLAST(VV2)),COLOR99FF66,POINTDOT,LINETHICK3;
前二高:REF(H,BARSLAST(XX2)),COLORFF66FF,POINTDOT,LINETHICK2;

短高:=REF(H,BARSLAST(VV2)),LINETHICK0;
短低:=REF(L,BARSLAST(VV)),LINETHICK0;
短比:(C-短低)/(短高-短低),LINETHICK0;

常数:=REF(INDEXC,BARSLAST(VV))/REF(C,BARSLAST(VV));
叠1:INDEXC/常数,COLORGRAY,LINETHICK0;
PARTLINE(M,叠1),COLORGRAY;
常数2:=REF(INDEXC,BARSLAST(XX))/REF(C,BARSLAST(XX));
叠2:INDEXC/常数2,COLORGRAY,LINETHICK0;
PARTLINE(M,叠2),COLORGRAY;
页: [1]
查看完整版本: 辛苦斑竹或懂的朋友帮忙改个公式--高低连线