MQL经典入门第课.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MQL经典入门第课

MQL4 经典入门 第3课 在MQL4中,正常的流程控制是从上而下一个语句一个语句的执行。 一个语句是一行代码,它让电脑做某些事情。 例如: Print(Hello World); return 0; 语句后面的分号是语法中至关紧要的部分,也是最容易被遗忘的部分。 从上到下的执行方式并不是唯一的途径,它有两个例外:循环和选择。 你希望你写的程序代码能根据情况的改变而做出不同的响应。在这种方式中,控制流程从程序的这一部分跳转到程序的另一部分。 语句引起这样的跳转被叫做控制语句。 这样的控制由循环和选择组成。 循环 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句 。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环语句是由循环体及循环的终止条件两部分组成的。 要使用循环语句时,必须要确定循环体及条件(布尔表达式)两个重要因素,亦即首要考虑的是:我要重复执行哪些语句,我要重复到什么时候为止! MQL4有两种循环:for循环和while循环。 一、for循环 For循环执行代码片段固定的次数。例如: int j; for(j=0; j15; j++) Print(j); For循环由for关键字和跟随其后的圆括号和括号中由分号隔开的三个表达式组成: for(j=0; j15; j++) 三个表达式分别是初始化表达式,测试表达式和增量表达式。 循环的主体是被执行数次的语句: Print(j); 在我们的例子中,循环的主体被执行了15次。 注意:for语句后面没有分号,这是因为for语句和for循环的主体一起才能构成一个程序语句。 初始化表达式: 初始化表达式只在程序开始的时候执行一次,它的目的是给循环变量一个初始值(在我们的例子中是0) 你可以在循环外(之前)声明循环变量,就像我们的的例子里: int j; 或者你也可以在像下面这样在循环里声明变量: for(int j=0;j15;j++) 上面的两行代码是一样的,除了每个变量的范围。(我们将在变量一课中介绍更多的关于变量声明和范围) 第一种声明方式(循环外)使得所有的代码行都可以使用这个变量,第二种声明方式(循环里)只有循环里能使用这个变量。 你可以像下面这样,在for循环里声明多个变量,变量之间用逗号分隔: Fro(int i=0,j=0;i15;j++) print(i); 测试表达式: 测试表达式是使用关系运算符的关系表达式。 它通过评价每一次循环的值来决定循环是继续执行还是停止。如果表达式的结果为真,循环将继续执行;如果表达式的结果为假,那么循环终止。 在我们的例子中,只要I15,循环主体print(i)将一直执行。例子里i的值为:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14。 当到达15,控制语句将跳过循环,执行其后的语句。 增量表达式: 增量表达式把循环变量的值(本例中为i)增加1。 它是循环步骤中的最后一步,在初始化循环变量,测试完测试表达式,执行完循环主体之后。 下面是for循环的流程图: 像初始表达式一样,在fro循环中你也可以使用多个增量表达式,它们之间用逗号分隔。像下面这样: int i; int j; for(i=0,j=0;i15;i++,j++) print(i); 注意:你只能使用一个测试表达式。 另一个需要注意的地方是增量表达式不仅能增加循环变量,还可以减少循环变量。例如: int i; for(i=15;i0;i--) print(i); 上面的例子中,它初始化i的值为15然后开始循环,并每次将其减少1和检查测试表达式(i0)。 程序将给出这些结果:15,14,13,12,11,10,9,8,7,6,5,4,3,2,1。 循环主体中的多个语句: 在前面的例子里,循环主体中都只有一个语句,但并不总是这样。 你可以像下面这样使用大括号({})在循环主体中使用多个语句: For(int i=0;i=15;i++) { Print(i); PlaySound(“alert.wav”); } 不要忘记在每一个语句后面加上分号。 break声明: 当关键字break出现在for循环中时(while循环和switch语句也一样),循环的执行将终止,并且跳过循环,执行其后的语句。 例如: for(int i=0;i15;i++) { if(i==10) break; Print(i); } 上面的例子中,循环将执行到i=10。在那里,break关键字将终止循环。代码将给出这些数值:0,1,2,3,4,5,6,7,8,9 Continue声明: break声明让你跳出循环,continue则让你回到循环的顶部(圆括号内)。 例如: for(int i=0;i15; i++)

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档