分享

通达信自编波段高点自动划线公式(主图)

 常熟老李jlr5mr 2022-07-17 发布于江苏
对老师们提供的源码进行了一下校正,测试可用,但不知道是否和老师们想表达的一致。仅供参考,谨慎使用。不对的地方,还请老师们纠正。
    [淘股吧]
    
    ----------------------源码--------------------------------
    
    N:=10;
    M:=9;
    X1:=DRAWLINE(HIGH=HHV(HIGH,N),HIGH,LOW=LLV(LOW,M),LOW,0);
    X2:=DRAWLINE(LOW=LLV(LOW,M),LOW,HIGH=HHV(HIGH,N),HIGH,0);
    YDD1:=LOW=LLV(LOW,M) AND X1=X2;
    DDTS:=BARSLAST(YDD1);
    YGD1:=HIGH=HHV(HIGH,N) AND X1=X2;
    GDTS:=BARSLAST(YGD1);
    QDDD:=LOW=LLV(LOW,M) AND LOW=LLV(LOW,GDTS) AND GDTS>1;
    QDGD:=HIGH=HHV(HIGH,N) AND HIGH=HHV(HIGH,DDTS) AND DDTS>1;
    X3:=DRAWLINE(QDGD,HIGH,QDDD,LOW,0),COLORLIGRAY,LINETHICK3;
    X4:=DRAWLINE(QDDD,LOW,QDGD,HIGH,0),COLORLIGRAY,LINETHICK3;
    YGD:=HIGH=HHV(HIGH,N) AND X3=X4;
    YDD:=LOW=LLV(LOW,M) AND X3=X4;
    {DRAW ICON (YGD,H,23);}
    {根据相邻阶段高点之间的涨跌差值确定目标高点:大于前高5或小于前高5个点取高点}
    M1:=5;
    M2:=3;{涨跌差值};
    预前高值:=IF(YGD=1,REF(H,REF(BARSLAST(YGD),1)+1),REF(H,BARSLAST(YGD))),NODRAW;{返回上次高点的值}
    预下高TS:=REFX(BARSNEXT(YGD),1)+1;
    预下高值:=REFX(H,REFX(BARSNEXT(YGD),1)+1);
    
    下预下高TS:=REFX(预下高TS,预下高TS)=DRAWNULL;
    XH0:=(YGD AND H>预前高值 AND (H-预前高值)/预前高值*100>=M1 AND 预下高TS=DRAWNULL);
    XH1:=(YGD AND H>预前高值 AND 预下高值>0 AND 下预下高TS=1)OR(YGD AND H>0 AND 下预下高TS=1);
    XH2:=(YGD AND H>预前高值 AND H>预下高值);
    XH3:=(YGD AND H>预前高值 AND H=M1);
    XH4:=YGD AND H>预下高值 AND (1-H/预前高值)*100 =M2;
    XH5:=YGD AND H=M2{ AND(预下高值-H)/H*100 =M1};
    GD:=XH0 OR XH1 OR XH2 OR XH3 OR XH4 OR XH5;
    
    {本次高点,高点值,本次高点周期内到最后交易日天数}
    BCGDTS:=BARSLAST(GD);{返回本次高点到当前天数}
    BCGDDZHTS:=IF(GD,CURRBARSCOUNT,0);{本次高点到最后交易日天数}
    高点值:=IF(BCGDTS,REF(H,BCGDTS),H);{本次高点值}
    TS:=IF(BCGDTS,REF(BCGDDZHTS,BCGDTS),BCGDDZHTS);{本次高点周期内到最后交易日天数等于本次高点到最后交易日天数}
    GDCL:=CONST(TS);{取本次高点到最后交易日天数的最后一个值为常量}
    
    {类推上一次高点,高点值,本次高点周期内到最后交易日天数}
    高点值1:=REF(高点值,BCGDTS+1);{上一高点值}
    TS1:=REF(TS,BCGDTS+1);{上一高点期间到最后交易日的天数}
    GDCL1:=CONST(TS1);
    
    {类推上上一次高点,高点值,本次高点周期内到最后交易日天数}
    高点值2:=REF(高点值1,BCGDTS+1);{上上一高点值}
    TS2:=REF(TS1,BCGDTS+1);{上一高点期间到最后交易日的天数}
    GDCL2:=CONST(TS2);
    
    {类推上N高点,高点值,本次高点周期内到最后交易日天数}
    高点值3:=REF(高点值2,BCGDTS+1);
    TS3:=REF(TS2,BCGDTS+1);
    GDCL3:=CONST(TS3);
    
    高点值4:=REF(高点值3,BCGDTS+1);
    TS4:=REF(TS3,BCGDTS+1);
    GDCL4:=CONST(TS4);
    
    高点值5:=REF(高点值4,BCGDTS+1);
    TS5:=REF(TS4,BCGDTS+1);
    GDCL5:=CONST(TS5);
    
    高点值6:=REF(高点值5,BCGDTS+1);
    TS6:=REF(TS5,BCGDTS+1);
    GDCL6:=CONST(TS6);
    
    高点值7:=REF(高点值6,BCGDTS+1);
    TS7:=REF(TS6,BCGDTS+1);
    GDCL7:=CONST(TS7);
    
    高点值8:=REF(高点值7,BCGDTS+1);
    TS8:=REF(TS7,BCGDTS+1);
    GDCL8:=CONST(TS8);
    
    压力:DRAWLINE(CURRBARSCOUNT=GDCL,H,ISLASTBAR,REF(H,GDCL-1),1),COLORGREEN,LINETHICK2;
    压力1:DRAWLINE(CURRBARSCOUNT=GDCL1,H,ISLASTBAR,REF(H,GDCL1-1),1),COLORMAGENTA,LINETHICK2;
    压力2:DRAWLINE(CURRBARSCOUNT=GDCL2,H,ISLASTBAR,REF(H,GDCL2-1),1),COLORYELLOW,LINETHICK2;
    压力3:DRAWLINE(CURRBARSCOUNT=GDCL3,H,ISLASTBAR,REF(H,GDCL3-1),1),COLORWHITE,LINETHICK2;
    {压力4:DRAWLINE(CURRBARSCOUNT=GDCL4,H,ISLASTBAR,REF(H,GDCL4-1),1),COLORBROWN,LINETHICK2;
    压力5:DRAWLINE(CURRBARSCOUNT=GDCL5,H,ISLASTBAR,REF(H,GDCL5-1),1),COLORGRAY,LINETHICK2;
    压力6:DRAWLINE(CURRBARSCOUNT=GDCL6,H,ISLASTBAR,REF(H,GDCL6-1),1),COLORBROWN,LINETHICK2;
    压力7:DRAWLINE(CURRBARSCOUNT=GDCL7,H,ISLASTBAR,REF(H,GDCL7-1),1),COLORYELLOW,LINETHICK2;
    压力8:DRAWLINE(CURRBARSCOUNT=GDCL8,H,ISLASTBAR,REF(H,GDCL8-1),1),COLORYELLOW,LINETHICK2;};

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多