设为首页收藏本站

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

CountIf不能用在IF 语句的条件中吗? [复制链接]

Rank: 1

精华
0
UID
262784
积分
12
帖子
5
主题
3
阅读权限
10
注册时间
2018-2-28
最后登录
2019-8-12
跳转到指定楼层
1#
发表于 2018-4-2 17:39:27 |只看该作者 |倒序浏览
如下语句,CountIf 如果出现在语句中不能得到正确的结果,就是说:

CountIf(BBI<BBI[1],9)==9

BBI<BBI[1] && BBI[1]<BBI[2] && BBI[2]<BBI[3]&& BBI[3]<BBI[4]&& BBI[4]<BBI[5]&& BBI[5]<BBI[6]&& BBI[6]<BBI[7] && BBI[7]<BBI[8] && BBI[8]<BBI[9]
应该是一样的吧,可实际执行结果不一样啊,在语句中计算结果是错误的,IF语句中只要有当次BBI<BBI[1],系统就认为满足条件,就执行开多语句。而我需要的是连续9次       

IF (L10-Close>=5 && CountIf(BBI<BBI[1],9)==9 && DIFF<DIFF[1] &&  MACD<MACD[1] && ROC<=ROCMA && MACD<ZCS) // && ROC<=ROCMA
        {
                MMXH=-1;
                Commentary("卖行号:241<35,下突破SPK2-");
        }       
IF (MarketPosition<>1 && MMXH==1 )
{
        Buy(lots,jyjg );
       
        //Commentary("Buy交易行号:  "+JYHH);
}

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2018-4-3 09:41:02 |只看该作者
countif是序列函数,其运算使用不能放到条件中。
加一个中间变量来修改一下代码吧。
  1. AA = countif(BBI<BBI[1],9);
  2. IF (L10-Close>=5 && AA==9 && DIFF<DIFF[1] &&  MACD<MACD[1] && ROC<=ROCMA && MACD<ZCS) // && ROC<=ROCMA
  3.         {
  4.                 MMXH=-1;
  5.                 Commentary("卖行号:241<35,下突破SPK2-");
  6.         }        
  7. IF (MarketPosition<>1 && MMXH==1 )
  8. {
  9.         Buy(lots,jyjg );
  10.         
  11.         //Commentary("Buy交易行号:  "+JYHH);
  12. }
复制代码

使用道具 举报

Rank: 1

精华
0
UID
262784
积分
12
帖子
5
主题
3
阅读权限
10
注册时间
2018-2-28
最后登录
2019-8-12
3#
发表于 2018-4-3 16:55:39 |只看该作者
明白了,原来如此,谢谢版主

使用道具 举报

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

bottom

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

GMT+8, 2024-5-20 01:03

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部