以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请老师帮忙改写成金字塔的,谢谢了  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=97820)

--  作者:yunxiaoyishi
--  发布时间:2016/5/25 11:05:29
--  请老师帮忙改写成金字塔的,谢谢了

请老师帮忙改写成金字塔的,谢谢了

 

N:=6;
Q1:=FILTER(BACKSET(FILTER(REF(H,N)=HHV(H,2*N+1),N),N+1),N);
Q2:=FILTER(BACKSET(FILTER(REF(L,N)=LLV(L,2*N+1),N),N+1),N);
Q3:VALUEWHEN(Q1>0,H),DOT;
Q4:VALUEWHEN(Q2>0,L),DOT;
YC:=BARSLAST(Q3<>REF(Q3,1))+1;
YD:=BARSLAST(Q4<>REF(Q4,1))+1;
A3:=CROSSUP(H,Q3)&&COUNT(CROSSUP(H,Q3),YC)=1;
A4:=CROSSDOWN(L,Q4)&&COUNT(CROSSDOWN(L,Q4),YD)=1;
DZK:=A3 OR A4 AND (C>O);
KZK:=A3 OR A4 AND (C<O);
XZ1:=BARSLAST(DZK OR KZK ); //上一个破位K
BG:=REF(H,XZ1),DOT;       //上一个最高价
BD:=REF(L,XZ1),DOT;       //上一个最低价
FILLRGN(1,BG,BD,RGB(79,79,79));//填充区间

E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2;
E2:=(HIGH+LOW)/2;         
HC1:=(Q1 AND NOT(Q2 AND E1>=E2)) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
LC1:=(Q2 AND NOT(Q1 AND E1<E2));
HC2:=Q1 AND NOT(Q2 AND E1>=E2);
XC1:=REF(BARSLAST(HC1),1)+1;
FC1:=BACKSET(HC1 AND COUNT(LC1,XC1)>0,LLVBARS(IF(LC1,LOW,999999),XC1));
GC1:=FC1>REF(FC1,1)||FC1=1&&REF(NOT(FC1>=0),1);
IC1:=BACKSET(GC1,2);
LCD:=IC1>REF(IC1,1);          
LC2:=LCD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
XC2:=REF(BARSLAST(LC2),1)+1;
FC2:=BACKSET(LC2 AND COUNT(HC2,XC2)>0,HHVBARS(IF(HC2,HIGH,0),XC2));
GC2:=FC2>REF(FC2,1)||FC2=1&&REF(NOT(FC2>=0),1);
IC2:=BACKSET(GC2,2);
HCD:=IC2>REF(IC2,1);   
DRAWLINE1(LCD,L,HCD,H,0),COLORRED,LINETHICK1,POINTDOT;
DRAWLINE1(HCD,H,LCD,L,0),COLORGREEN,LINETHICK1,POINTDOT;


--  作者:jinzhe
--  发布时间:2016/5/25 11:07:34
--  

N:=6;
Q1:=FILTER(BACKSET(FILTER(REF(H,N)=HHV(H,2*N+1),N),N+1),N);
Q2:=FILTER(BACKSET(FILTER(REF(L,N)=LLV(L,2*N+1),N),N+1),N);
Q3:VALUEWHEN(Q1>0,H),DOT;
Q4:VALUEWHEN(Q2>0,L),DOT;
YC:=BARSLAST(Q3<>REF(Q3,1))+1;
YD:=BARSLAST(Q4<>REF(Q4,1))+1;
A3:=CROSS(H,Q3)&&COUNT(CROSS(H,Q3),YC)=1;
A4:=CROSS(Q4,l)&&COUNT(CROSS(Q4,l),YD)=1;
DZK:=A3 OR A4 AND (C>O);
KZK:=A3 OR A4 AND (C<O);
XZ1:=BARSLAST(DZK OR KZK ); //上一个破位K
BG:=REF(H,XZ1),DOT;       //上一个最高价
BD:=REF(L,XZ1),DOT;       //上一个最低价
FILLRGN(1,BG,BD,RGB(79,79,79));//填充区间

E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2;
E2:=(HIGH+LOW)/2;         
HC1:=(Q1 AND NOT(Q2 AND E1>=E2)) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
LC1:=(Q2 AND NOT(Q1 AND E1<E2));
HC2:=Q1 AND NOT(Q2 AND E1>=E2);
XC1:=REF(BARSLAST(HC1),1)+1;
FC1:=BACKSET(HC1 AND COUNT(LC1,XC1)>0,LLVBARS(IF(LC1,LOW,999999),XC1));
GC1:=FC1>REF(FC1,1)||FC1=1&&REF(NOT(FC1>=0),1);
IC1:=BACKSET(GC1,2);
LCD:=IC1>REF(IC1,1);          
LC2:=LCD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
XC2:=REF(BARSLAST(LC2),1)+1;
FC2:=BACKSET(LC2 AND COUNT(HC2,XC2)>0,HHVBARS(IF(HC2,HIGH,0),XC2));
GC2:=FC2>REF(FC2,1)||FC2=1&&REF(NOT(FC2>=0),1);
IC2:=BACKSET(GC2,2);
HCD:=IC2>REF(IC2,1);   
DRAWLINE(LCD,L,HCD,H,0),COLORRED,LINETHICK1,POINTDOT;
DRAWLINE(HCD,H,LCD,L,0),COLORGREEN,LINETHICK1,POINTDOT