分享

值得研究的经典指标 – 量化交易研究

 云鹤书馆 2014-01-25

思路:

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

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

 

代码:

  1. DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);//短周期与长周期的收盘价的指数平滑移动平均值做差。   
  2. DEA:=EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均   
  3. /////////////////////////////////////////////////////////////////////////////////   
  4. //最近一次满足条件DIFF上穿DEA的K线到当前的距离   
  5. N1:=BARSLAST(CROSS(DIFF,DEA))+1;   
  6. //最近一次满足条件DIFF下穿DEA的K线到当前的距离   
  7. N2:=BARSLAST(CROSS(DEA,DIFF))+1;   
  8. /////////////////////////////////////////////////////////////////////////////////   
  9. //当前是DIFF>DEA的状态,连结最近两个DIFF>DEA区间(不包含当前区间)内最高点的趋势线   
  10. A1:=BACKSET(ISLASTBAR && N1<N2,REF(REF(HHVBARS(H,N1)+1,N2),N2)+REF(N2,N2)+N2);   
  11. B1:=BACKSET(ISLASTBAR && N1<N2,REF(HHVBARS(H,N1)+1,N2)+N2);   
  12. DRAWTRENDLINE(CROSS(A1,0.5),H,CROSS(B1,0.5),H,COLORRED);   
  13. //当前是DIFF>DEA的状态,连结最近两个DIFF<DEA区间内最低点的趋势线   
  14. A2:=BACKSET(ISLASTBAR && N1<N2,REF(REF(LLVBARS(L,N2)+1,N1),N2)+REF(N1,N2)+N2);   
  15. B2:=BACKSET(ISLASTBAR && N1<N2,REF(LLVBARS(L,N2)+1,N1)+N1);   
  16. DRAWTRENDLINE(CROSS(A2,0.5),L,CROSS(B2,0.5),L,COLORRED);   
  17. /////////////////////////////////////////////////////////////////////////////////   
  18. //当前是DIFF<DEA的状态,连结最近两个DIFF<DEA区间(不包含当前区间)内最低点的趋势线   
  19. A3:=BACKSET(ISLASTBAR && N1>N2,REF(REF(LLVBARS(L,N2)+1,N1),N1)+REF(N1,N1)+N1);   
  20. B3:=BACKSET(ISLASTBAR && N1>N2,REF(LLVBARS(L,N2)+1,N1)+N1);   
  21. DRAWTRENDLINE(CROSS(A3,0.5),L,CROSS(B3,0.5),L,COLORRED);   
  22. //当前是DIFF<DEA的状态,连结最近两个DIFF>DEA区间内最高点的趋势线   
  23. A4:=BACKSET(ISLASTBAR && N1>N2,REF(REF(HHVBARS(H,N1)+1,N2),N1)+REF(N2,N1)+N1);   
  24. B4:=BACKSET(ISLASTBAR && N1>N2,REF(HHVBARS(H,N1)+1,N2)+N2);   
  25. DRAWTRENDLINE(CROSS(A4,0.5),H,CROSS(B4,0.5),H,COLORRED);  

 

知识点:

1.逻辑关系的判断;

2.REF函数的使用;

3.BACKSET函数的使用。

 

配图说明:

最后一个区间处于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)

 

trendline

 

附:个人能力有限,难免出现错误,如果您在阅读时发现不正确的内容,敬请指正,谢谢!

 

 

 

转载请注明:量化交易研究 ? 值得研究的经典指标

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多