上一课程介绍了MQL语言基础的各类语句,以及语句的的语法规则。这一节课程重点介绍MQL语言程序设计的数据操作。

任何编程语言程序设计总体上包括两个方面的内容:数据定义和数据操作。数据定义是指程序中的数据描述语句,用来定义一系列数据的类型,完成数据的初始化等;数据操作是指程序中的操作控制语句,用来控制程序的执行过程。一般程序的执行结构包括三种:顺序结构、选择结构和循环结构。

  • 顺序结构程序设计

顺序结构程序是最简单,最基本的程序设计,它由简单的语句组成,程序的执行是按照程序员书写的顺序进行的,没有分支、循环、跳转,且每条语句都将被执行。顺序结构的程序设计是从上到下依次执行的。例:

void OnStart()  {   char a='h';   string s="hello";   Print(a);   Print(s);  }

在MetaEditor中新建一个脚本程序执行以上代码,运行结果为:

104

hello

该程序在运行过程中,按照语句的顺序依次执行,先输出104,'h'的ASCII值,然后输出hello

  • 选择结构程序设计

顺序结构程序是顺序执行的,无分支、无转移、无循环,因此很难处理复杂的问题,而在数据处理过程中,通常需要根据不同的条件进行判断,然后选择程序进行处理,选择程序设计就是为了解决这类问题而设定的。选择程序设计的选择语句包括两种if语句和switch语句。

  • if语句

if语句又称为条件语句,可以实现多路分支。一般格式如下:

if(条件1){    语句1}else if(条件2){    语句2}...else if(条件m){    语句m}else{    语句m+1}

其中,、...表示if语句的条件表达式,用来判断执行哪一语句。在执行if语句时,先对条件表达式求解,根据结果执行语句。一个判断条件的结果只有两种可能:条件成立、条件不成立。即,“真”或者“假”。只要条件表达式的值为“真”,if条件就成立,执行其后面的语句;否则不执行。

常用的if语句格式

1、只有if关键字,没有else。if 语句

例:if(a>b)max=a;

这种if语句执行过程是,条件给出的表达式为真时,执行语句;当给出的表达式为假时,不执行语句,即跳过if语句。

2、if...else配对,两路分支条件语句。格式如下:

if(条件)

{

    语句1

}

else

{

    语句2

}

该形式的功能跟简单的if语句相似,首先判断条件语句,当条件表达式给出的值为真时,执行语句1,否则执行语句2

3、if语句的嵌套

在if语句中出现的执行语句可以是一条语句也可以是复合语句,而在复合语句中是可以再次出现if语句的,这就是if语句的嵌套。格式如下:

if(条件1){    if(条件2){        语句1    }else{        语句2    }}else{    if(条件3){        语句3    }else{        语句4    }}

这种格式最重要的一点就是,注意if跟else的配对关系。else总是跟它前面离他最近的未配对的if语句配对。为了表示清楚,应该适当使用{}来确定配对关系。

  • switch语句

if语句一般用于处理一个或两个分支的选择结构,如果分支较多,就需要使用if的嵌套,但if语句的嵌套层数越多,程序越复杂,可读性就越差。因此,最好使用switch语句,switch语句能同时处理多个分支选择结构。其语法格式为:

switch(表达式){    case 常量1:语句组1    case 常量2:语句组2    ...    case 常量n:语句组n    default:语句组n+1}

switch语句在执行过程中,首先计算表达式的值,当表达式的值与某一个case后面的常量的值相等、相匹配时,就去执行case后面的语句。如果与所有的case中的常量值都不匹配,就执行default(默认)后面的语句。需要注意:switch后面括号内的表达式可以是任何数据类型的;每个case的常量表达式的值必须互不相同;各个case和default的出现次序不影响程序的执行结果;在执行switch语句时,根据switch后面的表达式的值找到匹配的case语句,执行完该case语句后,如果没有break语句跳出switch结构,会继续执行下一个case语句,不在进行判断,case常量只起入口标识的作用;switch-case语句中,default总是放在最后,而default也不是必须的,如果没有default语句,当switch后面表达式的值跟所有case常量表达式的值不相等时,则不会执行任何一个分支,直接退出switch语句。在switch-case语句中,多个case可以共用一条执行语句。

这节主要讲解结构化程序设计中的顺序结构、选择结构语句。顺序结构是最简单,最基本的程序设计,它由简单的语句组成,程序的执行是按照程序员的书写顺序进行执行的。选择结构语句,则通过不同条件进行判断,然后选择程序进行执行。

心灵鸡汤:与其悲叹自己的命运,不如相信自己的力量

下节课程继续努力。

工欲善其事必先利其器,交易最重要的是遵守规则,严格执行。关注公众号,学习MQL入门到精通EA教程,畅写属于你自己的EA,锻造属于自己的神兵利器。

