设为首页收藏本站

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

关于FOR语句的基本用法求教 [复制链接]

Rank: 2

精华
0
UID
107997
积分
115
帖子
89
主题
6
阅读权限
30
注册时间
2012-3-30
最后登录
2015-2-14
跳转到指定楼层
1#
发表于 2012-5-5 18:17:06 |只看该作者 |倒序浏览

为了学习FOR语句的编写,试着编了下面的指标,不知为何VAR1和VAR2的输出值差别很大,什么地方不对?敬请大侠指教,谢谢!

Params
        Numeric N(3);
       
Vars
    Numeric i;
        Numeric sumvalue(0);
        Numeric var1;
        Numeric var2;
        NumericSeries hhv;
        NumericSeries llv;
        Numeric Value1;
Begin
       
        hhv=Highest(High,10);
        llv=Lowest(Low,10);
   
        var1=((hhv-llv)+(hhv[1]-llv[1])+ (hhv[2]-llv[2]))/3;
       
         sumvalue =0;
          For i = 0 To n-1
        {   
                        value1 =(hhv[i]-llv[i]);
                       
                                  sumvalue = sumvalue + value1;          }       
              
       var2 =sumvalue/3;       

        PlotNumeric(" atr相加=", var1);
        PlotNumeric(" atr循环=", var2);
End

Rank: 2

精华
0
UID
107997
积分
115
帖子
89
主题
6
阅读权限
30
注册时间
2012-3-30
最后登录
2015-2-14
2#
发表于 2012-5-8 07:51:30 |只看该作者
几天了,请管理员给解答一下吧!

使用道具 举报

Rank: 2

精华
0
UID
107997
积分
115
帖子
89
主题
6
阅读权限
30
注册时间
2012-3-30
最后登录
2015-2-14
3#
发表于 2012-5-9 06:37:37 |只看该作者
这个问题是不是很难?

使用道具 举报

Rank: 2

精华
0
UID
107997
积分
115
帖子
89
主题
6
阅读权限
30
注册时间
2012-3-30
最后登录
2015-2-14
4#
发表于 2012-5-9 14:14:17 |只看该作者
求教几天后,终于找到一个FOR语句的例子,学习之后,模仿求和公式的写法,加入if 语句排除无效值和死循环的可能性以后,公式终于有了正确一致的显示了!
学习TB又前进了一步!

使用道具 举报

Rank: 2

精华
0
UID
107997
积分
115
帖子
89
主题
6
阅读权限
30
注册时间
2012-3-30
最后登录
2015-2-14
5#
发表于 2012-5-9 14:17:07 |只看该作者
为了感谢各位的帮助,现将改好后的公式贴出来(本人对编程绝对是外行,高手别见笑):


Params
        Numeric N(3);
       
Vars
    Numeric i;
        Numeric j;
        Numeric sumvalue(0);
        Numeric var1;
        Numeric var2;
        NumericSeries hhv;
       
Begin
       
        hhv=Highest(High,10);
        var1=((hhv[1])+ (hhv[2])+ (hhv[0]))/3;
                  
          sumvalue =0;
          j=0;
          For i = 1 To n
        {   
                          If (hhv[j] <> InvalidNumeric){
                       
                                  sumvalue = sumvalue + hhv[j] ;
                                  
                                  j = j + 1;          }                                                  
                                          
               else Break;}
       var2 =sumvalue/3;       

        PlotNumeric(" atr相加=", var1);
        PlotNumeric(" atr循环=", var2);
End

使用道具 举报

Rank: 1

精华
0
UID
98411
积分
28
帖子
15
主题
1
阅读权限
10
注册时间
2012-2-18
最后登录
2013-8-1
6#
发表于 2012-6-27 01:45:11 |只看该作者
hhv 和 hhv[0] 可能不一样

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 01:18

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部