零基本学MQL4编程
mql4编程 水平支撑阻力

mql4编程水平支撑阻力水平支撑和阻力是重要的技术分析概念,用于识别价格走势反转的关键级别。
在MQL4编程中,可以使用一些方法来识别并绘制水平支撑和阻力级别。
以下是一种常用的方法:1. 寻找价格水平:在价格图表上寻找明显的高点和低点,这些点可以是峰值或谷底。
2. 绘制水平线:一旦找到高点和低点,就需要使用MQL4编程语言中的对象函数来绘制水平线。
可以使用 `ObjectCreate()` 函数来创建一个水平线对象,并使用 `ObjectSet()` 函数来设置对象的位置和其他属性。
示例代码:```mql4// 寻找高点和低点double highPoint = High[Highest(NULL, 0, MODE_HIGH, 10, 0)]; double lowPoint = Low[Lowest(NULL, 0, MODE_LOW, 10, 0)];// 绘制水平线ObjectCreate(0, "Support", OBJ_HLINE, 0, lowPoint); ObjectSet("Support", OBJPROP_COLOR, clrBlue);ObjectSet("Support", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Support", OBJPROP_WIDTH, 1);ObjectCreate(0, "Resistance", OBJ_HLINE, 0, highPoint); ObjectSet("Resistance", OBJPROP_COLOR, clrRed); ObjectSet("Resistance", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Resistance", OBJPROP_WIDTH, 1);```上述代码中,我们先找到了最近的高点和低点,并使用`ObjectCreate()` 函数创建了两条水平线对象,分别表示支撑和阻力级别。
MT4编程语言MQL4入门(全接触)

MT4编程语言全接触语法[Syntax]代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。
注释多行注释使用/* 作为开始到*/ 结束,在这之间不能够嵌套。
单行注释使用// 作为开始到新的一行结束,可以被嵌套到多行注释之中。
示例:// 单行注释/* 多行注释// 嵌套的单行注释注释结束*/标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节你可以使用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)还有下划线(_)。
此外首字母不可以是数字,标识符不能和保留字冲突.示例:// NAME1 namel Total_5 Paper保留字下面列出的是固定的保留字。
不能使用以下任何保留字进行命名。
数据类型存储类型操作符其它bool extern break falsecolor static case truedatetime continuedouble defaultint elsestring forvoid ifreturnswitchwhile数据类型[Data types]数据类型概述主要数据类型有:∙Integer (int)∙Boolean (bool)∙ëèòåðàëû (char)∙String (string)∙Floating-point number (double)∙Color (color)∙Datetime (datetime)我们用Integer类型数据来作为DateTime和Color数据的存储。
使用以下方式可以进行类型站换:int (bool,color,datetime);double;string;Integer 类型十进制: 数字0-9;0不能作为第一个字母示例:12, 111, -956 1007十六进制: 数字0-9;拉丁字母a-f或A-F用来表示10-15;使用0x或者0X作为开始。
MT4编程语言MQL4入门(全接触)

MT4编程语言全接触语法[Syntax]代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。
注释多行注释使用/* 作为开始到*/ 结束,在这之间不能够嵌套。
单行注释使用// 作为开始到新的一行结束,可以被嵌套到多行注释之中。
示例:// 单行注释/* 多行注释// 嵌套的单行注释注释结束*/标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节你可以使用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)还有下划线(_)。
此外首字母不可以是数字,标识符不能和保留字冲突.示例:// NAME1 namel Total_5 Paper保留字下面列出的是固定的保留字。
不能使用以下任何保留字进行命名。
数据类型存储类型操作符其它bool extern break falsecolor static case truedatetime continuedouble defaultint elsestring forvoid ifreturnswitchwhile数据类型[Data types]数据类型概述主要数据类型有:∙Integer (int)∙Boolean (bool)∙ëèòåðàëû (char)∙String (string)∙Floating-point number (double)∙Color (color)Datetime (datetime)我们用Integer类型数据来作为DateTime和Color数据的存储。
使用以下方式可以进行类型站换:int (bool,color,datetime);double;string;Integer 类型十进制: 数字0-9;0不能作为第一个字母示例:12, 111, -956 1007十六进制: 数字0-9;拉丁字母a-f或A-F用来表示10-15;使用0x或者0X作为开始。
第03课 MQL4程序设计基础语句语法规则详解(脚本)

