设为首页收藏本站

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

均线为什么不在图表上显示? [复制链接]

Rank: 6Rank: 6

精华
0
UID
208212
积分
2006
帖子
103
主题
24
阅读权限
70
注册时间
2015-5-2
最后登录
2019-6-18
跳转到指定楼层
1#
发表于 2016-3-16 17:04:21 |只看该作者 |倒序浏览
Params
        Numeric MALength(20);
Vars
        NumericSeries MA;           //基准均线
        Numeric Counter(0);         //关于K线有多少根的计数器
        BoolSeries CrossUp;         //是否上穿基准均线
        BoolSeries CrossDown;       //是否下穿基准均线
        Numeric CrossOverCon;       //上穿基准均线次数
        Numeric CrossUnderCon;      //下穿基准均线次数
Begin
        If(!CallAuctionFilter()) Return;    // 集合竞价和小节休息过滤
        Counter = BarCount;
        If(Counter >= MALength)             //要求至少有基准均线的参数一样多的Bar
        {
                MA = Average((O+H+L+C)/4,MALength);  //计算基准均线值
                PlotNumeric("MA",MA);                //图表上输出显示均线MA
        }       
       
        CrossUp = CrossOver(H,MA);           //判断最高价是否上穿均线MA
        CrossDown = CrossUnder(L,MA);        //判断最低价是否下穿均线MA
        //CountIf获取最近N周期条件满足的计数
        If(CrossUp == True)
        {
                CrossOverCon = CountIf(CrossUp,Counter);     //High上穿MA的次数
        }
        If(CrossDown == True)
        {
                CrossUnderCon = CountIf(CrossDown,Counter);  //Low下穿MA的次数
        }
       
End       

Rank: 6Rank: 6

精华
0
UID
208212
积分
2006
帖子
103
主题
24
阅读权限
70
注册时间
2015-5-2
最后登录
2019-6-18
2#
发表于 2016-3-16 17:05:19 |只看该作者
如果是这样均线就显示了
Params
        Numeric MALength(20);
Vars
        NumericSeries MA;           //基准均线
        Numeric Counter(0);         //关于K线有多少根的计数器
        BoolSeries CrossUp;         //是否上穿基准均线
        BoolSeries CrossDown;       //是否下穿基准均线
        Numeric CrossOverCon;       //上穿基准均线次数
        Numeric CrossUnderCon;      //下穿基准均线次数
Begin
        If(!CallAuctionFilter()) Return;    // 集合竞价和小节休息过滤
        Counter = BarCount;
        If(Counter >= MALength)             //要求至少有基准均线的参数一样多的Bar
        {
                MA = Average((O+H+L+C)/4,MALength);  //计算基准均线值
                PlotNumeric("MA",MA);                //图表上输出显示均线MA
        }        
End      

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
208212
积分
2006
帖子
103
主题
24
阅读权限
70
注册时间
2015-5-2
最后登录
2019-6-18
3#
发表于 2016-3-16 17:45:08 |只看该作者
不支持这样写CountIf(CrossUp,Counter),支持如下写法:
Params
        Numeric MALength(20);
        Numeric CC(30);   //统计上穿下穿的时间周期
Vars
        NumericSeries MA;           //基准均线
        Numeric Counter(0);         //关于K线有多少根的计数器
       
        BoolSeries CrossUp;         //是否上穿基准均线
        BoolSeries CrossDown;       //是否下穿基准均线
        Numeric CrossOverCon;       //上穿基准均线次数
        Numeric CrossUnderCon;      //下穿基准均线次数
Begin
        If(!CallAuctionFilter()) Return;    // 集合竞价和小节休息过滤
        Counter = BarCount;
        MA = Average((O+H+L+C)/4,MALength);  //计算基准均线值
        PlotNumeric("MA",MA);                //图表上输出显示均线MA
        CrossUp = CrossOver(H,MA);           //判断最高价是否上穿均线MA
        CrossDown = CrossUnder(L,MA);        //判断最低价是否下穿均线MA
        //CountIf获取最近N周期条件满足的计数
       
        If(CrossUp == True)
        {
                CrossOverCon = CountIf(CrossUp,CC);     //High上穿MA的次数
        }
        If(CrossDown == True)
        {
                CrossUnderCon = CountIf(CrossDown,CC);  //Low下穿MA的次数
        }
       
End       

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2016-3-17 09:31:22 |只看该作者
代码问题挺多的,不一一解释了,大概改一下,先看看。
  1. Params
  2.         Numeric MALength(20);
  3. Vars
  4.         NumericSeries MA;           //基准均线
  5.         Numeric Counter(0);         //关于K线有多少根的计数器
  6.         Bool CrossUp;         //是否上穿基准均线
  7.         Bool CrossDown;       //是否下穿基准均线
  8.         NumericSeries CrossOverCon;       //上穿基准均线次数
  9.         NumericSeries  CrossUnderCon;      //下穿基准均线次数
  10. Begin
  11.         If(!CallAuctionFilter()) Return;    // 集合竞价和小节休息过滤
  12.         If(barcount<=malength)return;
  13.        // If(Counter >= MALength)             //要求至少有基准均线的参数一样多的Bar
  14.       //  {
  15.                 MA = Average((O+H+L+C)/4,MALength);  //计算基准均线值
  16.                 PlotNumeric("MA",MA);                //图表上输出显示均线MA
  17.       //  }        
  18.         
  19.         CrossUp = CrossOver(H,MA);           //判断最高价是否上穿均线MA
  20.         CrossDown = CrossUnder(L,MA);        //判断最低价是否下穿均线MA
  21.         //CountIf获取最近N周期条件满足的计数
  22.         If(CrossUp == True)
  23.         {
  24.                 CrossOverCon = crossovercon +1;     //High上穿MA的次数
  25.         }
  26.         If(CrossDown == True)
  27.         {
  28.                 CrossUnderCon = crossundercon+1;  //Low下穿MA的次数
  29.         }
  30.         Commentary("over:"+Text(crossovercon));
  31.         Commentary("under:"+Text(crossundercon));
  32.         
  33. End  
复制代码

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
208212
积分
2006
帖子
103
主题
24
阅读权限
70
注册时间
2015-5-2
最后登录
2019-6-18
5#
发表于 2016-10-30 16:20:39 |只看该作者
谢谢小米大侠

使用道具 举报

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

bottom

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

GMT+8, 2024-5-13 13:40

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部