分享

斐氏数列的“靶心”算法

 cxm54666 2022-06-20 发布于吉林

在昨天的文章《当前REB内的斐波那契数列应用》发布之后,请看,思路天马行空的网友们又给我留作业了:

文章图片1

网友的留言

思路就是这么的果断、干脆与清晰---在横向的斐氏数列分割线之上,再叠加纵向的斐氏数列分割线,让纵横的交叉点变作目标的“靶心”,这又是怎样的操作呢?一起来试试看!

思路步骤

  1. 分别引入已有的REB与RBE内部斐氏分割算法;
  2. 对上述算法分别进行向外的扩展,增加一倍斐氏空间分割;
  3. 将上述两个部分进行合并;
  4. 对当前所取得的位,向右进行横向斐氏时间分割。

参数部分

文章图片2

江丰鱼的参数列表

效果示意

文章图片3

效果示意图1

文章图片4

效果示意图2

完整代码

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

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

RE1:IF(CURRBARSCOUNT<=TE1+1 AND TB1>TE1,CONST(PEAK(1,F,FW)),DRAWNULL);

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

REB:=RE1-RB1;

REB0236:RE1-REB*0.236,DOTLINE;

REB0382:RE1-REB*0.382,DOTLINE;

REB05:RE1-REB*0.5,DOTLINE;

REB0618:RE1-REB*0.618,DOTLINE;

REB0809:RE1-REB*0.809,DOTLINE;

REB100:RE1-REB,COLORYELLOW;

REB1236:REB100-REB*0.236,DOTLINE;

REB1382:REB100-REB*0.382,DOTLINE;

REB15:REB100-REB*0.5;

REB1618:REB100-REB*0.618,DOTLINE;

REB1809:REB100-REB*0.809,DOTLINE;

REB200:RE1-REB*2,COLORYELLOW;

DRAWICON(CURRBARSCOUNT=TE1+1,H,86);

DRAWICON(CURRBARSCOUNT=TB1+1,L,85);

DRAWNUMBER(ISLASTBAR,RE1,RE1);

DRAWNUMBER(ISLASTBAR,RB1,RB1);

WZ:=MIN(TB1,TE1)+1;

DRAWTEXT(CURRBARSCOUNT=WZ,REB0236,'23.6%');

DRAWTEXT(CURRBARSCOUNT=WZ,REB0382,'38.2%');

DRAWTEXT(CURRBARSCOUNT=WZ,REB05,'50%');

DRAWTEXT(CURRBARSCOUNT=WZ,REB0618,'61.8%');

DRAWTEXT(CURRBARSCOUNT=WZ,REB0809,'80.9%');

DRAWNUMBER(ISLASTBAR,REB0236,REB0236);

DRAWNUMBER(ISLASTBAR,REB0382,REB0382);

DRAWNUMBER(ISLASTBAR,REB05,REB05);

DRAWNUMBER(ISLASTBAR,REB0618,REB0618);

DRAWNUMBER(ISLASTBAR,REB0809,REB0809);

DRAWNUMBER(ISLASTBAR,REB1236,REB1236);

DRAWNUMBER(ISLASTBAR,REB1382,REB1382);

DRAWNUMBER(ISLASTBAR,REB15,REB15);

DRAWNUMBER(ISLASTBAR,REB1618,REB1618);

DRAWNUMBER(ISLASTBAR,REB1809,REB1809);

DRAWNUMBER(ISLASTBAR,REB200,REB200);

TE10:=CONST(PEAKBARS(1,F,FW));

TB10:=CONST(TROUGHBARS(2,G,GW));

RE10:IF(CURRBARSCOUNT<=TE10+1 AND TE10>TB10,CONST(PEAK(1,F,FW)),DRAWNULL);

RB10:IF(CURRBARSCOUNT<=TB10+1 AND TE10>TB10,CONST(TROUGH(2,G,GW)),DRAWNULL),COLORYELLOW;

RBE:=RE10-RB10;

RBE0236:RB10+RBE*0.236,DOTLINE;

RBE0382:RB10+RBE*0.382,DOTLINE;

RBE05:RB10+RBE*0.5,DOTLINE;

RBE0618:RB10+RBE*0.618,DOTLINE;

RBE0809:RB10+RBE*0.809,DOTLINE;

RBE100:RB10+RBE,COLORYELLOW;

RBE1236:RBE100+RBE*0.236,DOTLINE;

RBE1382:RBE100+RBE*0.382,DOTLINE;

RBE15:RBE100+RBE*0.5;

RBE1618:RBE100+RBE*0.618,DOTLINE;

RBE1809:RBE100+RBE*0.809,DOTLINE;

RBE200:RBE100+RBE,COLORYELLOW;

DRAWICON(CURRBARSCOUNT=TE10+1,H,86);

DRAWICON(CURRBARSCOUNT=TB10+1,L,85);

DRAWNUMBER(ISLASTBAR,RE10,RE10);

DRAWNUMBER(ISLASTBAR,RB10,RB10);

WZ0:=MIN(TB10,TE10)+1;

DRAWTEXT(CURRBARSCOUNT=WZ0,RBE0236,'23.6%');

DRAWTEXT(CURRBARSCOUNT=WZ0,RBE0382,'38.2%');

DRAWTEXT(CURRBARSCOUNT=WZ0,RBE05,'50%');

DRAWTEXT(CURRBARSCOUNT=WZ0,RBE0618,'61.8%');

DRAWTEXT(CURRBARSCOUNT=WZ0,RBE0809,'80.9%');

DRAWNUMBER(ISLASTBAR,RBE0236,RBE0236);

DRAWNUMBER(ISLASTBAR,RBE0382,RBE0382);

DRAWNUMBER(ISLASTBAR,RBE05,RBE05);

DRAWNUMBER(ISLASTBAR,RBE0618,RBE0618);

DRAWNUMBER(ISLASTBAR,RBE0809,RBE0809);

DRAWNUMBER(ISLASTBAR,RBE1236,RBE1236);

DRAWNUMBER(ISLASTBAR,RBE1382,RBE1382);

DRAWNUMBER(ISLASTBAR,RBE15,RBE15);

DRAWNUMBER(ISLASTBAR,RBE1618,RBE1618);

DRAWNUMBER(ISLASTBAR,RBE1809,RBE1809);

DRAWNUMBER(ISLASTBAR,RBE200,RBE200);

QD:=IF(TB1>TE1,TB1,IF(TE10>TB10,TE10,DRAWNULL))-CURRBARSCOUNT+1+1;

DRAWSL(QD=1,O,10000,1024,2);

DRAWSL(QD=3,O,10000,1024,2);

DRAWSL(QD=5,O,10000,1024,2);

DRAWSL(QD=8,O,10000,1024,2);

DRAWSL(QD=13,O,10000,1024,2);

DRAWSL(QD=21,O,10000,1024,2);

DRAWSL(QD=34,O,10000,1024,2);

DRAWSL(QD=55,O,10000,1024,2);

DRAWSL(QD=89,O,10000,1024,2);

DRAWSL(QD=144,O,10000,1024,2);

DRAWSL(QD=233,O,10000,1024,2);

《说明》一文中,阐明了本账号的方向只是专注于函数的应用和算法的建立,上述代码的罗列的确很“庞大”了,这并不符合“唯简为真”的原则,在这里的分享,仅供算法爱好者们学习和交流使用,与交易无关!

我的努力只为达成你的成功,赞赏是相伴前行的动力。

江丰鱼的文章只在今日头条首发;文中代码均可运行。

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

    0条评论

    发表

    请遵守用户 评论公约