第03课MQL4程序设计基础语句语法规则详解(脚本)一、MQL4程序的相关概念MQL4程序:为了得到按照既定的交易策略/方案来自动化交易,可以由MT4外汇软件执行的代码序列。
MQL4程序设计:是给出解决特定交易问题程序的过程,是软件构造活动中的重要组成部分,以MQL4程序设计语言为工具,写出具体代码的一套完整过程。
程序设计过程应当包括分析、设计流程/步骤、编码、测试、排错等不同阶段。
MQL4程序的运行:MT4需要加载代码,双击即可在某图表上运行程序。
需要注意的是,在做历史测试的时候,需要加载高质量的Tick级别历史数据,否则测试质量很低,不具有参考性。
MQL4编程:是编写程序的中文简称,就是让计算机代为解决某个交易问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。
这种人和计算体系之间交流的过程就是编程。
算法:是指对某些交易问题的严格的解释方法,一般的,一个算法拥有以下特点:1)有穷性:算法必须保证在执行有限步骤后结束。
2)可行性:算法是确切可行的,即使在数学中,该算法可行,但若在实际应用中,程序不可以被执行,那么,该算法也是不具有可行性的。
3)确切性:算法的每一个步骤必须具有明确的意义。
4)输入:一个算法必须要有0个或多个输入。
5)输出:一个算法必须要有1个或多个输出。
流程图:使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。
流程图在汇编语言和早期的BASIC语言环境中得到应用。
相关的还有一种PAD图,对PASCAL或C 语言都极适用。
而且算法也可以在流程图中得以体现。
MQL4开发:计算机程序开发是周而复始的,需要经历:编写新代码、测试、分析等,从事这种事业的工作人员叫做程序员。
面向初学者的MQL4语言。自定义指标(第2部分)

