分享

波峰高点画线公式20200609

 颈腰康复中心 2021-06-19

上图A图所用公式为论坛版主为我的一个问题的解决方案。

公式:

EE:=HHV(H,250);

DRAWLINE(EE=H,H,REF(EE=H,1),REF(H,1),1),DOTLINE,LINETHICK2,COLORMAGENTA;

意思是以250日内的最高价的位置向右画一条紫色的线,直到出现下一个250日或者是下一个高点,划线截止,然后再以这个位置再向右划线。依次循环。

上图B图所用公式为玛格丽特班长分享的一个波峰压力线,在此引申希望能解决我的问题,玛格丽特班长见谅。

{波峰压力线}

DRAWKLINE(H,O,L,C);

{按N%ZIG转折确定峰点,然后画水平线。}

N:=10;

CBC:CURRBARSCOUNT,NODRAW;

NOTEXT:ZIG(H,N),COLORCC0000;   {ZIG峰点是FD1:=FDT=0}

FDT:=PEAKBARS(H,N,1);  H1:=REF(H,FDT);

STICKLINE(FDT>=0 AND HHV(H,FDT+1)<=H1,H1,H1,4,0),COLOR008888;

B1:BACKSET(CROSS(H,H1),FDT+1),NODRAW;

FD2:=FDT=0 AND (B1 OR BACKSET(ISLASTBAR,FDT+1))=0;

FD2T:=BARSLAST(FD2);  H2:=REF(H,FD2T);

STICKLINE(FD2T>=0 AND HHV(H,FD2T+1)<=H2,H2,H2,4,0),COLOR008888;

B2:BACKSET(CROSS(H,H2),FD2T+1),NODRAW;

FD3:=FD2 AND (B2 OR BACKSET(BARSTATUS=2,FD2T+1))=0;

FD3T:=BARSLAST(FD3);  H3:=REF(H,FD3T);

STICKLINE(FD3T>=0 AND HHV(H,FD3T+1)<=H3,H3,H3,4,0),COLOR008888;

B3:BACKSET(CROSS(H,H3),FD3T+1),NODRAW;

FD4:=FD3 AND (B3 OR BACKSET(BARSTATUS=2,FD3T+1))=0;

FD4T:=BARSLAST(FD4);  H4:=REF(H,FD4T);

STICKLINE(FD4T>=0 AND HHV(H,FD4T+1)<=H4,H4,H4,4,0),COLOR008888;

B4:BACKSET(CROSS(H,H4),FD4T+1),NODRAW;

FD5:=FD4 AND (B4 OR BACKSET(BARSTATUS=2,FD4T+1))=0;

FD5T:=BARSLAST(FD5);  H5:=REF(H,FD5T);

STICKLINE(FD5T>=0 AND HHV(H,FD5T+1)<=H5,H5,H5,4,0),COLOR008888;

B5:BACKSET(CROSS(H,H5),FD5T+1),NODRAW;

FD6:=FD5 AND (B5 OR BACKSET(BARSTATUS=2,FD5T+1))=0;

FD6T:=BARSLAST(FD6);  H6:=REF(H,FD6T);

STICKLINE(FD6T>=0 AND HHV(H,FD6T+1)<=H6,H6,H6,4,0),COLOR008888;

B6:BACKSET(CROSS(H,H6),FD6T+1),NODRAW;

FD7:=FD6 AND (B6 OR BACKSET(BARSTATUS=2,FD6T+1))=0;

FD7T:=BARSLAST(FD7);  H7:=REF(H,FD7T);

STICKLINE(FD7T>=0 AND HHV(H,FD7T+1)<=H7,H7,H7,4,0),COLOR008888;

B7:BACKSET(CROSS(H,H7),FD7T+1),NODRAW;

FD8:=FD7 AND (B7 OR BACKSET(BARSTATUS=2,FD7T+1))=0;

FD8T:=BARSLAST(FD8);  H8:=REF(H,FD8T);

STICKLINE(FD8T>=0 AND HHV(H,FD8T+1)<=H8,H8,H8,4,0),COLOR008888;

B8:BACKSET(CROSS(H,H8),FD8T+1),NODRAW;

FD9:=FD8 AND (B8 OR BACKSET(BARSTATUS=2,FD8T+1))=0;

FD9T:=BARSLAST(FD9);  H9:=REF(H,FD9T);

STICKLINE(FD9T>=0 AND HHV(H,FD9T+1)<=H9,H9,H9,4,0),COLOR008888;

B9:BACKSET(CROSS(H,H9),FD9T+1),NODRAW;

