路路发智能交易研发中心

 找回密码
 立即注册
查看: 1879|回复: 0

TB编程教程 While

[复制链接]

管理员

MT4软件工程师

Rank: 9Rank: 9Rank: 9

积分
6521
帖子
2771
主题
2761
QQ
发表于 2015-5-9 17:26:23 | 显示全部楼层 |阅读模式
TB编程教程 While
While语句在条件为真的时候重复执行某一项操作。即,只要条件表达式的值为真(True)时,就重复执行某个动作。直到行情信息改变以致条件为假(False)时,循环才结束。
语法如下:
  1. While (Condition)
  2. {
  3.     TradeBlazer公式语句;
  4. }
复制代码


Condition是一个逻辑表达式,当Condition为True的时候,TradeBlazer公式语句将会被循环执行,Condition可以是多个条件表达式的逻辑组合,Condition必须用()括起来。
TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略{},二条或者二条以上的语句必须使用{}。
例如,以下的公式用来计算要产生大于100000成交量需要最近Bar的个数:
  1. Vars
  2.     Numeric        SumVolume(0);
  3.     Numeric        Counter (0);
  4. Begin
  5.     While (SumVolume < 100000)
  6.     {
  7.         SumVolume = SumVolume + Vol[Counter]
  8.         Counter = Counter + 1;
  9.     }
  10. End
复制代码


首先,我们定义两个变量SumVolume和Counter,并将其默认值设为0。当SumVolume <100000这个表达式为True时,While内的TradeBlazer公式语句一直被调用,将前Counter个Bar的Vol加到SumVolume中,当SumVolume大于等于100000时,退出循环。
在使用While循环的时候,有可能会遇到循环一直执行,永远不能退出的情况,这种情况我们称之为死循环,比如下面的语句;
  1. While (True)
  2. {
  3.     TradeBlazer公式语句;
  4. }
复制代码


在这种情况下,循环将一直执行,导致程序不能继续工作,在这种情况,我们可以使用Break来跳出循环,详细情况参加下节。






外汇智能交易,成就财富梦想!
回复

使用道具 举报

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

本版积分规则


MT4编程培训|EA定制开发|QQ在线咨询|路路发智能交易研发中心

GMT+8, 2025-1-5 07:48 , Processed in 0.150383 second(s), 27 queries .

© 2009-2022 520EA.com EA668.com

快速回复 返回顶部 返回列表