将技术分析进行到底
提供专业的程序化交易解决方案

连结MACD相邻红绿柱区间内高低点画趋势线

以下指标适用于文华财经的赢顺、睿期、赢智软件平台。


思路

以最近两DIFF>DEA的区间(不包含当前区间)内的最高价为基准点,做一条趋势线。

以最近两DIFF<DEA的区间(不包含当前区间)内的最低价为基准点,做一条趋势线。

 

代码

DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA:=EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均

/* ******* */

N1:=BARSLAST(CROSS(DIFF,DEA))+1;//最近一次满足条件DIFF上穿DEA的K线到当前的距离
N2:=BARSLAST(CROSS(DEA,DIFF))+1;//最近一次满足条件DIFF下穿DEA的K线到当前的距离

/* ******* */

//当前是DIFF>DEA的状态,连结最近两个DIFF>DEA区间(不包含当前区间)内最高点的趋势线
A1:=BACKSET(ISLASTBAR && N1<N2,REF(REF(HHVBARS(H,N1)+1,N2),N2)+REF(N2,N2)+N2);
B1:=BACKSET(ISLASTBAR && N1<N2,REF(HHVBARS(H,N1),N2)+N2+1);
DRAWLINE1(CROSS(A1,0.5),H,CROSS(B1,0.5),H,1),COLORRED;

//当前是DIFF>DEA的状态,连结最近两个DIFF<DEA区间内最低点的趋势线
A2:=BACKSET(ISLASTBAR && N1<N2,REF(REF(LLVBARS(L,N2)+1,N1),N2)+REF(N1,N2)+N2);
B2:=BACKSET(ISLASTBAR && N1<N2,REF(LLVBARS(L,N2)+1,N1)+N1);
DRAWLINE1(CROSS(A2,0.5),L,CROSS(B2,0.5),L,1),COLORGREEN;

/* ******* */

//当前是DIFF<DEA的状态,连结最近两个DIFF<DEA区间(不包含当前区间)内最低点的趋势线
A3:=BACKSET(ISLASTBAR && N1>N2,REF(REF(LLVBARS(L,N2)+1,N1),N1)+REF(N1,N1)+N1);
B3:=BACKSET(ISLASTBAR && N1>N2,REF(LLVBARS(L,N2),N1)+N1+1);
DRAWLINE1(CROSS(A3,0.5),L,CROSS(B3,0.5),L,1),COLORGREEN;

//当前是DIFF<DEA的状态,连结最近两个DIFF>DEA区间内最高点的趋势线
A4:=BACKSET(ISLASTBAR && N1>N2,REF(REF(HHVBARS(H,N1)+1,N2),N1)+REF(N2,N1)+N1);
B4:=BACKSET(ISLASTBAR && N1>N2,REF(HHVBARS(H,N1)+1,N2)+N2);
DRAWLINE1(CROSS(A4,0.5),H,CROSS(B4,0.5),H,1),COLORRED;

 

效果图

5001.1

说明

最后一个区间处于DIFF<DEA的状态:

1.REF(,N2)回到紫红色标注的K线1的位置。在紫红色K线1处,HHVBARS(H,N1)+1返回蓝色K线2到紫红色K线1的距离。所以REF(HHVBARS(H,N1)+1,N2)+N2返回的是蓝色K线2到当前K线的距离。蓝色K线2即当前区间之前,第一个DIFF>DEA的区间内的最高价。

2.REF(,N1)回到紫红色K线2的位置。在紫红色K线2处,REF(,N2)回到紫红色K线3的位置。在紫红色K线3处HHVBARS(H,N1)+1返回蓝色K线1到紫红色K线3的距离。所以,REF(REF(HHVBARS(H,N1)+1,N2),N1)+REF(N2,N1)+N1返回的是蓝色K线1到当前K线的距离。蓝色K线1即当前区间之前,第二个DIFF>DEA的区间内的最高价。

3.REF(,N1)回到紫红色K线2的位置。在紫红色K线2处,LLVBARS(L,N2)+1返回蓝色K线4到紫红色K线2的距离。所以REF(LLVBARS(L,N2)+1,N1)+N1返回的是蓝色K线4到当前K线的距离。蓝色K线4即为当前区间之前,第一个DIFF<DEA的区间内的最低价。

4.REF(,N1)回到紫红色K线2的位置。在紫红色K线2处,REF(,N1)回到紫红色K线4的位置。在紫红色K线4处LLVBARS(L,N2)+1返回蓝色K线3到紫红K线4的距离。所以REF(REF(LLVBARS(L,N2)+1,N1),N1)+REF(N1,N1)+N1返回的是蓝色K线3到当前K线的距离。蓝色K线3即为当前区间之前,第二个DIFF<DEA的区间内的最低价。(这个例子比较特殊,因为当前区间之前,第二个DIFF<DEA的区间只有一根K线,即蓝色K线3)

 

 

 

未经允许不得转载:文华程序化 » 连结MACD相邻红绿柱区间内高低点画趋势线
分享到: (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    这个很棒,又给我自己的模型提供了一条思路,非常感谢!

    双鱼座守望者6个月前 (03-07)回复

横冲直撞 一直到最远方