4.MQL4基础分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这一章主要讲述 MQL4 编程语言基本的规则: 一些基本概念 描述“tick”(最小波动值)之类的术语,运算的“控制”,程序中的“注 释”。 在金融市场上交易的重心是价格的变化,所以 tick 作为重要事件支撑着 MQL4 程序的运行。新 tick 到达时该做什么?采取什么样的行动?tick 是通往前线的触发条件。不要忘了为你的代码添加注释。 常量和变量 引入常量和变量两个名词,解释两者的不同点。 常量,象它的名字暗示的那样,是恒久不变的,一次设置随时使用。而变量,是代码中可以修改其内容的对象。写程序而又不用常量和(或)变量根本办不到。 数据类型 数据的特定类型被用在任何编程语言中。 一个变量的类型是选择它的使用目的。我们怎样声明一个变量?我们怎样对它进行初始化(设定初始值)? 错误地选择变量的类型可能会降低程序的效率,甚至导致错误的结果。 运算符和表达式 运算符操作操作数。 操作符的类型有哪些?类型转换是做什么的?整形操作的特殊用途是什么?为什么记住不同数据类型的优先级很重要?如果不了解某些操作符的特性,你会遇到一些奇怪的问题。 语句 简单与复合语句。 如果需要把一组语句作为一个大的语句块执行,则需要把它们包含在复合语句里,而简单语句则不需要这样做。使用语句的要求和具体的例子讲在下面给出。 函数 代码封装的需求把我们带向函数。为了在程序的不同位置调用函数,需要进行函数声明并提供函数参数。我们会考虑创建自定义函数的过程。下面给出了使用标准函数的例子。 程序类型 脚本、自定义指标和 EA 是 MQL4 程序与金融市场交易相关的所有内容, 为了更好地使用 MT4 客户端,有必要了解每一种程序类型的使用目的。 一些基本概念 ? ? 那么,我们关注的主题是MQL4 的程序编写。 在我们开始详细地介绍编写程序的规则前,有必要先描述一下程序的特性和信息环境相关的基本概念。MT4 客户端是联机工作的,客户端图表随着金融市场的形势变化而不断更新。客户端收到的 tick 便是市场的价格变动信息。 ? Tick 的概念 ? ? Tick 是描述某一时刻货币对价格的事件。 部署在交易中心的服务器会向每个客户端发送tick。视乎当前市况,收到 tick 的间隔长短不一,但每个 tick 都带来了新的报价——货币对的比价。 应用程序可能在客户端上运行一段很长的时间,比如,几天或者几周。不同类型的应用程序有不同的执行机制。比如,智能交易(Expert Advisor)不是一直处于运行状态。智能交易通常在接收到新 tick 时开始运行。由于这个原因,点数不仅仅是报价手段,更是驱动客户端调度的事件。 智能交易运行时间的长短取决于它的程序代码。 通常 EA 会在十分之一或百分之一秒内完成一次信息处理流程。在这段时间内,EA 能完成参数处理,交易决策,为交易者提供辅助信息等任务。完成这些任务后,EA 进入等待模式,直到客户端收到新的 tick。新的 tick 驱动 EA 再次运行,程序再次执行相应的操作然后回到等待模式。下面的段落会详细解释,新 tick 的到来会如何影响程序的操作。 ? 控制权的概念 ? ? 说起程序的执行流程,以及程序如何与客户端交互,我们要用到“控制权”这个名词。 控制权是完成操作的过程,至于完成什么操作由程序算法和客户端特性决定。 控制权可以在程序内部从一行代码传递给另一行代码,也可以程序传递给客户端。 控制权的传递过程类似于让人在会议上发言。客户端和程序相互传递控制权的过程,就像一个发言人结束发言之后,把发言的机会让给另一位发言 人。客户端支配这一过程。它的优先权比程序要高,就像大会主席的优先权比一般与会者高一样。 在程序得到调度之前,客户端监管着控制权。 当收到新的 tick,客户端把控制权交给程序,此时程序的代码开始得以执行。 客户端将控制权交给程序后,继续运行。 程序只有在客户端传递控制权之后才有机会得以执行(就像主席一直掌控着会议的节奏,发言者只能在指定时段发言)。 程序运行结束,要交还控制权给客户端,而不能自己调度自己。 但 是,一旦程序得到了控制权,控制权就是不可剥夺的。也就是说,客户端不能强行拿回控制权,只有用户操作是个例外(比如,用户强制结束程序)。 ?讨论程序的执行和结构时,我们最关心的是控制权如何在程序内部传 递。 图 2 显示了程序获取、释放以及在内部传递控制权的实际情况。图中的圆圈表示一些小的逻辑上独立的程序片段,圆圈之间的箭头显示控制权如何从一段程序传给另一段程序。 ? 图 2 图 2. 程序控制的传递 ? 从客户端获得控制权的程序,开始执行自身算法指定的操作。 程序包含许多行代码,通常它们自顶向下依次执行。程序里面可以写些什么,写的时候又要遵循那些规则,后面的章节将详细说明。 这里想强调的是,程序的每一个独立

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档