mql 查询多结果_MQL入门到精通EA教程第六课MQL语言基础(五)相关推荐

  1. MT4/MQL4入门到精通EA教程第六课-MQL语言常用函数(六)-常用订单功能函数

    bool OrderClose() 平仓函数,该函数有5个参数 bool OrderClose( int ticket, // 订单号double lots, // 手数double price, / ...

  2. MT4/MQL4入门到精通EA教程第七课-MQL语言常用函数(七)-指标取值功能函数

    double iMA() 获取MA指标的数据,该函数有7个参数 double iMA( string symbol, // 交易品种int timeframe, // 图表周期int ma_perio ...

  3. MT4/MQL4入门到精通EA教程第四课-MQL语言常用函数(四)-K线取值常用函数

    MQL中有一组"函数",他们长得跟其他函数不一样,是不一样的函数,就是下面这几个功能强大的"函数" Open[].Close[].High[].Low[].Ti ...

  4. MT4/MQL4入门到精通EA教程第三课-MQL语言常用函数(三)-K线取值常用功能函数

    double iOpen(); double iOpen( string symbol, // 交易品种 int timeframe, // 周期 int shift // K线柱 ); iOpen( ...

  5. MT4/MQL4入门到精通EA教程第八课-MQL语言常用函数(八)-常用时间功能函数

    时间功能函数详解 TimeCurrent(); //返回服务器当前时间 TimeDayOfWeek();//返回当前时间星期几 TimeGMT(); //返回GTM时间 TimeGMTOffset() ...

  6. MT4/MQL4入门到精通EA教程第一课-MQL语言常用函数(一)OrderSend()函数

    int OrderSend() 功能用于新开一个订单,它有11个参数.` int OrderSend( string symbol, // 交易品种int cmd, // 买单.卖单类型 double ...

  7. 视频教程-SQL语句从入门到精通迅速提升篇视频课程(Oracle零基础版)-Oracle

    SQL语句从入门到精通迅速提升篇视频课程(Oracle零基础版) 某公司区域交付运营总监,丰富的项目管理经验,带过1个亿级项目,千万级项目10余个. 陈志文 ¥118.00 立即订阅 扫码下载「CSD ...

  8. grread使用例子 lisp_AutoLISP从入门到精通初级教程(新手必备);

    <AutoLISP从入门到精通初级教程(新手必备);>由会员分享,可在线阅读,更多相关<AutoLISP从入门到精通初级教程(新手必备);(36页珍藏版)>请在人人文库网上搜索 ...

  9. Java从入门到精通章节练习题——第六章

    Java从入门到精通章节练习题--第六章 Exercise 1 简易计算器 Exercise 2 购买电影票 Exercise 3 计算平均分 Exercise 4 厘米与英寸互转 Exercise ...

  10. 图解AI数学基础:从入门到精通系列教程(要点速查清单·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/83 声明:版权所有,转载请联系平台与作者并注明出处 引言 本系列教程展开讲解AI所需 ...

最新文章

  1. Java开发面试技巧,如何设计一个优雅的RESTFUL的接口
  2. python装饰器原理-Python函数装饰器原理与用法详解
  3. llvm编译linux,在Linux上编译LLVM/Clang 8.0.0等全部源代码
  4. objective-c 使用NSNumber 将int float long等数据类型加入到数组或字典中
  5. matlab写字,Matlab实现鼠标写字代码
  6. python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践
  7. python语言中print函数的作用_python中如何使用print函数
  8. C++提高部分_C++类模板成员函数类外实现---C++语言工作笔记092
  9. 如何让网页中文本框的内容只能读不能写
  10. MSCRM4.0删除Money类型属性可能引起的问题
  11. python timedelta_Python使用笔记:时间的运算timedelta
  12. error: ‘for‘ loop initial declarations are only allowed in C99 mode
  13. 群晖文件存储服务器os系统,NAS探索 篇二:群晖NAS系统 最简单选择方法
  14. 2000-2019全中国省、市、县企业注册数据(包含经纬度、注册数目等多指标信息)
  15. python机器学习——十次交叉验证训练的数据准备算法
  16. 小学教育怎么选择特别容易写的论文选题?
  17. python省略号怎么打_打中一次赚一次?手把手教你打新债
  18. 前台EasyUI哪些事一
  19. 错误: expected declaration or statement at end of input
  20. Crazy Defense Heroes 如何冲入 GameFi 前 4?

热门文章

  1. 模拟猜数(POJ2328)
  2. ExtJS 在grid中想要取消checkbox选中的方法
  3. C#获取程序运行时间
  4. 数据结构串的基本操作及KMP算法
  5. 高分四号(GF4)——预处理(辐射定标、大气校正、正射校正、图像配准)
  6. Echarts常用配置参数
  7. KMP算法 学习笔记
  8. 彻底安装oracle数据库,安装 Oracle 数据库软件
  9. CXF +ws-security 和HttpURLConnection实现webservic请求
  10. 工作 5 年,为什么我却越混越差?