设为首页收藏本站

 找回密码
 注册
查看: 3866|回复: 3
打印 上一主题 下一主题

想统计一下MACD红柱或绿柱维持天数的分布 [复制链接]

Rank: 2

精华
0
UID
81
积分
79
帖子
17
主题
4
阅读权限
30
注册时间
2007-8-7
最后登录
2019-3-31
跳转到指定楼层
1#
发表于 2007-12-19 11:50:45 |只看该作者 |倒序浏览
想统计一下MACD红柱或绿柱维持天数的分布,程序大概如下:
Params
        Numeric FastLength( 40 );
        Numeric SlowLength( 80);
        Numeric MACDLength( 40 );
Vars   
        NumericSeries MACDValue;
        NumericSeries AvgMACD;
        NumericSeries MACDDiff;
Begin
        MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
        AvgMACD = XAverage(MACDValue,MACDLength);
        MACDDiff = MACDValue - AvgMACD;

        if (CrossOver(macddiff,close-close))
    {
      buy;
     }

    if (CrossOver(close-close,macddiff))
    {
      FileAppend("C:\\red.log","红柱维持天数 = "+Text(BarsSinceEntry));
      sell;
     }

        if (CrossOver(close-close,macddiff))
        {
      SellShort;
     }

        if (CrossOver(macddiff,close-close))
    {
      FileAppend("C:\\green.log","绿柱维持天数 = "+Text(BarsSinceEntry));
      BuyToCover;
         }
End

但结果很不对,红柱的维持天数是对的,但绿柱的维持天数都是0,不知是什么原因?

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2007-12-19 12:21:13 |只看该作者
您试试这个代码
  1. Params
  2.     Numeric FastLength( 40 );
  3.     Numeric SlowLength( 80);
  4.     Numeric MACDLength( 40 );
  5. Vars   
  6.     NumericSeries MACDValue;
  7.     NumericSeries AvgMACD;
  8.     NumericSeries MACDDiff;
  9. Begin
  10.     MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;        
  11.     AvgMACD = XAverage(MACDValue,MACDLength);
  12.     MACDDiff = MACDValue - AvgMACD;

  13.         if (CrossOverHor(macddiff,0))
  14.     {
  15.                 FileAppend("C:\\green.log","绿柱维持天数 = "+Text(BarsSinceEntry));
  16.                 Buy;
  17.         }

  18.         If(CrossUnderHor(macddiff,0))
  19.         {
  20.                 FileAppend("C:\\red.log","红柱维持天数 = "+Text(BarsSinceEntry));
  21.                 SellShort;
  22.         }
  23. End
复制代码

使用道具 举报

Rank: 2

精华
0
UID
81
积分
79
帖子
17
主题
4
阅读权限
30
注册时间
2007-8-7
最后登录
2019-3-31
3#
发表于 2007-12-19 14:16:41 |只看该作者
好用的,谢谢啊,能解释一下我之前程序的错误吗,免得以后再发生类似问题

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
4#
发表于 2007-12-19 14:36:42 |只看该作者
您的代码应该调换一下顺序就可以了,
把buyToCover放到Buy之前。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-3 08:07

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部