MT4编程初级手册
MT4编程初级手册(1):MT4自定义指标的基本操作 打印页面 - 外汇联盟
MT4编程初级手册(1):MT4自定义指标的基本操作2015-01-12 20:52:17MT4自定义指标的存盘目录、指标编缉器与指标调用一、MT4自定义指标存储在C:\Program Files\MetaTrader 4\experts\indicators这个目录中见下图:该目录中主要存储二种类型的文件,一种是后缀为mq4文件,这是MT4自定义指标的源码文件,是一种高级语言源文件,可以人工编写修改,机器不能直接执行,但能在MT4把它编译为ex4可执行文件;另一种就是ex4文件,这是MT4自定义指标的可执行文件,即系统调用需要的文件,由mq4文件编译得到。
mq4文件必须编译为ex4文件才能被MT4执行,但ex4文件是机器码文件,人工不能被修改,只能通过修改mq4文件后重新编译来修改。
另外要说的是,还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题,这是解决此类问题的一个小窍门,大家应当记住。
mq4文件编译为ex4可执行文件有两种方法:1、MT4启动时,自动会把此目录中的mq4文件编译为ex4文件;2、用MQL编辑器打开mq4文件,点一下“编译”按钮,即可生成相应的ex4文件。
二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4源文件或ex4文件可供下载,我们只要把它们保存到C:\ProgramFiles\MetaTrader 4\experts\indicators这个目录中,也就是下面这个目录中,就可以了。
如果下载的是ex4文件,那就可以直接调用,但你不知道作者是如何编写的;如果是mq4文件的话,则需要重启动MT4,让系统自动编译生成ex4可执行文件,这种情况可以看到源代码,就可以知道作者是如何编写的。
如果下载的是rar、zip等类型的压缩文件,还必须下载后将压缩文件中的mq4或ex4的文件解压到此目录才能使用。
三、将源码保存为源码文件在论坛上,我们也可以经常看到一些指标的源码贴在网页上,但没有mq4、ex4等的文件可以下载,这种情况下只需要复制源码,自己粘帖过去就可以了。
mt4编程→简明教程+速成基础
mt4编程→简明教程+速成基础mt4编程→简明教程+速成基础第一篇创建新文件1、打开MetaEditor (如何打开自己想办法)呵呵,如果这个都打不开,拜托下面的也不用看了。
也许你不适合研究这个。
2、选择文件-->新文件打开文件创建页面。
3、选择第二项客户指标然后点下一步。
注:这个页面可以创建6种文件。
我们常用的有《客户指标》,《脚本》,《智能交易系统》三种。
我们先从指标开始。
4、输入名字,作者等等。
(支持中文)暂时不添加参数。
注:这个位置可以添加用户变量以后讲解。
5、下一步我们先建一个主窗口指标所以这个页面什么都不用操作注:这个位置可以添加指标“线”。
以后提及。
6、点击完成。
ok新的指标文件生成了。
但还没有任何有用的代码。
初始化代码齐全。
//+------------------------------------------------------------------+//| MT4指标编辑.mq4 |//| |//+------------------------------------------------------------------+#property link ""#property indicator_chart_window//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init(){//---- indicators//----return(0);}//+------------------------------------------------------------------+//| Custom indicator deinitialization function |//+------------------------------------------------------------------+int deinit(){//----//----return(0);}//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start(){int counted_bars=IndicatorCounted();//----//----return(0);}//+------------------------------------------------------------------+上面的就是刚刚新建的一个指标文件。
MT4智能交易系统(MQ语言)编程手册
点击-j■查看如何添加、启动、测试智能交易系统软件。
智能交易系统软件是一个创新的交易工具,允许客户对自己的交易策略进行设定并进行测试。
还可以创建新的技术指标获取交易系统的逐步解释一反转条一点击MultiBank FX程序员MultiBank FX向那些想要对其交易策略进行自动化,但又不想学习智能交易系统程序语言客户提供程序服务。
欲知详情,请联系,+‘鼍j蠢F智能交易系统软件是用来对交易过程全程自动化,免除交易商连续对市场进行。
许多专业交易商利用多层交易系统,对不同的市场和在不同的环境下进行操作。
通常他们在著名的分析软件包里对交易战略进行编写和测试,比如,MetaStock和TradeStation。
使用Mu…Bank Trader智能交易系统软件,招招领先,你可以把交易系统产生的信号和真实账户联系起来这样连接以便于能追踪和管理你的某个时段的开仓部位,提交的订单和止损单。
什么是智能交易系统?它是一个用特殊的MetaQuotes语言4(MQL 4)编写的自动交易系统(ATS),和特定的图表联系在一起。
智能交易系统不仅能通知交易商交易机会,而且还能自动执行交易账户上的交易,直接发送到交易服务器。
和评多的IT系统一样,智能交易系统系统支持历史数据战略测试,图表上表示的登入/登出点。
而且,智能交易系统的可执行码分别存储于源文件和加密的执行文件中一这种安排保证了交易商所使用的逻辑隐藏(如有必要的话),而不会泄密。
编写自己的智能交易系统软件也非常容易:尝试一下吧!不需要是专业编程高手,你只需要学会使用非常简单的语言-MQL 4语言。
即使用户不能自行编写智能交易系统规则,但是他需要熟悉最近的编程技能,不过很可能不需一个小时他便掌握了这些规则并能编写程序。
无数的交易商为MetaStock和TradeStation软件开发了多种多样的交易战略。
其中多数均被翻译成MQL4语言,这就使得用户可以把前期累计的经验并合到里面去。
mt4编程入门共44页文档
MT4编程入门教程MT4编程入门教程目录MT4编程入门1:MT4自定义指标的基本操作MT4编程入门2:指标源码中的常用符号说明MT4编程入门3:自定义变量MT4编程入门4:自定义函数MT4编程入门5:自定义数组MT4编程入门6:市场数据取值MT4编程入门7:判断语句MT4编程入门8:循环MT4编程入门9:MT4自定义指标的结构MT4编程入门10:画一条指标线MT4编程入门11:MT4的报警Fxsol环亚汇市、Alpari艾福瑞客户每标准手返5~6美金。
详询QQMT4编程入门1:MT4自定义指标的基本操作MT4自定义指标的保存目录、指标编缉器与指标调用一、MT4自定义指标保存在C:\Program Files\MetaTrader 4\experts\indicators 这个目录中,该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,但能在MT4启动时自动编译为ex4可执行文件。
另一种就是ex4文件,这是MT4自定义指标的可执行文件,由mq4文件编译得到。
mq4文件必须编译为ex4文件才能被MT4执行。
但ex4文件是机器码文件,人工不可修改另外还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题mq4文件编译为ex4可执行文件有两种方法:1、MT4启动时,会自动把此目录中的mq4文件编译为ex4文件。
2、用MQ语言编辑器打开mq4文件,点一下“编写”按钮,即可生成ex4文件二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存到C:\Program Files\MetaTrader 4\experts\indicators这个目录,也就是下面这个目录中,就可以了。
如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。
mt4 编程手册
语法[Syntax]数据类型[Data types]运算符和表达式[Operations & Expressions]操作符 [Operators]函数[Function]变量[Variables]预处理程序[Preprocessor]账户信息[Account Information]数组函数[Array Functions]类型转换函数[Conversion Functions]公用函数[Common Functions]自定义指标函数[Custom Indicator Functions]日期时间函数[Date & Time Functions]文件处理函数[File Functions]全局变量函数[Global Variables Functions]数学运算函数[Math & Trig]物体函数[Object Functions]预定义变量 [Pre-defined Variables]字符串函数[String Functions]标准常量 [Standard Constants]技术指标调用[Technical Indicator calls]交易函数[Trading Functions]窗口函数[Window Functions]语法[Syntax]代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。
注释多行注释使用/* 作为开始到*/ 结束,在这之间不能够嵌套。
单行注释使用// 作为开始到新的一行结束,可以被嵌套到多行注释之中。
示例:标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节你可以使用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)还有下划线(_)。
此外首字母不可以是数字,标识符不能和保留字冲突.示例:保留字下面列出的是固定的保留字。
不能使用以下任何保留字进行命名。
MT4编程入门教程
MT4编程入门教程MT4是一种广泛使用的外汇交易平台,它提供了强大的交易功能和高度可定制性。
为了使交易者能够根据自己的需求和策略进行自动化交易,MT4还提供了MQL4编程语言。
本教程将介绍MT4编程的基础知识和入门指南。
第一部分:MQL4简介(200字)MQL4是MetaQuotes Language 4的缩写,是MT4交易平台上使用的编程语言。
它基于C语言,并且具有简单易学的特点。
使用MQL4,交易者可以编写自定义指标、脚本和外汇机器人,并将它们应用于MT4交易平台。
第二部分:MT4编程环境的设置(200字)第三部分:MQL4基本语法(400字)MQL4编程语言具有与C语言类似的语法结构。
以下是MQL4的基本语法要点:1.注释:使用“//”表示单行注释,使用“/**/”表示多行注释。
2. 变量:使用关键字“int”、“double”、“bool”和“string”定义整型、双精度浮点数、布尔和字符串变量。
3. 函数:使用关键字“void”或返回类型定义函数,例如“int”、“double”和“bool”。
函数可以包含参数和返回值。
4. 条件语句:使用关键字“if”、“else if”和“else”定义条件语句。
例如:if (条件)//执行一些代码} else if (条件)//执行一些其他代码} else//执行默认代码}```5. 循环:使用关键字“for”和“while”定义循环语句。
例如:```for (初始化; 条件; 更新)//执行循环代码}```6.数组:使用方括号“[]”定义一维和多维数组。
例如:```int myArray[5]; // 定义一个包含5个元素的整型数组double myArray2D[3][3]; // 定义一个包含3行3列的二维数组第四部分:自定义指标和脚本(200字)在MT4中,使用MQL4编程语言可以创建自定义指标和脚本。
自定义指标是根据特定算法计算的技术指标,用于辅助交易决策。
(完整版)MT4编程入门详解-有图表
目录 MT4编程入门(一):MT4自定义指标的基本操作指标源码中的常用符号说明自定义变量自定义函数 自定义数组市场数据取值 判断语句 循环 MT4自定义指标的结构 MT4编程入门(十):画一条指标线MT4编程入门(^一 ): MT4的报警& indicatorff文件匹 錦矩② 查看② 收障® 工具⑴ 帮助QPQ 后退-保存目录yMT4自定义指标的保存目录、指标编缉器与指标调用一、MT4 自定义指标保存在 C:\Program Files'MetaTrader 4\experts\indicators 这个目录中,该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行, 但能在MT4启动时自动编译为 ex4可执行文件。
另一种就是ex4文件,这是MT4自定义指标的可执行文件,由 mq4文件编译得到。
mq4文件必须编译为 ex4文件才能被 MT4执行。
但ex4文件是机器码文件,人工不可修改另外还有一个文件是 mqlcache.dat ,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题 mq4文件编译为ex4可执行文件有两种方法:1、MT4启动时,会自动把此目录中的 mq4文件编译为ex4文件。
MT4编程入门 (一) : MT4自定义指标的基本操作MT4编程入门(二) MT4编程入门(三) MT4编程入门(四) MT4编程入门(五)MT4编程入门(六) MT4编程入门(七)A.c mnrul at i. on . nt q 可执行不可编牡 m uAwe some. ex4 地扯 文件和文件妄丰其它僅置 口 晒 PMtEQ 我的文裆口共拿文裆J 毯的电脑•J 冏上郭居 口旬健一伞新U 将遠个文件7并拿此文f 宅 I^C : \Frogr am F iles^Metalrader 4\exptrts\indi cators源码文件 可执行文件 frnii ■■■ I mu | :Ac curaul all on. ex4 :2、用MQ 语言编辑器打开 mq4文件,点一下“编写”按钮,即可生成ex4文件 、下载保存mq4文件、ex4文件在论坛上我们经常看到有 mq4文件、ex4文件可供下载,我们只要把它们保存到C:\Program Files'MetaTrader 4\experts\indicators 这个目录,也就是下面这个目录中,就可以了。
MT4编程初级手册
M T4编程初级手册(总10页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除MT4编程初级手册(2):指标源码中常用符号的说明一、注释符:行注释:单行的注释使用“声明(创建)数组的同时,可以赋初始值,也可以不赋初始值。
例:int aa[]; 创建数组aa,不指定数据元素的个数;int bb[10]; 创建数组bb,设定数据元素为10个,不赋给这些数据元素初始值;int cc[3]={3,4,5}; 创建数组cc,设定数组元素为2个,并赋给初始值;赋值后,cc[0]的值为3、cc[1]的值为4、cc[2]的值为5;int dd[7]={5,6,7}; 创建数组dd,设定数组元素为7个,但只给前3个元素赋初始值。
三、数组使用时的赋值数组的赋值必须指定明确的将要赋值对象的索引,除新建数组时可以批量赋值以外,数组元素必须一个一个地赋值。
例如:cc[1]=5;这个是对数组cc的第2个元素cc[1]([0]是第1个,[1]表示第2个)重新赋值为5。
在这里,不需要整数型变量定义符int,这样,数组cc原有三个值{3,4,5}就变为{3,5,5}四、数组的引用数组是一系列相同类型的变量的集合,所以每次只能使用数组中的一个元素。
数组的引用必须指定明确的引用对象索引值,一次只能引用一个。
如果需要使用整列数组,则必须逐个使用。
在程序中经常使用循环与数组相互配合来完成相应的功能。
例如:数组arrai[5]的值为{5,4,3,2,1}我们用数组名称arrai加索引值来引用数组arrai中的值:当i=0时,aa[i]的值为5;当i=1时,aa[i]的值为4;当i=2时,aa[i]的值为3;当i=3时,aa[i]的值为2;当i=4时,aa[i]的值为1;MT4编程初级手册(6):市场数据取值一、预定义数组(MT4已经预先定义好了的,可直接调用)开盘价、最高价、最低价、收盘价、成交量等市场历史数据,每根K线实体都各自有一个,所以必须使用数组来调用,MT4有几个预定义数组,预定义的意思就是这些数据都是被准备好了的,EA的开发者可以直接使用:预定义数组:开盘价Open[]、最高价High[]、最低价Low[]、收盘价close[]、成交量Volume[]、K线所属时间Time[]类型为双精度浮点double型(即精确小数)这里有一个引用顺序或位置的问题,从右边起第一根K线实体(即最新的K线)的索引为0,第二根K线索引1,第三根K线索引3,以此类推,也就是说从右向左倒着数过去,最近的数值小,而越远的数值越大。
MT4编程入门详解
目录MT4编程入门(一):MT4自定义指标的基本操作MT4编程入门(二):指标源码中的常用符号说明MT4编程入门(三):自定义变量MT4编程入门(四):自定义函数MT4编程入门(五):自定义数组MT4编程入门(六):市场数据取值MT4编程入门(七):判断语句MT4编程入门(八):循环MT4编程入门(九):MT4自定义指标的结构MT4编程入门(十):画一条指标线MT4编程入门(十一):MT4的报警MT4编程入门(一):MT4自定义指标的基本操作MT4自定义指标的保存目录、指标编缉器与指标调用一、MT4自定义指标保存在C:\Program Files\MetaTrader 4\experts\indicators这个目录中,该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,但能在MT4启动时自动编译为ex4可执行文件。
另一种就是ex4文件,这是MT4自定义指标的可执行文件,由mq4文件编译得到。
mq4文件必须编译为ex4文件才能被MT4执行。
但ex4文件是机器码文件,人工不可修改另外还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题mq4文件编译为ex4可执行文件有两种方法:2、用MQ语言编辑器打开mq4文件,点一下“编写”按钮,即可生成ex4文件二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存到C:\Program Files\MetaTrader 4\experts\indicators这个目录,也就是下面这个目录中,就可以了。
如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。
如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。
MT4编程参考手册
MQL4 Reference(MQL4 参考)12 1、Basics(基本原则) 121-1、Syntax(语法)12 1-1-1、Comments(注释)13 1-1-2、Identifiers (标示符)13 1-1-3、Reserved words(保留字)131-2、Data types (数据类型)14 1-2-1、Type casting(类型扔)14 1-2-2、Integer constants(整数)14 1-2-3、Literal constants (文字)15 1-2-4、Boolean constants (布尔)15 1-2-5、Floating-point number constants (double) (浮点number)15 1-2-6、String constants(排成) 16 1-2-7、Color constants (颜色)16 1-2-8、Datetime constants(注明日期)161-3、Operations & Expressions (操作&表达)17 1-3-1、Expressions(表达式)17 1-3-2、Arithmetical operations (算术操作符)17 1-3-3、Assignment operation (分配操作符)18 1-3-4、Operations of relation (关系操作符)18 1-3-5、Boolean operations (布尔操作符)18 1-3-6、Bitwise operations ()19 1-3-7、Other operations (其他操作)19 1-3-8、Precedence rules(优先规则)201-4、Operators (操作员)21 1-4-1、Compound operator(复合操作)21 1-4-2、Expression operator (表达式操作)21 1-4-3、Break operator (打破操作)22 1-4-4、Continue operator (继续操作)22 1-4-5、Return operator (返回操作)22 1-4-6、Conditional operator if-else (条件操作如果--否则)23 1-4-7、Switch operator (开关操作)24 1-4-8、Cycle operator while (周期操作当时)24 1-4-9、Cycle operator for(周期操作对于)251-5、Functions (函数)25 1-5-1、Function call (函数之间的联系)26 1-5-2、Special functions(特殊函数)271-6、Variables (变量)27双精度数字- 带有浮点双精度数字。
mt4编程手册
语法[Syntax]数据类型[Data types]运算符和表达式[Operations & Expressions]操作符 [Operators]函数[Function]变量[Variables]预处理程序[Preprocessor]账户信息[Account Information]数组函数[Array Functions]类型转换函数[Conversion Functions]公用函数[Common Functions]自定义指标函数[Custom Indicator Functions]日期时间函数[Date & Time Functions]文件处理函数[File Functions]全局变量函数[Global Variables Functions]数学运算函数[Math & Trig]物体函数[Object Functions]预定义变量 [Pre-defined Variables]字符串函数[String Functions]标准常量 [Standard Constants]技术指标调用[Technical Indicator calls]交易函数[Trading Functions]窗口函数[Window Functions]语法[Syntax]代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。
注释多行注释使用/* 作为开始到*/ 结束,在这之间不能够嵌套。
单行注释使用// 作为开始到新的一行结束,可以被嵌套到多行注释之中。
示例:标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节你可以使用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)还有下划线(_)。
此外首字母不可以是数字,标识符不能和保留字冲突.示例:保留字下面列出的是固定的保留字。
不能使用以下任何保留字进行命名。
MT4编程入门教材:MT4编程入门全集
MT4编程入门教材:MT4编程入门全集
简介:
这份教材将为初学者提供MT4编程的入门指南。
本教材包含800字以上的内容,涵盖了MT4编程的基本概念和技巧。
通过研究本教材,读者将能够快速入门并开始编写自己的MT4程序。
目录:
1. 第一章:介绍MT4编程
1.1 了解MT4编程的意义
1.2 MT4编程的基本要求
1.3 MT4编程环境的搭建
2. 第二章:MT4编程基础
2.1 MQL4语言简介
2.2 MQL4语法和语句
2.3 MT4指标(indicator)的编写
2.4 MT4脚本(script)的编写
2.5 MT4专家顾问(Expert Advisor)的编写
3. 第三章:MT4高级编程技巧
3.1 MT4自定义指标的编写
3.2 MT4外部数据源的连接
3.3 MT4交易系统的编写
3.4 MT4模拟交易和回测
3.5 MT4优化和参数调整
4. 第四章:常见问题解答和实例分析
4.1 常见问题解答
4.2 实例分析和案例展示
研究目标:
通过完成本教材,读者将能够:
- 了解MT4编程的基本概念和意义
- 掌握MQL4语言的基本语法和语句
- 能够独立编写MT4指标、脚本和专家顾问- 能够编写自定义指标和连接外部数据源
- 能够开发和优化MT4交易系统
- 能够解答常见问题并分析实例案例
注意事项:
- 本教材适合初学者,不需要有编程经验也能够研究。
- 教材中的语言简洁明了,避免涉及复杂的法律问题和引用不可确认的内容。
MT4精讲:MT4编程入门全集1-11
MT4编程入门1:MT4自定义指标的基本操作MT4自定义指标的保存目录、指标编缉器与指标调用一、MT4自定义指标保存在C:\Program Files\MetaTrader4\experts\indicators这个目录中,该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,但能在MT4启动时自动编译为ex4可执行文件。
另一种就是ex4文件,这是MT4自定义指标的可执行文件,由mq4文件编译得到。
mq4文件必须编译为ex4文件才能被MT4执行。
但ex4文件是机器码文件,人工不可修改另外还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题mq4文件编译为ex4可执行文件有两种方法:1、MT4启动时,会自动把此目录中的mq4文件编译为ex4文件。
2、用MQ语言编辑器打开mq4文件,点一下“编写”按钮,即可生成ex4文件二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存到C:\Program Files\MetaTrader 4\experts\indicators这个目录,也就是下面这个目录中,就可以了。
如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。
如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。
三、将源码保存为源码文件在论坛上,我们也经常能看到指标源码贴在网页上,但没有mq4、ex4等文件可以下载,只能复制源码。
此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。
1、打开MQ语言编辑器2、在MQ语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。
3、删除新文件里面的所有内容,成为一个空文件,4、接着我们就可以将网页上源码复制粘贴进来试着点一下“编写”,如果左下角出现“0错误,0警告”,那说明源码没问题,编译通过了,成功生成了ex4可执行文件5、还有很重要的一点,就是要把源码文件保存到正确的目录中保存后,再点一下编写。
MT4精讲:MT4编程入门全集1-11,DOC
MT4编程入门1:MT4自定义指标的基本操作MT4自定义指标的保存目录、指标编缉器与指标调用一、MT4自定义指标保存在C:\ProgramFiles\MetaTrader4\experts\indicators这个目录中,但ex4文件是机器码文件,人工不可修改另外还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题mq4文件编译为ex4可执行文件有两种方法:1、MT4启动时,会自动把此目录中的mq4文件编译为ex4文件。
2、用MQ语言编辑器打开mq4文件,点一下“编写”按钮,即可生成ex4文件二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存到C:\ProgramFiles\MetaTrader4\experts\indicators这个目录,也就是下面这个目录中,就可以了。
如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。
如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。
4件5、还有很重要的一点,就是要把源码文件保存到正确的目录中下编写。
到此,源码保存完成。
当然,我们也还有另的办法:可以打开一个原已存在的mq4文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上的源贴到文件中保存即可也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后缀必须输入mq4,保存类型选择“所以文件”四、mt4程序调用自表示一个语句结束三、逗号“,”表示一个语句内部间隔,不结束语句。
四、等于号“=”赋值语句,把等号后面的值赋给等号前的变量中五、加号“+”整数或小数,则表示值相加;字符串,则表示前后连接。
六、加加“++”十、“&&”逻辑符“并且”十一、“||”逻辑符“或者”十二、大括号“{}”表示函数体。
MT4编程入门详解-有图表
MT4编程入门详解-有图表目录MT4编程入门(一):MT4自定义指标的基本操作MT4编程入门(二):指标源码中的常用符号说明MT4编程入门(三):自定义变量MT4编程入门(四):自定义函数MT4编程入门(五):自定义数组MT4编程入门(六):市场数据取值MT4编程入门(七):判断语句MT4编程入门(八):循环MT4编程入门(九):MT4自定义指标的结构MT4编程入门(十):画一条指标线MT4编程入门(十一):MT4的报警MT4编程入门(一):MT4自定义指标的基本操作二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存到C:\Program Files\MetaTrader 4\experts\indicators这个目录,也就是下面这个目录中,就可以了。
如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。
如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。
三、将源码保存为源码文件在论坛上,我们也经常能看到指标源码贴在网页上,但没有mq4、ex4等文件可以下载,只能复制源码。
此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。
1、打开MQ语言编辑器2、在MQ语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。
3、删除新文件里面的所有内容,成为一个空文件,4、接着我们就可以将网页上源码复制粘贴进来试着点一下“编写”,如果左下角出现“0错误,0警告”,那说明源码没问题,编译通过了,成功生成了ex4可执行文件5、还有很重要的一点,就是要把源码文件保存到正确的目录中保存后,再点一下编写。
到此,源码保存完成。
当然,我们也还有另的办法:可以打开一个原已存在的mq4文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上的源贴到文件中保存即可也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后缀必须输入mq4,保存类型选择“所以文件”四、mt4程序调用自定义指标这非常简单MT4编程入门(二):指标源码中的常用符号说明一、注释符:单行注释“//”、多行注释“/* */”程序不执行注释,注释内容仅供阅读或保留不用的语句在MQ语言编辑器中,注释内容以灰色显示二、分号“;”表示一个语句结束三、逗号“,”表示一个语句内部间隔,不结束语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MT4编程初级手册(2):指标源码中常用符号的说明一、注释符:行注释:单行的注释使用“声明(创建)数组的同时,可以赋初始值,也可以不赋初始值。
例:int aa[]; 创建数组aa,不指定数据元素的个数;int bb[10]; 创建数组bb,设定数据元素为10个,不赋给这些数据元素初始值;int cc[3]={3,4,5}; 创建数组cc,设定数组元素为2个,并赋给初始值;赋值后,cc[0]的值为3、cc[1]的值为4、cc[2]的值为5;int dd[7]={5,6,7}; 创建数组dd,设定数组元素为7个,但只给前3个元素赋初始值。
三、数组使用时的赋值数组的赋值必须指定明确的将要赋值对象的索引,除新建数组时可以批量赋值以外,数组元素必须一个一个地赋值。
例如:cc[1]=5;这个是对数组cc的第2个元素cc[1]([0]是第1个,[1]表示第2个)重新赋值为5。
在这里,不需要整数型变量定义符int,这样,数组cc原有三个值{3,4,5}就变为{3,5,5}四、数组的引用数组是一系列相同类型的变量的集合,所以每次只能使用数组中的一个元素。
数组的引用必须指定明确的引用对象索引值,一次只能引用一个。
如果需要使用整列数组,则必须逐个使用。
在程序中经常使用循环与数组相互配合来完成相应的功能。
例如:数组arrai[5]的值为{5,4,3,2,1}我们用数组名称arrai加索引值来引用数组arrai中的值:当i=0时,aa[i]的值为5;当i=1时,aa[i]的值为4;当i=2时,aa[i]的值为3;当i=3时,aa[i]的值为2;当i=4时,aa[i]的值为1;MT4编程初级手册(6):市场数据取值一、预定义数组(MT4已经预先定义好了的,可直接调用)开盘价、最高价、最低价、收盘价、成交量等市场历史数据,每根K线实体都各自有一个,所以必须使用数组来调用,MT4有几个预定义数组,预定义的意思就是这些数据都是被准备好了的,EA的开发者可以直接使用:预定义数组:开盘价Open[]、最高价High[]、最低价Low[]、收盘价close[]、成交量Volume[]、K线所属时间Time[]类型为双精度浮点double型(即精确小数)这里有一个引用顺序或位置的问题,从右边起第一根K线实体(即最新的K线)的索引为0,第二根K线索引1,第三根K线索引3,以此类推,也就是说从右向左倒着数过去,最近的数值小,而越远的数值越大。
Open[0]、High[0]、Low[0]、Close[0],表示最新的开盘价、最高价、最低价、收盘价; Open[1]、High[1]、Low[1]、close[1],表示第2根K线蜡烛的开盘价、最高价、最低价、收盘价(也就是昨天);Open[2]、High[2]、Low[2]、close[2],表示第3根K线蜡烛的开盘价、最高价、最低价、收盘价;Open[3]、High[3]、Low[3]、close[3],表示第4根K线蜡烛的开盘价、最高价、最低价、收盘价;Open、High、Low、close,表示第i+1根K线蜡烛的开盘价、最高价、最低价、收盘价以此类推……说明:这些是数组,用的是方括号来制定索引值。
二、预定义变量买入价、卖出价是行情数据,MT4用预定义变量Ask和Bid表示,数值类型为double双精度浮点类型。
还有一些预定义变量,如:Bars 表示图表中的K线数,类型为int整数型;Digits 表示当前货币对的小数位数,类型为int整数型,无日元币对为4(位),有日元币对为2(位),黄金石油等一般也为2(位);Point 表示当前货币对的点值(相当于最小变动价位),类型为双精度浮点double型,无日元币对为,有日元币对为。
与Digits正好相反。
三、指标函数1、价格、成交量、时间它们都有三个参数:货币对名(相当于品种名)、K线时间框架、位置序号。
开盘价:iOpen(symbol,timeframe,shift) 双精度浮点double型;收盘价:iClose(symbol,timeframe,shift) 双精度浮点double型;最高价:iHigh(symbol,timeframe,shift) 双精度浮点double型;最低价:iLow(symbol,timeframe,shift) 双精度浮点double型;成交量:iVolume(symbol,timeframe,shift) 双精度浮点double型;所属时间:iTime(symbol,timeframe,shift) 日期时间datetime型;K线时间框架为:1分钟图(PERIOD_M1)、5分钟图(PERIOD_M5)、15分钟图(PERIOD_M15)、30分钟图(PERIOD_M30)、1小时图(PERIOD_H1)、4小时图(PERIOD_H4)、日线图(PERIOD_D1)、周线图(PERIOD_W1)、周线图(PERIOD_W1)、月线图(PERIOD_W1)。
例:iOpen("EURUSD",PERIOD_H1,0) 表示欧元兑美元1小时图最新K线实体的开盘价;iClose("USDJPY",PERIOD_H4,2) 表示美元兑日元4小时图第3根K线实体的收盘价;iClose("GBPUSD",PERIOD_H1,i) 表示英磅兑美元1小时图第i+1根K线实体的收盘价; iHigh(NULL,0,0) 既不指定商品,也不指定K线周期,用在谁就是谁,用在哪就是哪;MT4编程初级手册(7):条件判断语句一、if判断语句if判断语句很常用,使用起来也比较简单。
规则:如果小括号中的条件成立则执行大括号中的语句;如果不成立则跳过大括号,执行后面的语句。
例如:if(condition==1){a=b+1;}我们在编写报警指标的时候,就经常要使用到这一语句:如果“价格向上达到指定价位”,则“报警”;如果“MACD指标上穿”,则“报警”;如果“均线指标金叉”,则“报警”。
等等例:int flag=0;if( Low[1]> && Low[0]<= && flag!=1){Alert(symbol(),"价格向下触及!");------flag=1;}if( High[1]< && High[0]>= && flag!=2){Alert(symbol(),"价格向上触及");flag=2;}这是一个价格上、下穿时进行报警的判断语句:上穿报警条件:当第二根K线最高价小于,并且最新K线最高价大等于;下穿报警条件:当第二根K线最低价大于,并且最新K线最低价小等于。
这里,flag是用作报警标记,flag的初始值是0;当上穿报警后,flag的值就变为1;当下穿报警后,flag的值就改为2;当flag=0时,说明从未报过警,上、下穿都能报警;当flag=1时,说明已经上穿报过警了,不能再上穿报警,但仍可下穿报警;当flag=2时,说明已经下穿报过警了,不能再下穿报警,但仍可上穿报警。
二、if ... else语句规则:如果小括号中的条件成立则执行if下大括号中的第一部分语句;如果不成立则执行else下大括号中的第二部分语句。
if(判断条件){第一部分语句;}else{第二部分语句;}三、注意事项1、只有语句后面才用到语句结束符“;”条件、大、小括号后面都不用语句结束符“;”。
2、语句用大括号括起来(大括号的作用为界定语句块),但如果只有一行语句,则大括号可以省略:例如:if(条件) 语句1;MT4编程初级手册(8):循环语句一幅K线图有几千上万条K线(Bar,根据设定的样本数),每根K线Bar又各有开收盘价、收盘价、最高低价等数值,而且还有很多移动平均线、MACD、RSI等技术指标数值。
面对大量的数据,我们经常采用循环来实现数据的取值和赋值。
下面我们简单来介绍一下MT4中主要用到的循环语句。
一、while循环while(判断条件){语句1;语句2;。
;}规则:当小括号中的判断条件成立时,就执行大括号中的语句,执行完毕后再判断条件是否成立,如果条件成立就再继续执行大括号中的语句。
只要条件成立,程序就不停地执行大括号中的语句(循环体),直到小括号中的条件不再成立时结束循环,while循环又叫做“当循环”,意思为当XX条件时执行循环。
它与if语句的区别是:if语句是当条件为真时只运行一次;而while语句则是只要条件为真,循环体语句就不断地运行,直到条件为假时结束循环。
所以为了避免造成死循环,循环体内应当对判断的条件进行修改,如进行数值的累加等。
例:extern int fast=12;extern int slow=26;double buffered[ ];int i=0;while(i<1000){buffered= iMA(NULL,0,fast,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0slow,0,MODE_EMA,PRICE_CLOSE,i);i++;}这里,循环执行条件是i<1000,循环体中有两条语句,一句是把两条均线的差值赋给数组buffer,另一句“i++;”,我们知道“++”是自增运算符,那么每运行一次,i的值在原有基础上增加1。
这样,随着循环的不断地运行,i的值逐渐增加,循环到1000次后,i的值也就从0变为了1000,此时“i<1000”就不再成立,循环结束。
这样,数组buffered[ ]中也就存储了1000个值。
MT4编程初级手册(9):MT4自定义指标的结构MT4自定义指标一般由四个部分所组成:一、文件头部,也称为预处理程序预处理程序以“#”开头,行尾无语句结束符“;”.常用的预处理程序有:1、#property indicator_chart_window把指标显示在主图。
如:均线、SRA等类指标用到此语句.2、#property indicator_separate_window把指标显示在副图。
如:MACD、RSI、威廉等类指标用到此语句.3、#property indicator_buffers 3显示3根指标线.4、#property indicator_color1 Red第1根指标线的颜色为Red.5、#property indicator_width1 1第1根指标线的粗细分别为1.6、#property indicator_level1在值位置横划1条虚线.二、参数、变量和数组的定义全局性的参数、变量、数组在此定义,局部变量可在start()函数中定义.三、初始化函数init()init()在自定义指标加载时运行一次。