FD10:=FD9 AND (B9 OR BACKSET(BARSTATUS=2,FD9T+1))=0;

FD10T:=BARSLAST(FD10);  H10:=REF(H,FD10T);

STICKLINE(FD10T>=0 AND HHV(H,FD10T+1)<=H10,H10,H10,4,0),COLOR008888;

{如果没画全,还可以加FD11,FD12,...}

YFD:(FDT=0 AND B1) OR (FD2 AND B2)  OR (FD3 AND B3) OR (FD4 AND B4) OR (FD5 AND B5) OR

(FD6 AND B6) OR (FD7 AND B7) OR (FD8 AND B8) OR (FD9 AND B9),NODRAW;

{已突破的峰点}

WFD:FDT=0 AND YFD=0,NODRAW;  {当前尚未被突破的峰点}

T1:BARSLAST(WFD),NODRAW;  HH1:=CONST(REF(H,T1)),NODRAW;

DRAWTEXT(CBC=CONST(T1)+1,HH1*1.03,VAR2STR(HH1,2)),COLORYELLOW;

T2:=REF(T1,T1+1)+T1+1;  HH2:=CONST(REF(H,T2));

DRAWTEXT(CBC=CONST(T2)+1,HH2*1.03,VAR2STR(HH2,2)),COLORYELLOW;

T3:=REF(T1,T2+1)+T2+1;  HH3:=CONST(REF(H,T3));

DRAWTEXT(CBC=CONST(T3)+1,HH3*1.03,VAR2STR(HH3,2)),COLORYELLOW;

T4:=REF(T1,T3+1)+T3+1;  HH4:=CONST(REF(H,T4));

DRAWTEXT(CBC=CONST(T4)+1,HH4*1.03,VAR2STR(HH4,2)),COLORYELLOW;

T5:=REF(T1,T4+1)+T4+1;  HH5:=CONST(REF(H,T5));

DRAWTEXT(CBC=CONST(T5)+1,HH5*1.03,VAR2STR(HH5,2)),COLORYELLOW;

{如果愿意,还可以继续标注...}

目前我的问题是,我的A图,划线太多,加上均线啥的太复杂,也没啥代表性,对于历史的高位和关键点位没有很好的警示作用,B图采用的ZIG函数,大致的高点和A图一样都能显示出来,但是箭头处X位置,B图没有画出来。所以我个人倾向于用A图的公式。

我想实现的是:

1.        主图上只显示3条线。

2.        只画90个交易日之前符合条件的线。就是这三条线都是90个交易日前符合条件的。

3.        这三条线的标准是持续时间长短,也就是线的长短,这个长度不是单单向右的长度,还包括向左的长度。比如说选取最高价位的波峰位置,向左一直划线,直到超过这个高点截止,如果前期没有高点,肯定就是一直持续到上市第一天了,取值A1,然后向右划线,到超过这个高点截止,取值A2,A1和A2的值相加之和为最大,那么以这个最高价的位置向右一直划线。

4.        然后以低于最高价位的次高点波峰位置画第二条线,如果这个高点向右划线的长度小于60个交易日,那么这条线PASS掉,画下一条线。

5.        然后取下一个高点,如果这个高点向右划线的长度小于60个交易日,那么这条线也PASS掉,画下一条线。

6.        以这种逻辑推理,画出的N条线,选取持续时间最长的为第一条线,一直延续到今天,然后持续时间第二长,也符合向右延伸达到下一个高点的交易日天数大于60天的标准的为第二条线,一直延续到今天,持续时间第三长的为第三条线,一直持续到今天,三条线完毕。

7.        直到出现下一个,持续时间比第三条线持续时间长,而且向右突破这个高点所用交易日大于60的,那么这条线就显示出来,把替换掉的那条就隐藏了,目的就是仅显示3条线。

再回到图中,最终结果就是:

一、6号线位置是60个交易日前的最高价位,持续时间也最长,所以在6号线位置画一条线持续至今。

二、1号线位置持续时间第二长,也符合向右延伸大于60个交易日的标准,所以为第二条线。

三、8号线位置持续时间第三长,也符合向右延伸大于60个交易日的标准,所以为第三条线。

四、3号线位置持续时间第四长,也符合向右延伸大于60个交易日的标准,所以为第四条线,但是我只取三条线,所以这个就PASS掉了

五、2号线,4号线,5号线,7号线,10号线的高点,因为向右延伸达到突破这个高点的时间小于60个交易日的标准,所以PASS掉了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多