设为首页收藏本站

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

关于for用法问题请教 [复制链接]

Rank: 4

精华
0
UID
1109
积分
444
帖子
67
主题
25
阅读权限
50
注册时间
2008-1-23
最后登录
2008-7-12
跳转到指定楼层
1#
发表于 2008-3-28 21:23:25 |只看该作者 |倒序浏览
在TB中的  商品路径指标(CCI)又叫顺势指标  有个for的语句见下面,我知道for语句的基本用发,但是在这里 FOR语局后 没有 NEXT 也没有BREAK 请教他在这里的意义 他是如何循环的哦
Params
Numeric Length(14);
Numeric AvgLength(9);
Vars
NumericSeries TmpValue;
Numeric Mean( 0 );  
Numeric AvgDev( 0 );
Numeric Counter( 0 ) ;
NumericSeries CCIValue(0);  
Numeric CCIAvg;
Begin
TmpValue = High + Low + Close;
Mean = AverageFC( TmpValue, Length ) ;
AvgDev = 0 ;
for Counter = 0 to Length - 1                          //从这里 开始的
{
  AvgDev = AvgDev + Abs( TmpValue[Counter] - Mean ) ;  //这里就结束了。他是如何循环的哦
}                             
AvgDev = AvgDev / Length ;

if( AvgDev == 0)
  CCIValue = 0;
Else
  CCIValue = ( TmpValue - Mean ) / ( 0.015 * AvgDev ) ;  
CCIAvg = AverageFC(CCIValue, AvgLength );
  
PlotNumeric("CCI",CCIValue);
PlotNumeric("CCIAvg",CCIAvg);
PlotNumeric("OverSell",-100);
PlotNumeric("OverBuy",100);
End

[ 本帖最后由 风险玩家 于 2008-3-28 21:25 编辑 ]

Rank: 8Rank: 8

精华
2
UID
2
积分
3308
帖子
342
主题
6
阅读权限
200
注册时间
2007-7-20
最后登录
2013-5-25
2#
发表于 2008-3-28 22:12:56 |只看该作者
COUNT的起始值由赋值语句“Counter = 0”指定,这表示counter从0开始,TO后面的值表示count的终值。步长缺省是1。
所以这个FOR语句表示counter从0开始,进入语句体计算一次,计算完counter就加1,再进入语句体计算一次。一直到counter等于Length - 1,最后一次进入语句体计算。计算完,就退出FOR循环,执行大括号外面的语句了。

使用道具 举报

Rank: 4

精华
0
UID
1109
积分
444
帖子
67
主题
25
阅读权限
50
注册时间
2008-1-23
最后登录
2008-7-12
3#
发表于 2008-3-28 22:33:30 |只看该作者
谢谢,意思是不用NEXT也可以啊(哎,基础差啊,正在找vb算法的基础书籍来看,有什么可以推荐的吗)

使用道具 举报

Rank: 4

精华
0
UID
1117
积分
403
帖子
62
主题
28
阅读权限
50
注册时间
2008-1-27
最后登录
2019-3-30
4#
发表于 2008-3-28 23:34:32 |只看该作者
不用找什么书了,就几个语句,多用用就熟了。

for 循环体的  } 可以看成 next。

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
5#
发表于 2008-3-30 10:13:56 |只看该作者
for循环用于当前BAR需要回溯使用以前的数据时,特别是指标线条向后回画时;而顺向使用数据不需要FOR,但其实也是在一个大循环中,从0到最新BAR的推进.
TradeBlazer交流群33647992。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
219
积分
848
帖子
78
主题
17
阅读权限
60
注册时间
2007-8-29
最后登录
2023-12-4
6#
发表于 2008-4-5 13:56:14 |只看该作者
领教了!!!

使用道具 举报

Rank: 3Rank: 3

精华
1
UID
2048
积分
218
帖子
29
主题
8
阅读权限
40
注册时间
2008-8-1
最后登录
2016-8-2
7#
发表于 2008-10-24 11:45:49 |只看该作者

等号后的AvgDev应该是前一轮的循环值吧

for Counter = 0 to Length - 1                        
{
  AvgDev = AvgDev + Abs( TmpValue[Counter] - Mean ) ;
}

使用道具 举报

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

bottom

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

GMT+8, 2024-5-2 19:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部