在视频《算法0075 峰谷取值与筛选的算法》及其对应的文章《应用峰谷标注法进行波浪的界定》、《峰谷的取值与过滤算法》之后的此刻,将它们进行进一步的组合,给峰谷ABCD的主图实现带来更加完美的算法。

如何实现呢?

思路步骤

  1. 导入已有算法《峰谷筛选》;
  2. 对已有的算法进行第二对峰谷的计;
  3. 对得到的峰B、D与谷A、C进行标示。

算法建立

1.导入已有的算法,第一个峰谷对儿“DC”

TE:=CONST(PEAKBARS(1,峰转向比/10,第几个峰));{TE第几个峰1位微调}

TB:=CONST(TROUGHBARS(2,谷转向比/10,第几个谷));{TB第几个谷1位微调}

REW:=IF(CURRBARSCOUNT<=TE 峰1位微调 1,CONST(REF(H,TE 峰1位微调)),DRAWNULL),COLORRED;{REW 第一个峰值微调}

RBW:=IF(CURRBARSCOUNT<=TB 谷1位微调 1,CONST(REF(L,TB 谷1位微调)),DRAWNULL),COLORGREEN;{RBW 第一个谷值微调}

REH:IF(CURRBARSCOUNT<=TE 1 AND 峰1位微调=0,CONST(PEAK(1,峰转向比/10,第几个峰)),REW),COLORYELLOW;{EH 第一个峰值}

RBL:IF(CURRBARSCOUNT<=TB 1 AND 谷1位微调=0,CONST(TROUGH(2,谷转向比/10,第几个谷)),RBW),COLORYELLOW;{BL 第一个谷值}

2.建立第二个峰谷对儿“BA”

TE2:=CONST(PEAKBARS(1,峰转向比/10,第几个峰 1));{TE2第2个峰位微调}

TB2:=CONST(TROUGHBARS(2,谷转向比/10,第几个谷 1));{TB2第2个谷位微调}

REW2:=IF(CURRBARSCOUNT<=TE2 峰2位微调 1,CONST(REF(H,TE2 峰2位微调)),DRAWNULL),COLORRED;{REW2 第2个峰值微调}

RBW2:=IF(CURRBARSCOUNT<=TB2 谷2位微调 1,CONST(REF(L,TB2 谷2位微调)),DRAWNULL),COLORGREEN;{RBW2 第2个谷值微调}

REH2:IF(CURRBARSCOUNT<=TE2 1 AND 峰2位微调=0,CONST(PEAK(1,峰转向比/10,第几个峰 1)),REW2),COLORMAGENTA;{EH2 第2个峰值}

RBL2:IF(CURRBARSCOUNT<=TB2 1 AND 谷2位微调=0,CONST(TROUGH(2,谷转向比/10,第几个谷 1)),RBW2),COLORMAGENTA;{BL2 第2个谷值}

3.优化标示

a.右侧第一对峰谷

DRAWICON(CURRBARSCOUNT=IF(峰1位微调=0,TE,TE 峰1位微调) 1,H*1.003,86);

DRAWICON(CURRBARSCOUNT=IF(谷1位微调=0,TB,TB 谷1位微调) 1,L*0.997,85);

DRAWTEXT(CURRBARSCOUNT=IF(峰1位微调=0,TE,TE 峰1位微调) 1,H*1.004,'峰1-D');

DRAWTEXT(CURRBARSCOUNT=IF(谷1位微调=0,TB,TB 谷1位微调) 1,L*0.996,'谷1-C');

CHA:DRAWNUMBER(ISLASTBAR,(REH RBL)/2,(REH RBL)/2),COLORYELLOW;{CHA 第一个峰值与第一个谷值的差}

b.左侧第二对峰谷

DRAWICON(CURRBARSCOUNT=IF(峰2位微调=0,TE2,TE2 峰2位微调) 1,H*1.003,86);

DRAWICON(CURRBARSCOUNT=IF(谷2位微调=0,TB2,TB2 谷2位微调) 1,L*0.997,85);

DRAWTEXT(CURRBARSCOUNT=IF(峰2位微调=0,TE2,TE2 峰2位微调) 1,H*1.004,'峰2-B');

DRAWTEXT(CURRBARSCOUNT=IF(谷2位微调=0,TB2,TB2 谷2位微调) 1,L*0.996,'谷2-A');

