分享

EBE波浪尺的算法分享

 深圳东方红 2022-06-20 发布于广东

惊艳新代码---又上新啦~

评论区网友的新思路,正如三星堆里的“盲盒”新发现一样,一个接一个地不断上新。

自从入驻今日头条以来,新名词接连不断——九转序列、顶底分型、缠论、网格交易、斐波那契数列分割,以及本文的算法——波浪尺等等,迎接不暇。

本以为大多数软件里都有的画线工具,会有什么了不起的惊艳之处呢?当完成了算法,一番认真地论证之后,惊讶之后的心情感受,终于明白网友的喜爱是有道理的,这样的算法思路绝非浪得虚名——网友的详细留言如下:

文章图片1

网友留言

网友的截图如下:

文章图片2

网友的截图

拿到截图,认真分析之后,还是看到了斐波那契数列的应用,这与当前的REB/RBE内的黄金分割同属一个类别---

思路步骤

从上图中可得,波浪尺的定义,包含了E2、E1以及B1三个元素;

  1. 求出TE2、TE1、TB2、TB1、RE2、RE1、RB1的值;
  2. 求出REB的空间值;
  3. 计算并输出REB空间内与空间外的斐波那契数列分割;
  4. 输出垂直线标示线;
  5. 各类优化与标示。

算法建立

1.

TE2:=CONST(PEAKBARS(1,F,W+1));

TE1:=CONST(PEAKBARS(1,F,W));

TB2:=CONST(TROUGHBARS(2,G,W+1));

TB1:=CONST(TROUGHBARS(2,G,W));

RE2:=IF(CURRBARSCOUNT<=TE2+1,CONST(PEAK(1,F,W+1)),DRAWNULL);

RE1:IF(CURRBARSCOUNT<=TE1+1 AND CONST(PEAK(1,F,W))<RE2 AND TE1<TB1,CONST(PEAK(1,F,W)),DRAWNULL),COLORYELLOW;

RB1:=IF(CURRBARSCOUNT<=TB1+1 AND RANGE(TB1,TE1,TE2),CONST(TROUGH(2,G,W)),DRAWNULL);

2.

DRAWTEXT(CURRBARSCOUNT=CONST(BARSLAST(H=RE2))+1,H*1.003,'A'),COLORYELLOW;

DRAWTEXT(CURRBARSCOUNT=CONST(BARSLAST(H=RE1))+1,H*1.003,'C'),COLORYELLOW;

DRAWTEXT(CURRBARSCOUNT=CONST(BARSLAST(L=RB1))+1 AND RANGE(TB1,TE1,TE2),L*0.997,'B'),COLORYELLOW;

DRAWLINE(CURRBARSCOUNT=CONST(BARSLAST(H=RE2))+1,H,CURRBARSCOUNT=CONST(BARSLAST(L=RB1))+1,L,0),COLORYELLOW;

DRAWLINE(CURRBARSCOUNT=CONST(BARSLAST(L=RB1))+1,L,CURRBARSCOUNT=CONST(BARSLAST(H=RE1))+1,H,0),COLORYELLOW;

3.

REB:=RE2-RB1;

REB0382:RE1-REB*0.382,DOTLINE;

REB05:RE1-REB*0.5,DOTLINE;

REB0618:RE1-REB*0.618,DOTLINE;

REB100:RE1-REB,COLORYELLOW;

REB1382:RE1-REB-REB*0.382,DOTLINE;

REB15:RE1-REB-REB*0.5,DOTLINE;

REB1618:RE1-REB-REB*0.618,DOTLINE;

REB200:RE1-REB*2,COLORYELLOW;

4.

STICKLINE(CURRBARSCOUNT=IF(INTPART((TE1+1)/2)=1,2,INTPART((TE1+1)/2)),RE1,REB200,0,0),COLORYELLOW;

5.

DRAWNUMBER(ISLASTBAR,REB0382,REB0382);

DRAWNUMBER(ISLASTBAR,REB05,REB05);

DRAWNUMBER(ISLASTBAR,REB0618,REB0618);

DRAWNUMBER(ISLASTBAR,REB100,REB100);

DRAWNUMBER(ISLASTBAR,REB1382,REB1382);

DRAWNUMBER(ISLASTBAR,REB15,REB15);

DRAWNUMBER(ISLASTBAR,REB1618,REB1618);

DRAWNUMBER(ISLASTBAR,REB200,REB200);

代码流程

文章图片3

江丰鱼的EBE波浪尺算法

效果示意

文章图片4

EBE波浪尺

完整代码

{先做筛选再用该算法}

TE2:=CONST(PEAKBARS(1,F,W+1));

TE1:=CONST(PEAKBARS(1,F,W));

TB2:=CONST(TROUGHBARS(2,G,W+1));

TB1:=CONST(TROUGHBARS(2,G,W));

RE2:=IF(CURRBARSCOUNT<=TE2+1,CONST(PEAK(1,F,W+1)),DRAWNULL);

RE1:IF(CURRBARSCOUNT<=TE1+1 AND CONST(PEAK(1,F,W))<RE2 AND TE1<TB1,CONST(PEAK(1,F,W)),DRAWNULL),COLORYELLOW;

RB1:=IF(CURRBARSCOUNT<=TB1+1 AND RANGE(TB1,TE1,TE2),CONST(TROUGH(2,G,W)),DRAWNULL);

DRAWTEXT(CURRBARSCOUNT=CONST(BARSLAST(H=RE2))+1,H*1.003,'A'),COLORYELLOW;

DRAWTEXT(CURRBARSCOUNT=CONST(BARSLAST(H=RE1))+1,H*1.003,'C'),COLORYELLOW;

DRAWTEXT(CURRBARSCOUNT=CONST(BARSLAST(L=RB1))+1 AND RANGE(TB1,TE1,TE2),L*0.997,'B'),COLORYELLOW;

DRAWLINE(CURRBARSCOUNT=CONST(BARSLAST(H=RE2))+1,H,CURRBARSCOUNT=CONST(BARSLAST(L=RB1))+1,L,0),COLORYELLOW;

DRAWLINE(CURRBARSCOUNT=CONST(BARSLAST(L=RB1))+1,L,CURRBARSCOUNT=CONST(BARSLAST(H=RE1))+1,H,0),COLORYELLOW;

REB:=RE2-RB1;

REB0382:RE1-REB*0.382,DOTLINE;

REB05:RE1-REB*0.5,DOTLINE;

REB0618:RE1-REB*0.618,DOTLINE;

REB100:RE1-REB,COLORYELLOW;

REB1382:RE1-REB-REB*0.382,DOTLINE;

REB15:RE1-REB-REB*0.5,DOTLINE;

REB1618:RE1-REB-REB*0.618,DOTLINE;

REB200:RE1-REB*2,COLORYELLOW;

STICKLINE(CURRBARSCOUNT=IF(INTPART((TE1+1)/2)=1,2,INTPART((TE1+1)/2)),RE1,REB200,0,0),COLORYELLOW;

DRAWNUMBER(ISLASTBAR,REB0382,REB0382);

DRAWNUMBER(ISLASTBAR,REB05,REB05);

DRAWNUMBER(ISLASTBAR,REB0618,REB0618);

DRAWNUMBER(ISLASTBAR,REB100,REB100);

DRAWNUMBER(ISLASTBAR,REB1382,REB1382);

DRAWNUMBER(ISLASTBAR,REB15,REB15);

DRAWNUMBER(ISLASTBAR,REB1618,REB1618);

DRAWNUMBER(ISLASTBAR,REB200,REB200);

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

    0条评论

    发表

    请遵守用户 评论公约