如何做好双底模型(双底的通用算法)

双底的算法很多,如何取舍呢?更多的时间里觉得,看起来越傻的思路反而是最优的,请看网友的留言截图:

如何做好双底模型(双底的通用算法)(1)

网友的留言

留言的需求是,当KDJ的J值小于0后并形成双底时,进行数据的筛选,算法如何建立呢?

思路步骤

  1. 引用系统指标KDJ,并对原有输出进行赋值处理;
  2. 应用价格的第一个谷的位置来界定当前J值双底发生的时间范围;
  3. 在价格的第一个谷的位置时间范围内,应用函数LLVBARS计算J值的第一个底点的位置;
  4. 在J值的第一个底点的时间范围内,应用函数BARSSINCEN计算J值的第二个底点的位置;

5.进行数据筛选的条件罗列,完成算法建立。

算法建立

1. 引用系统指标KDJ,并对原有输出进行赋值处理:

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

K:=SMA(RSV,M1,1);

D:=SMA(K,M2,1);

J:=3*K-2*D;

2. 价格的第一个谷的位置:

FW:=CONST(TROUGHBARS(2,转向比/100,1));{范围}

3. 计算J值的第一个底点的位置:

WZ1:=IF(J<0,CONST(LLVBARS(J,FW)),DRAWNULL);

4. 计算J值的第二个底点的位置:

WZ2:=IF(J<0,CONST(BARSSINCEN(J<REF(J,1) AND J<REFX(J,1),WZ1)),DRAWNULL);

5. 进行数据筛选的条件罗列:

J<0 AND WZ1-WZ2<=5;

五个参数与完整代码

如何做好双底模型(双底的通用算法)(2)

参数表1

如何做好双底模型(双底的通用算法)(3)

参数表2

{一周内双底,所以“双底间隔”缺省值为5}

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

K:=SMA(RSV,M1,1);

D:=SMA(K,M2,1);

J:=3*K-2*D;

FW:=CONST(TROUGHBARS(2,转向比/100,1));{范围}

WZ1:=IF(J<0,CONST(LLVBARS(J,FW)),DRAWNULL);

WZ2:=IF(J<0,CONST(BARSSINCEN(J<REF(J,1) AND J<REFX(J,1),WZ1)),DRAWNULL);

J<0 AND WZ1-WZ2<=双底间隔;

效果示意

如何做好双底模型(双底的通用算法)(4)

效果图1

如何做好双底模型(双底的通用算法)(5)

效果图2

如何做好双底模型(双底的通用算法)(6)

效果图3

如何做好双底模型(双底的通用算法)(7)

效果图4

计算创造价值,分享助力成功,代码均可运行。

江丰鱼的文章只在今日头条首发,未经授权禁止引用或者转载。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页