- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一次执行时,首先将循环变量赋值为初始值,然后判断循环变量是否小于等于结束值,如果满足条件,则执行TradeBlazer公式语句,同时循环变量加1。接着重新判断循环变量是否小于等于结束值,一直到条件为False,退出循环。 例如,以下的用户计算Price最近Length周期的和。 Params NumericSeries Price(1); Numeric Length(10); Vars Numeric SumValue(0); Numeric i; Begin for i = 0 to Length - 1 { SumValue = SumValue + Price[i]; } Return SumValue; End 如果希望For语句从大到小进行循环,可以使用以下的语法: For 循环变量 = 初始值 DownTo 结束值 { TradeBlazer公式语句; } For-DownTo让循环变量从结束值每次递减1直到等于结束值,依次调用TradeBlazer公式语句执行,初始值必须大于或等于结束值才有意义。 For语句是比较常用的一种循环控制语句,它应用于知道循环次数的地方,很多内建用户函数中都使用For语句来完成相应的功能,比如Summation,Highest,Lowest,LinearReg等。 While While语句在条件为真的时候重复执行某一项操作。即,只要条件表达式的值为真(True)时,就重复执行某个动作。直到行情信息改变以致条件为假(False)时,循环才结束。 语法如下: While (Condition) { TradeBlazer公式语句; } Condition是一个逻辑表达式,当Condition为True的时候,TradeBlazer公式语句将会被循环执行,Condition可以是多个条件表达式的逻辑组合,Condition必须用()括起来。 TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略{},二条或者二条以上的语句必须使用{}。 大于100000成交量需要最近Bar的个数: Vars Numeric SumVolume(0); Numeric Counter (0); Begin While (SumVolume 100000) { SumVolume = SumVolume + Vol[Counter] ; Counter = Counter + 1; } End 首先,我们定义两个变量SumVolume和Counter,并将其默认值设为0。当SumVolume 100000这个表达式为True时,While内的TradeBlazer公式语句一直被调用,将前Counter个Bar的Vol加到SumVolume中,当SumVolume大于等于100000时,退出循环。 Break语句 在使用While循环的时候,有可能会遇到循环一直执行,永远不能退出的情况,这种情况我们称之为死循环,比如下面的语句; While (True) { TradeBlazer公式语句; } 在这种情况下,循环将一直执行,导致程序不能继续工作,在这种情况,我们可以使用Break来跳出循环,详细情况参加下节。 针对上节的例子,要想从死循环中跳出,我们可以在循环之中添加Break语句,如下: While (True) { TradeBlazer公式语句; If (Condition) Break; } 循环在每次执行后,都将判断Condition的值,当Condition为True时,则执行Break语句,跳出整个循环。 Continue语句 有的时候在循环中,我们可能希望跳过后面的代码,进入下一次循环,在这种情况下,可以使用Continue语句来达到目的,如下: While (Condition1) { TradeBlazer公式语句1; If (Condition2) Continue; TradeBlazer公式语句2; } 当Condition1满足时,循环被执行,在执行完TradeBlazer公式语句1后,将判断Condition2的值,当Condition2为True,将跳过TradeBlazer公式语句2,重新判断Condition1的值,进入下一次循环。否则将继续执行TradeBlazer公式语句2。 定义 参数是一个预先声明的地址,用来存放输入参数的值,在声
文档评论(0)