设为首页收藏本站

 找回密码
 注册
查看: 480|回复: 3

cross函数新版本不符合逻辑情况出发,老版本没有问题 [复制链接]

Rank: 2

精华
0
UID
238334
积分
68
帖子
24
主题
14
阅读权限
30
注册时间
2016-8-5
最后登录
2021-3-17
发表于 2019-6-3 10:09:40 |显示全部楼层
如题,新版本是最新的穿透版本,在条件未成立的情况下触发空单。而老版本正常。求解?
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-6-3 10:19:11 |显示全部楼层
crossover,crossunder等序列函数的使用不可以放在条件下 。
否则会因为取值受限,从而影响计算结算的正确性。。
可以先声明两个中间变量,将crossover,crossunder赋值给变量,再变量代入条件中判断即可。
此规则,无论新旧版都是一致的。

使用道具 举报

Rank: 2

精华
0
UID
238334
积分
68
帖子
24
主题
14
阅读权限
30
注册时间
2016-8-5
最后登录
2021-3-17
发表于 2019-6-3 10:29:38 |显示全部楼层
        If (MarketPosition==0)
        {
                If(Close[2]<breakbuy[2] And Close[1]>breakbuy[1])
                {
                Buy(so,Open);
                stopline=seebuy;
                KZ=0;
                Commentary("0多");
                }
       
                If(Close[2]>breaksell[2] And Close[1]<breaksell[1])
                {
                SellShort(so,Open);
                stopline=seesell;
                KZ=0;
                Commentary("0空");
                }
         }


修改成这样,就OK了。
那就说明这个是Cross函数的问题

使用道具 举报

Rank: 2

精华
0
UID
238334
积分
68
帖子
24
主题
14
阅读权限
30
注册时间
2016-8-5
最后登录
2021-3-17
发表于 2019-6-3 10:30:41 |显示全部楼层
小米 发表于 2019-6-3 10:19
crossover,crossunder等序列函数的使用不可以放在条件下 。
否则会因为取值受限,从而影响计算结算的正确性 ...

好的,谢谢。

使用道具 举报

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

bottom

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

GMT+8, 2024-3-29 19:15

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部