面向初学者的MQL4语言。
自定义指标(第2部分)简介这是“面向初学者的MQL4 语言”系列的第五篇文章。
今天我们将学习使用图形对象,这是个非常强大的开发工具,可以大幅拓宽指标的应用范围。
此外,它们可以用于脚本和Expert Advisor。
我们将学习创建对象,更改其参数以及检查错误。
当然,我不可能详细地描述所有对象,那也太多了。
但你会获得让你能够自主学习这些对象的所有必要知识。
本文还包含一个逐步引导你创建复杂信号指标的示例。
于此基础上,你可以创建任意信号指标,为多个指标显示所有周期上的交易信号。
在这里示例中,很多参数都是可调整的,这样就能轻松更改指标的外观。
关于图形对象使用 MetaTrader 4 终端时,你经常会和它们打交道。
图形对象有很多用途。
交易者可以设置支撑位和阻力位、枢轴点、斐波纳契位等。
我们来看一个简单的对象用例:四个图形对象连接到此图表:•两条水平线•一个文本对象•一个对象符号(箭头)今天我们要学习使用MQL4 连接此类对象。
想象一下,有多少手动操作可以通过使用对象实现自动化!举个例子,你曾手动计算过枢轴点、支撑位和阻力位,然后再手动绘制它们吗?好吧,这个工作量并不算多,但如果在MQL4 中自动化这个流程,终端会自动计算并绘制对应的价位。
你要做的就是双击脚本名称,然后坐等结果。
此外,你可以使用图形对象编写非常有用的信号指标。
处理对象的概念在 MQL4 中处理所有图形对象的算法如下:•创建对象•修改其参数(移动、更改颜色、板框等)•删除对象这就是一个特定的“生命周期”。
现在我们来详细说明各个阶段。
创建图形对象要绘制任何图形对象,都会用到通用函数ObjectCreate()。
以下是其原型:bool ObjectCreate(string name, int type, int window, datetime time1, double price1, datetime time2=0,double price2=0, datetime time3=0, double price3=0)如果一切正常,此函数返回true,如果无法创建对象或出现错误,则返回false要找出错误代码,使用函数GetLastError():if(ObjectCreate(/* arguments */)==false){// an error occurred, its code should be recorded into a journalPrint('Error of calling ObjectCreate():',GetLastError());}我们要错误代码做什么?它会帮助你找到错误说明,或可消除错误。
MQL4命令手册(可编辑)

MQL4命令手册MQL4 ReferenceMQL4命令手册(本手册采用 Office2007编写)2010年 2月MetaQuotes Language 4 MQL4 是一种新的内置型程序用来编写交易策略。
这种语言可以创建你自己的智能交易,使自己的交易策略能够完全自动地执行。
而且,MQL4 还能自定义客户指标,脚本和数据库。
内包含了大量可以分析当前及历史报价所必须的函数,以及一些基本的运算和逻辑操作。
并内置了一些基本的指标和操作命令。
MetaEditor 4集合了编写 MQL4 程序代码的各种语句,它能帮助使用者方便地写出规范的代码。
MetaQuotes Language Dictionary 是 MQL4 语言的帮助工具,它包含了我们在使用工程中所有可能用到的函数。
MetaQuotes Language 4 :可以编写不同作用的程序代码■智能交易是一种连接到特定图表的自动交易系统。
它能够根据设置的节点自动启动 ,当它开始运行后,它不会同时去处理另一个新的指令也就是说必须等到当前程序完成。
这种交易系统能够在提醒用户可以交易的同时,将交易定单自动送到交易服务器。
与大多数交易系统一样, 它也能够用历史数据测试交易策略,并在图表上显示出来。
terminal_directory\experts智能交易存储在。
■自定义指标可用来编写新的技术指标,和内置的指标一样,它不能用来进行自动交易,只能作为分析数据的工具。
自定义指标储存在 terminal_directory\experts\indicators。
■脚本是执行单一功能的一段程序,和智能交易不同,脚本不能单独执行,只能被调用。
terminal_dictionary\experts\scripts脚本存储在。
■数据库常被使用的自定义函数的集合。
数据库不能单独运行。
数据库建议存储在 terminal_directory\experts\libraries。
MQL4经典入门第5课

MQL4 经典入门第5课预处理程序预处理程序是一个特殊MQL4的子程序,在程序执行之前预先准备的程序源代码。
预处理程序会尽可能地读取源代码。
代码的结构可能包括MQL4 程序源代码的特殊文件。
对于读取的代码尽可能地按照具体常数分配储存。
预处理程序允许MQL4 程序参量指定。
如果# 标志被使用在程序的第一线, 这条线是预处理程序方针。
预处理程序方向末端以换行字符结尾。
MQL4包括4种预处理程序:A、Constant declaration用#define定义常数可以在程序中指定货币对字串符并且定义货币对名称或货币对常数。
稍候,编辑器会按照相应的字串符名称还原所有显示。
事实上,这些名称可以由任意数组文本替换:此常数识别符符合变量名称的规则值可以是以下任意类型:B、C ontrolling compilation每个MQL4 程序允添加以#property名称特殊的参量来帮助客户端服务。
这是一个内设指标。
示例:在执行模板设定时,编译器将会写入值。
C、Including of files#include命令可以放置到程序的任意部分,但是通常所有文件的源代码被统一放置。
调用格式;示例:对于 WinUser32.mqh.文件内容预处理程序还原线。
三角括号表示WinUser32.mqh文件将会从默认目录调用(通常默认目录terminal_directory\experts\include)。
不需要搜索当前目录。
如果载开盘价栏内文件名称未锁,搜索将在当前目录中执行(加载的源代码主文件)。
不需要搜索标准目录。
D、Importing of functions函数从MQL4 编译模板 (*.ex4 文件) 和执行系统文件模板(*.dll文件)通过。
模板名称被指定在#import指令中。
来自输入函数和通过参量的兵役数据需要带有完整的描述部分。
函数描述会立即按照#import "模板"名称执行。
新的#import命令完成引入输入函数描述部分。
【MQL4】MQ语言简单说明与教程

【MQL4】MQ语言简单说明与教程MQL II语言包括大量的用于控制现在和过去的报价、主要算法、逻辑运算的变量,并在建立主要指示器以及指示开立和控制头寸方面起关键作用。
这种语言是同TRADERSTION技术公司开发的EASY语言是相类似的,但它有一些特殊功能。
程序代码是由METAEDITOR文字编辑器编写的,它能将MQL II 不同部分设定为不同颜色,因而,可帮助用户以// 标记(双斜线)开始通过专家系统文本注释。
注释也可以用斜线星号星号斜线(/*(注释)*/,即如C语言一样)来标记。
编辑器是固定以灰色显示注释。
为了建立和控制投资交易战略,客户必须有一有关记录信号产生、变动的进行交易的结果的信息的日志文件。
人工智能系统的日志是在环球银行客户目录中的/logs/YYYYMMDD.log 文件下。
当前日志可直接访问下级终端窗口。
若要访问MQL II 语言的目录系统,就需要打开METAQOUTES语言窗口或者按下字典按钮或从工具菜单中查找,这使得用户能获取每一用该语言的信息的详细数据。
1.主要语言结构同其它语言一样,MQL II有一套主要的元素来构建他的主要结构。
这些元素应以特殊的方式组合与安排,用以表示特定的语句和公式。
语言的主要对象是数据,即三种类型的数据:数值型、逻辑型、字符型。
所有的数值型都用双重格式,逻辑型数据为真或假,字符串是用省略号标记的一串字符。
字符串又名为文本串。
数据可包括不同类型的变量,也可直接表示为源程序正本。
每一个METAQUOTES语句都是一完整结构,可以包含固定词、操作指令、数据、变量、表达式、标点符号,通常是以分号结束。
固定语句是指预先确定的具有特殊和具体意义的词汇。
操作指令是指定特定数据、变量、表达式操作的符号。
变量通常包含数值、字符、逻辑型数据。
表达式是指固定语句、变量、操作指令、数据的联合体,是语言中三种类型数据即数值型、字符型、逻辑型数据综合运用的结果。
标点符号是用来描述表达式、定义参量、划分句子以及数列再排序的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
零基础学MQL4编程特别说明:本文中主要内容来源于英文版MQL4 Reference 摘译,本人在MQL4 Reference 基础上进行了摘译、整理,加入了部分通俗的文字说明和简明易懂的图片示例等,目的是更易于初学者上手。
如有侵权,请及时联系本人删除。
第一部分初识MQL4一、MQL4概述MetaQuotes Language 4(MQL4)是用于编程交易策略和或自定义指标等的内置语言。
该语言由MetaQuotes Software Corp根据其在创建在线交易平台方面的长期经验开发。
使用这种语言,您可以创建自己的智能交易系统,使交易管理自动化。
这非常适合实施您自己的交易策略。
此外,使用MQL4,您可以创建自己的技术指标(自定义指标),脚本和库。
MetaQuotes Language 4(MQL4)是面向对象的高级编程语言,用于编写自动交易策略,用于分析各种金融市场的自定义技术指标。
它不仅可以编写各种设计用于实时操作的专家系统,还可以创建自己的图形工具来帮助您做出交易决策。
MQL4基于流行编程语言C ++的概念。
该语言具有枚举,结构,类和事件处理。
通过增加嵌入式主类型的数量,MQL4中的可执行程序与其他应用程序之间通过dll的交互现在变得越来越简单。
MQL4语法类似于C ++的语法,可直接对C/C++语言的程序进行编译。
MQL4包含了分析当前和以前收到的报价所需的大量函数,并且具有用于管理交易订单并对其进行控制的内置基本指标和函数。
MetaEditor(文本编辑器)突出显示不同的MQL4语言结构,用于编写程序代码。
它可以帮助用户很容易地在专家系统(也叫智能交易系统)文本中定位自己。
简要指南包含函数、操作、保留字和其他语言结构,并将其分为不同的类别。
MetaQuotes Language 4可以编写具有不同功能和用途的程序:(一)、智能交易系统(EA) 这是连接到某个图表的机械交易系统。
当启动交易系统后,EA开始运行,处理以下事件:初始化事件和取消初始化事件,新的订单接收发送事件,计时器事件,市场变化事件深度,图表事件和自定义事件。
EA交易者可以通知您有关交易的可能性,并自动将订单直接发送至交易服务器的账户进行交易。
智能交易系统存储在terminal_directory \ MQL4 \ Experts中。
(二)、自定义指标除了已经集成到客户终端的技术指标之外,还有独立编写的技术指标。
像内置指标一样,它们不能自动交易,仅用于实施分析功能。
自定义指标存储在terminal_directory \ MQL4 \ Indicators中。
(三)、脚本这是一个旨在执行某些操作的程序。
与EA不同,脚本不处理任何操作,但start 事件除外(这需要脚本中的OnStart处理函数)。
脚本存储在terminal_directory \ MQL4 \ Scripts中。
(四)、库这是一组用于存储和分发常用程序块的自定义函数。
库不能自行开始执行。
库存储在terminal_directory \ MQL4 \ Libraries中。
(五)、包含文件这是最常用的自定义程序块的源文本。
在编译阶段,这些文件可以包含在Expert Advisor的源文本,脚本,自定义指标和库中。
使用包含文件比使用库更可取,因为在调用库函数时会发生额外的负担。
包含文件可以存储在与源文件相同的目录中- 在这种情况下,使用带双引号""的#include指令,如:#include "MyEA.mqh"。
另一个存储包含文件的地方是terminal_directory \ MQL4 \ Include,在这种情况下#include指令与尖括号<>一起使用,如:#include <MyEA.mqh>。
综上所述,MQL4可以编写上述五种程序。
这些程序都是运行在MT4上的,但各自的功能不同,如EA用于自动交易,可实现自定策略;自定指标用于实施分析,等等。
MQL4语言是在MQ语言编辑器上使用的,使用时须启动MQ语言编辑器。
二、MQ语言编辑器界面简述(一)、启动MQ语言编辑器有三种启动方式:一是定位到MT4安装目录,双击metaeditor.exe,或直接在桌面双击它(若桌面已经有该图标)。
如下图1-1所示:图1-1二是在MT4界面,在菜单栏点击“工具”、再点“MQ语言编辑器”。
或直接按F4。
如下图1-2:图1-2三是在MT4导航栏选择一个EA或指标后右键——“修改”,即打开了MQ语言编辑器。
图1-3示。
图1-3打开后的MQ语言编辑器如下图1-4:图1-4 (二)、MQ语言编辑器简介图1-51、标题栏:如图1-5,标题栏显示当前处于激活状态的程序名称。
2、菜单栏:共有8个菜单,分别是:文件、编辑……帮助等。
“文件”菜单下有“新建”、“打开”、“保存”等选项。
作用与WORD类似,这里不再详述。
3、工具栏:是菜单栏的便捷化按钮。
简要介绍见图1-5示。
点击“新建”按钮后,即新建一个应用程序。
点击“编写”按钮,即对当前程序进行编译。
注:编译即将当前的.mq4文件编译为.ex4文件,简单说,MT4应用程序上只认可或者说只能运行.ex4后缀格式的文件,通过MQ语言编辑器编写的文件是后缀名为.mq4格式的文件,当程序编写完毕后,必须点击“编写”按钮或按F7进行文件编译,程序在MT4上才能正常运行。
点击“调试”按钮,则程序直接跳转到MT4界面,进行进入指定图表的调试状态显示。
其它按钮请各自尝试。
4、导航区域:菜单栏点击“查看”下拉中的“导航”,显示或隐藏导航区域。
导航区域显示相关文件的存放路径。
如:Experts文件夹存放的是EA(智能交易系统或叫专家顾问)的存放路径。
5、工具箱显示在下方,当程序编写完毕,点击“编写”或F7后,工具箱显示编译情况和结果。
图示中即为编译通过,程序可以在MT4中调用了。
6、主界面区域即为程序代码编辑区。
交易系统策略、指标、脚本、包含文件等均在此区域用代码实现。
三、新建第一个EA程序My_OneEA1、启动MQ语言编辑器。
2、在“文件”菜单下,点击“新建”,弹出MQL向导文件对话框。
如下图1-6。
图1-6选中EA交易(模板)单选按钮,即为创建EA交易系统。
若选中自定义指标单选按钮,则创建自定义指标。
这里选择EA交易(模板)点击下一步。
3、进入EA交易性质设置对话框。
如下图1-7。
图1-7名称栏输入新建EA的名称,本例为My_OneEA。
作者:输入自定名称,本例见图示。
链接:输入自定的网页链接地址,本例为本人微博链接。
参数:即程序中需要用的变量,包括三个要素,名称/类型/初始值。
这个暂时不管,以后根据需要再在程序中创建。
点击下一步。
4、进入EA交易的事件处理程序向导对话框。
如下图1-8。
图1-8这里主要设置是否调用OnTimer()和OnChartEvent()两个事件函数。
需要就勾选,不需要就不选。
当然,若不选,后续若需要,也可以直接在程序中直接输入该事件函数来实现。
点击下一步。
5、进入测试事件处理程序设置对话框。
如图1-9。
图1-9一般不用,直接点完成。
6、至此,我们新建的EA交易系统的框架就创建好了。
详细框架说明如下图1-10和1-11示。
图1-10图1-117、点击“编写”按钮或按下F7,下方工具箱显示0错误0警告,说明编译正常通过,MQ语言编辑器已经将我们创建的程序My_OneEA交易系统正常编译,并生成了.ex4文件(可从安装目录中查看,也可以在MT4上的导航框中查看并双击运行了),见下图1-12。
图1-128、这只是一个空程序,它什么也不做。
因为,我们只是按MQL向导一步步点击生成了程序框架,并没添加任何我们自己的处理代码。
但它已经是一个能正常在图表上运行的EA交易系统了哈^_^^_^9、添加一些简单代码实现简单功能示例:在当前柱(K线)开盘价位置画一条水平线,要求:水平线按以下条件变换显示颜色:如果当前柱收盘价大于前一柱收盘价,显示为红色线;如果当前柱收盘价小于或等于前一柱收盘价,显示为蓝色线。
示例代码见图1-13和图1-14。
图1-13图1-14//如果你有C/C++基础,以下内容可跳过。
代码说明:变量部分:double Oprice=0; //当前柱开盘价double 是变量的类型,即此变量的类型声明为double(双精度类型),为什么要用双精度类型?因为,此变量是用来保存当前柱开盘价,不同交易品种这个价格数据是要保留小数点后几位几位的。
如果用整型(int),则只精确到个位数,则数据将失真或者说将出现不必要的严重错误。
更多类型说明,请参阅MQL4参考(600以上新版MQL4中文参考文档已译,有需要的可联系)。
Oprice 这是变量名,程序人自定的,取名权利完全在你手中,即可以是AAA或B001,等等,只要符合MQL取名规则就行。
(取名规则也在MQL4参考帮助文档中有说)类型与变量名之间须有至少一个空格(英文状态下的空格)。
= 这是赋值符号,意为将=号后面的值赋值给前面的变量。
0 是初始赋值。
;分号是本语句结束标志。
// 双斜线是注释符号,其后面的当前行内容作为程序人说明便于解读程序使用,程序编译时被剔除。
如本语句中的“当前柱开盘价”即为注释内容,编译时无用。
附注:如果你不知道什么是变量,可以参阅MQL参考,通俗说,变量是用来保存程序运行中某些需要修改和变动的一个参数的量的标识符号,从声明开始,程序就按这个标识符给它一定的存储空间(空间大小视类型而定),直到程序用完它后将其销毁并释放该存储空间。
于是,你也许会问,有些变量从程序一启动就要用,直到程序结束,有些变量仅在某些条件下使用,过后就不用了,为了不浪费存储空间资源,该变量什么时候不用了就应该销毁,是的,这就有了全局变量和局部变量之说,后续资料将详细说之。
本语句的意思:声明一个双精度类型变量Oprice,同时将0赋值给这个变量。
以下两句类同,分别保存当前柱收盘价和前一柱收盘价double LasrCprice=0; //当前柱收盘价double CurCprice=0; //前一柱收盘价初始化部分:图1-15第23行其语义第22行已注释说明。
需要补充的是iOpen(...)是MQL预定内置函数,这个函数用于获取指定品种名称、指定周期、指定偏移柱数的开盘价,该函数有3个参数,分别用“,”逗号隔开(英文状态下的逗号),第一个参数为要获取开盘价的品种名称,Symbol()变即内置函数,此函数为无参函数,用于获取当前图表的品种名称的字符串,第二个参数为要获取开盘价的图表时间周期(如H1、D1等),0表示当前图表时间周期,第三个参数为指定偏移柱数,0表示当前柱(即从右向左数第1柱),1表示从右向左数第2柱,依此类推。