mql 查询多结果_MQL入门到精通EA教程第六课MQL语言基础(五)
上一课程介绍了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语言基础(五)相关推荐
- MT4/MQL4入门到精通EA教程第六课-MQL语言常用函数(六)-常用订单功能函数
bool OrderClose() 平仓函数,该函数有5个参数 bool OrderClose( int ticket, // 订单号double lots, // 手数double price, / ...
- MT4/MQL4入门到精通EA教程第七课-MQL语言常用函数(七)-指标取值功能函数
double iMA() 获取MA指标的数据,该函数有7个参数 double iMA( string symbol, // 交易品种int timeframe, // 图表周期int ma_perio ...
- MT4/MQL4入门到精通EA教程第四课-MQL语言常用函数(四)-K线取值常用函数
MQL中有一组"函数",他们长得跟其他函数不一样,是不一样的函数,就是下面这几个功能强大的"函数" Open[].Close[].High[].Low[].Ti ...
- MT4/MQL4入门到精通EA教程第三课-MQL语言常用函数(三)-K线取值常用功能函数
double iOpen(); double iOpen( string symbol, // 交易品种 int timeframe, // 周期 int shift // K线柱 ); iOpen( ...
- MT4/MQL4入门到精通EA教程第八课-MQL语言常用函数(八)-常用时间功能函数
时间功能函数详解 TimeCurrent(); //返回服务器当前时间 TimeDayOfWeek();//返回当前时间星期几 TimeGMT(); //返回GTM时间 TimeGMTOffset() ...
- MT4/MQL4入门到精通EA教程第一课-MQL语言常用函数(一)OrderSend()函数
int OrderSend() 功能用于新开一个订单,它有11个参数.` int OrderSend( string symbol, // 交易品种int cmd, // 买单.卖单类型 double ...
- 视频教程-SQL语句从入门到精通迅速提升篇视频课程(Oracle零基础版)-Oracle
SQL语句从入门到精通迅速提升篇视频课程(Oracle零基础版) 某公司区域交付运营总监,丰富的项目管理经验,带过1个亿级项目,千万级项目10余个. 陈志文 ¥118.00 立即订阅 扫码下载「CSD ...
- grread使用例子 lisp_AutoLISP从入门到精通初级教程(新手必备);
<AutoLISP从入门到精通初级教程(新手必备);>由会员分享,可在线阅读,更多相关<AutoLISP从入门到精通初级教程(新手必备);(36页珍藏版)>请在人人文库网上搜索 ...
- Java从入门到精通章节练习题——第六章
Java从入门到精通章节练习题--第六章 Exercise 1 简易计算器 Exercise 2 购买电影票 Exercise 3 计算平均分 Exercise 4 厘米与英寸互转 Exercise ...
- 图解AI数学基础:从入门到精通系列教程(要点速查清单·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/83 声明:版权所有,转载请联系平台与作者并注明出处 引言 本系列教程展开讲解AI所需 ...
最新文章
- Java开发面试技巧,如何设计一个优雅的RESTFUL的接口
- python装饰器原理-Python函数装饰器原理与用法详解
- llvm编译linux,在Linux上编译LLVM/Clang 8.0.0等全部源代码
- objective-c 使用NSNumber 将int float long等数据类型加入到数组或字典中
- matlab写字,Matlab实现鼠标写字代码
- python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践
- python语言中print函数的作用_python中如何使用print函数
- C++提高部分_C++类模板成员函数类外实现---C++语言工作笔记092
- 如何让网页中文本框的内容只能读不能写
- MSCRM4.0删除Money类型属性可能引起的问题
- python timedelta_Python使用笔记:时间的运算timedelta
- error: ‘for‘ loop initial declarations are only allowed in C99 mode
- 群晖文件存储服务器os系统,NAS探索 篇二:群晖NAS系统 最简单选择方法
- 2000-2019全中国省、市、县企业注册数据(包含经纬度、注册数目等多指标信息)
- python机器学习——十次交叉验证训练的数据准备算法
- 小学教育怎么选择特别容易写的论文选题?
- python省略号怎么打_打中一次赚一次?手把手教你打新债
- 前台EasyUI哪些事一
- 错误: expected declaration or statement at end of input
- Crazy Defense Heroes 如何冲入 GameFi 前 4?