设为首页收藏本站

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

请教版主:使用While语句,运行程序后就死机 [复制链接]

Rank: 3Rank: 3

精华
0
UID
239293
积分
134
帖子
86
主题
28
阅读权限
40
注册时间
2016-8-23
最后登录
2018-3-24
跳转到指定楼层
1#
发表于 2017-11-22 20:56:46 |只看该作者 |倒序浏览
下面是源码,不知道是否我理解有误,导致死机

我希望做到的是,以当前的Bar为起点,然后向前找N个Bar的价格,把找到的最高价和最低价分别记录下来,直到,最高价和最低价的价差,大于200,代码如下
//测试代码,寻找前面无限Bar价差距达到200的组合价格
ForNum = 1;
ForTure = True;
SetGlobalVar(30,Close);                //无限高价
SetGlobalVar(31,Close);                //无限低价

While(ForTure)
{
        Commentary("测试代码");
        if(Close[ForNum] > GetGlobalVar(30))
        {
                SetGlobalVar(30,Close[ForNum]);
        }
       
        if(Close[ForNum] < GetGlobalVar(31))
        {
                SetGlobalVar(31,Close[ForNum]);
        }
       
        if(GetGlobalVar(30) - GetGlobalVar(31) >= 200)
        {
                ForTure = False;
        }
       
        ForNum = ForNum + 1;
}

不知道为什么以运行就死机

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
2#
发表于 2017-11-24 13:52:14 |只看该作者
在While语句外套加一个If(BarStatus == 2)试试。即:
If(BarStatus == 2)
{
    While(ForTure)
    {
        ....
    }
}

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 08:46

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部