CHA2:DRAWNUMBER(ISLASTBAR,(REH2 RBL2)/2,(REH2 RBL2)/2),COLORMAGENTA;{CHA2 第2个峰值与第2个谷值的差};

八个参数

指数退避算法(峰谷ABCD的新算法)(1)

参数表1

指数退避算法(峰谷ABCD的新算法)(2)

参数表2

效果示意

完整代码

{右侧峰谷 1}

TE:=CONST(PEAKBARS(1,峰转向比/10,第几个峰));{TE第几个峰1位微调}

TB:=CONST(TROUGHBARS(2,谷转向比/10,第几个谷));{TB第几个谷1位微调}

REW:=IF(CURRBARSCOUNT<=TE 峰1位微调 1,CONST(REF(H,TE 峰1位微调)),DRAWNULL),COLORRED;{REW 第一个峰值微调}

RBW:=IF(CURRBARSCOUNT<=TB 谷1位微调 1,CONST(REF(L,TB 谷1位微调)),DRAWNULL),COLORGREEN;{RBW 第一个谷值微调}

REH:IF(CURRBARSCOUNT<=TE 1 AND 峰1位微调=0,CONST(PEAK(1,峰转向比/10,第几个峰)),REW),COLORYELLOW;{EH 第一个峰值}

RBL:IF(CURRBARSCOUNT<=TB 1 AND 谷1位微调=0,CONST(TROUGH(2,谷转向比/10,第几个谷)),RBW),COLORYELLOW;{BL 第一个谷值}

DRAWICON(CURRBARSCOUNT=IF(峰1位微调=0,TE,TE 峰1位微调) 1,H*1.003,86);

DRAWICON(CURRBARSCOUNT=IF(谷1位微调=0,TB,TB 谷1位微调) 1,L*0.997,85);

DRAWTEXT(CURRBARSCOUNT=IF(峰1位微调=0,TE,TE 峰1位微调) 1,H*1.004,'峰1-D');

DRAWTEXT(CURRBARSCOUNT=IF(谷1位微调=0,TB,TB 谷1位微调) 1,L*0.996,'谷1-C');

CHA:DRAWNUMBER(ISLASTBAR,(REH RBL)/2,(REH RBL)/2),COLORYELLOW;{CHA 第一个峰值与第一个谷值的差}

{左侧峰谷 2}

TE2:=CONST(PEAKBARS(1,峰转向比/10,第几个峰 1));{TE2第2个峰位微调}

TB2:=CONST(TROUGHBARS(2,谷转向比/10,第几个谷 1));{TB2第2个谷位微调}

REW2:=IF(CURRBARSCOUNT<=TE2 峰2位微调 1,CONST(REF(H,TE2 峰2位微调)),DRAWNULL),COLORRED;{REW2 第2个峰值微调}

RBW2:=IF(CURRBARSCOUNT<=TB2 谷2位微调 1,CONST(REF(L,TB2 谷2位微调)),DRAWNULL),COLORGREEN;{RBW2 第2个谷值微调}

REH2:IF(CURRBARSCOUNT<=TE2 1 AND 峰2位微调=0,CONST(PEAK(1,峰转向比/10,第几个峰 1)),REW2),COLORMAGENTA;{EH2 第2个峰值}

RBL2:IF(CURRBARSCOUNT<=TB2 1 AND 谷2位微调=0,CONST(TROUGH(2,谷转向比/10,第几个谷 1)),RBW2),COLORMAGENTA;{BL2 第2个谷值}

DRAWICON(CURRBARSCOUNT=IF(峰2位微调=0,TE2,TE2 峰2位微调) 1,H*1.003,86);

DRAWICON(CURRBARSCOUNT=IF(谷2位微调=0,TB2,TB2 谷2位微调) 1,L*0.997,85);

DRAWTEXT(CURRBARSCOUNT=IF(峰2位微调=0,TE2,TE2 峰2位微调) 1,H*1.004,'峰2-B');

DRAWTEXT(CURRBARSCOUNT=IF(谷2位微调=0,TB2,TB2 谷2位微调) 1,L*0.996,'谷2-A');

CHA2:DRAWNUMBER(ISLASTBAR,(REH2 RBL2)/2,(REH2 RBL2)/2),COLORMAGENTA;{CHA2 第2个峰值与第2个谷值的差};

我的努力只为达成你的成功。

江丰鱼的文章只在今日头条首发。

,