MT4智能交易系统(MQ语言)编程手册

合集下载

MT4编程初级手册

MT4编程初级手册

M T4编程初级手册(总10页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--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编程语言MQL4入门(全接触)

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智能交易系统编程语言语法规则

MT4智能交易系统编程语言语法规则
加减 1 的运算符不能被嵌套在表达式中
int a=3; a++; // 可行的表达式 int b=(a++)*3; // 不可行的表达式
赋值运算符 注:将右侧的结果赋值给左侧的变量
将 x 的值赋值给 y y = x; 将 x 的值加到 y 上面 y += x; 在 y 上面减去 x 的值 y -= x; 得到 y 的 x 倍的值 y *= x; 得到 y 除以 x 的值 y /= x; 取 y 除以 x 后的余数 y %= x; y 向右位移 x 位 y >>= x; y 向左位移 x 位 y <<= x; 得到逻辑 AND 的值 y &= x; 得到逻辑 OR 的值 y |= x; 得到逻辑非 OR 的值 y ^= x;
MT4 智能交易系统编程语法规则
• Char (char) • String (string) • Floating-point number (double) • Color (color) • Datetime (datetime)
我们用 Integer 类型数据来作为 DateTime 和 Color 数据的存储。 使用以下方式可以进行类型站换:
第 5 页,共 99 页
外汇智能工具网

外汇智能工具论坛
MT4 智能交易系统编程语法规则
数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true 时,其结果才为 true。
b = x ^ y; 注:位逻辑运算符只作用于 Integers 类型
int (bool,color,datetime); double; string;
Integer 类型 十进制: 数字 0-9;0 不能作为第一个字母 示例:

MT4编程语言MQL4入门(全接触)

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编程语言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到MQL5

MT4智能交易编程教程-从MQL4到MQL5

MT4智能交易编程教程-从MQL4到MQL5MT4智能交易编程教程- 从 MQL4 到 MQL5MQL5是前任MQL4语言的发展,其中编辑进去许多指标,脚本和EA交易。

尽管事实上,新的程序语言最大化的与前一代相匹配,但在这些语言之间,仍有区别,当转换程序时,这些区别应该标注出来。

对于了解MQL4的程序员来说,新的MQL5语言,该章节涵盖了促进代码改编进化的所有信息。

首先应该标明的是:·新语言不包括函数start(), init() 和 deinit();·指标缓冲区数量不限制;·在下载EA程序后(或者其他MQL5程序),dll立即被加载;·检测缩写的逻辑条件;·当数组超过限制时,结束当前操作(紧急的-错误输出);·像C++一样运算符优先;·该语言提供隐式类型(甚至从字符串到数字);·局部变量不能自动初始化(除了字符串);·普通本地数组自动删除。

特殊函数 init, start and deinitMQL4语言只包括3个预定函数可以操作指标,脚本或者EA交易(不包括files *.mqh和数据库文件)。

在MQL5中没有那样的函数,但有与之相类似的函数,图表表明了近似函数。

MQL4MQL5init OnInitstart OnStartdeinit OnDeinit在MQL4中,函数 OnInit 和 OnDeinit 在 init 和 deinit 程序中执行了相同的任务-他们是为本地代码设计的,一定在MQL5程序的初始化过程中执行,可以因此重命名函数,或者以他们本身的形式呈现,但是在类似位置这些函数可以添加调用。

示例:void OnInit(){//--- 调用函数去初始化init();}void OnDeinit(const int reason){//--- 调用无法初始化函数deinit();//---}开始函数只在脚本中被OnStart代替,在EA交易和指标中应该分别重命名成OnTick和OnCalculate。

实用MT4编程教学完整版

实用MT4编程教学完整版

第一篇创建新文件1、打开 MetaEditor (如何打开自己想办法)呵呵,如果这个都打不开,拜托下面的也不用看了。

也许你不适合研究这个。

:lol2、选择文件-->新文件打开文件创建页面。

3、选择第二项客户指标然后点下一步。

注:这个页面可以创建6种文件。

我们常用的有《客户指标》,《脚本》,《智能交易系统》三种。

我们先从指标开始。

4、输入名字,作者等等。

(支持中文)暂时不添加参数。

注:这个位置可以添加用户变量以后讲解。

5、下一步我们先建一个主窗口指标所以这个页面什么都不用操作注:这个位置可以添加指标“线”。

以后提及。

6、点击完成。

ok新的指标文件生成了。

但还没有任何有用的代码。

初始化代码齐全。

呵呵!下一篇继续。

新建文件的样子和各功能区。

1.//+------------------------------------------------------------------+2.//| MT4指标编辑.mq4 |3.//| ldj |4.//| |5.//+------------------------------------------------------------------+6.#property copyright "ldj"7.#property link ""8.9.#property indicator_chart_window10.//+------------------------------------------------------------------+11.//| Custom indicator initialization function |12.//+------------------------------------------------------------------+13.int init()14. {15.//---- indicators16.//----17. return(0);18. }19.//+------------------------------------------------------------------+20.//| Custom indicator deinitialization function |21.//+------------------------------------------------------------------+22.int deinit()23. {24.//----25.26.//----27. return(0);28. }29.//+------------------------------------------------------------------+30.//| Custom indicator iteration function |31.//+------------------------------------------------------------------+32.int start()33. {34. int counted_bars=IndicatorCounted();35.//----36.37.//----38. return(0);39. }40.//+------------------------------------------------------------------+复制代码上面的就是刚刚新建的一个指标文件。

mt4 编程手册

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还提供了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编程语言可以创建自定义指标和脚本。

自定义指标是根据特定算法计算的技术指标,用于辅助交易决策。

MetaTrader4 (MT4) 平台使用说明教材

MetaTrader4 (MT4) 平台使用说明教材

福汇FXCM MetaTrader4 (MT4) 平台使用说明一、平台介绍及特点1.福汇最新MetaTrader4平台福汇公司已将MT4平台升级,以使它可以完美无瑕地结合我们的无交易员平台外汇执行模式。

换句话说,这个平台无须第三方桥接器,亦无须进行自动账户同步化程序。

为我们提供了更多功能及Meta Trader 4交易体验。

2.FXCM Meta Trader 4功能▪设置止损/止赚预先执行- 在建立新交易时设置止损及止赚指令▪0.01(微型)手数- 以更准确的每手交易单位进行交易,强化风险管理▪将持仓部份平仓- 控制平仓的时间及将某个持仓的多少部份平仓▪更多的工具- 特种货币对,例如:美元/南非兰特,美元/新加坡元,美元/港元,新加坡元/日圆,美元/土耳其元,欧元/土耳其元,美元/俄罗斯卢布,欧元/匈牙利福林,美元/匈牙利福等3.福汇FXCM平台好处▪不会重新报价及没有交易商的干预▪外汇交易身份保密,因为价格提供者不会看到您的止损、止赚或有待执行单子▪经纪商与客户之间没有利益冲突▪零交易限制- 甚至能够在买卖差价之内建立有待执行的单子二、使用说明1.下载登录福汇网站在线下载,网址:/gb/forex_platform/mt4.html,如图,点击下载即可。

点击下载2.安装下载后,双击下载的文件,即可进行安装。

安装过程第一个界面是选择语言,请选择中文(中国),然后点“下一步”按照提示安装即可。

当然这里选择的语言不正确,也可以在登陆平台后再进行修改。

软件可以覆盖安装在原有的版本上,并且保有原有设置。

如果需要同时运行几个账户,则必须安装在不同的文件目录内。

点击“下一步”选择“Yes,I agree with all terms of this license agreement” (我同意订阅您的新闻简报),点击“下一步”不建议安装在系统盘,点击“浏览”,选择重新安装的途径,点击“确定”,安装开始进行安装进行中….安装完成后,点击“完成”即可。

MT4编程初级手册

MT4编程初级手册

MT4 编程初级手册 (2):指标源码中常用符号的说明一、注释符: 行注释:单行的注释使用“ //”;块注释:多行的注释使用“ /* */ ” 程序不执行注释,注释内容仅供阅读或保留不用的语句,编译时不进行编译。

在 MQ 语言编辑器中,注释内容以灰色显示。

、分号 语句结束符,表示一个语句结束。

三、逗号“, ”分隔符,表示一个语句内部间隔,不结束语句,通常用于变量与变量之间,参数之间。

四、等于号“ = ” 赋值运算符,作用为把等号后面的值赋给等号前的变量中。

五、加号“ + ” 运算符。

对于整数或小数,则表示值相加;对于字符串,则表示前后连接。

六、加加“ ++ ”自增运算符,表示把符号前的变量值加1例如:“i++; ” 实际上进行的运算就是:“i=i+1;的简写,表示把 i 的值加 1。

七、加等于“ +=” 表示把符号后的值加到符号前的变量中。

例如 简写,表示 i 的值加 2。

逻辑判断符,等于号。

用于逻辑判断,双等号两边值相等,则返回布尔值“真-true ”;双等 号两边值不相等,则返回布尔值“假 -false ”。

九、叹号等号“ !=逻辑判断符,不等于号。

用于逻辑判断,不等号两边值不相等,则返回布尔值“真 不等号两边值相等,则返回布尔值“假 -false ”。

十、“ && ”逻辑判断符“与” ,“并且”。

逻辑判断符“或者” 十二、大括号“ {} ” 用以表示函数体,在其中写函数的语句。

{} 内部为函数体语句。

MT4 编程初级手册 (3):自定义变量一、自定义变量在使用前,必须先声明 (定义 ),向系统声明变量的类型和名称。

创建时可同时进行赋值(赋默认值) ,也可以不赋值。

MQ 语法中自定义变量的名称可以使 用中文字符。

例子:int flag ; 创建一个整型变量,变量名为“ flag ”。

bool 是否报警=flase ;创建一个布尔型变量, 变量名为"是否报警”,同时,赋初值“flase ”二、 变量类型和类型定义关键词 自定义变量的基本类型有:1、 整形 (int) :就是整数,包括负整数;2、 双精度浮点数(double):可以简单地理解为带小数位的数;3、 字符串型 (string) ;i+=2; ”,实际进行的运算就是“i=i+2; ”的-true ”;4、布尔型(bool):其值分别为"true、false”,即“真、假”,也可以写成"1、0” ( 1真,0 假)。

MT4编程语言MQL4入门(全接触)

MT4编程语言MQL4入门(全接触)

MT4编程语言全接触语法[Syntax]代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。

注释多行注释使用/* 作为开始到*/ 结束,在这之间不能够嵌套。

单行注释使用// 作为开始到新的一行结束,可以被嵌套到多行注释之中。

示例:// 单行注释/* 多行注释// 嵌套的单行注释注释结束*/标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节你可以使用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)还有下划线(_)。

此外首字母不可以是数字,标识符不能和保留字冲突.示例:// NAME1 namel Total_5 Paper保留字下面列出的是固定的保留字。

不能使用以下任何保留字进行命名。

主要数据类型有:•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作为开始。

示例:0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7Integer 变量的取值范围为-2147483648到2147483647。

Literal 类型任意在单引号中的字符或十六进制的任意ASCII码例如'\x10'都是被看作为一个字符,一些字符例如单引号('),双引号("),问号(?),反斜杠(\)和一些控制符都需要在之前加一个反斜杠(\)进行转意后表示出来:line feed NL (LF) \nhorizontal tab HT \tcarriage return CR \rreverse slash \ \\single quote ' \'double quote " \"hexadecimal ASCII-code hh \xhh以上字符如果不经过反斜杠进行转意将不能被使用示例:int a = 'A';int b = '$';int c = '©'; // code 0xA9int d = '\xAE'; // symbol code ®Boolean 类型Boolean 用来表示是和否, 还可以用数字 1 和0 进行表示。

MT4编程参考手册

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指标编程入门

MT4指标编程入门

MT4指标编程入门MT4(MetaTrader 4)是一种非常流行的外汇交易软件,它提供了一个强大的工具集,用于技术分析和交易执行。

MT4指标是一种用于帮助交易者确定市场趋势和价格走向的技术指标。

如果您对MT4指标编程感兴趣,以下是一些入门的关键概念和步骤。

1. MetaEditor:MT4提供了一个内置的IDE(集成开发环境)称为MetaEditor,用于编写和测试自定义指标。

您可以通过单击MT4软件上的“MetaEditor”按钮来打开它。

2. MQL4语言:MT4指标编程使用的编程语言是MQL4(MetaQuotes Language 4)。

它是一种类似于C语言的编程语言,具有类似的语法和结构。

3. 基本结构:一个标准的MT4指标通常包含init、deinit和start函数。

init函数只在指标加载时执行一次,而deinit函数只在指标卸载时执行一次。

start函数是主要的计算和绘制图表的函数,它会在每个新的PriceTick时执行。

4.自定义参数:您可以在指标设置中定义自定义参数,这样您就可以通过更改这些参数的值来改变指标的行为。

常见的参数包括移动平均线的周期、布林带的标准偏差等。

5.图表绘制:MT4指标可以在交易图表上绘制各种图形和线条,以便更好地显示价格和技术指标之间的关系。

例如,您可以在图表上绘制移动平均线、布林带或MACD线。

6.指标计算:MT4指标的核心功能是计算特定的技术指标值,这些值可以用于确定市场的潜在趋势和价格走向。

您可以使用MQL4语言中提供的各种内置函数和操作符来计算这些指标值,例如收益率、波动率等。

7.继承和封装:MT4指标编程还支持继承和封装的概念,这使得指标的重用和扩展变得更加容易。

您可以通过创建一个继承自其他指标的新指标来实现代码的重用,并且可以将一组功能相似的指标封装成一个自定义的库。

8. 调试和优化:编写完指标代码后,您可以使用MetaEditor中的调试功能来检查和修复潜在的错误。

完整版MT4编程入门详解 有图表

完整版MT4编程入门详解 有图表

目录 MT4编程入门(一):MT4自定义指标的基本操作指标源码中的常用符号说明自定义变量自定义函数 自定义数组市场数据取值 判断语句 循环 MT4自定义指标的结构 MT4编程入门(十):画一条指标线 MT4编程入门(^一 ): MT4的报警& indicatorff文件匹 錦矩② 查看② 收障® 工具⑴ 帮助QP Q 后退-保存目录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编程语言MQL4入门(全接触)

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编程语言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作为开始。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

点击-j■查看如何添加、启动、测试智能交易系统软件。

智能交易系统软件是一个创新的交易工具,允许客户对自己的交易策略进行设定并进行测试。

还可以创建新的技术指标获取交易系统的逐步解释一反转条一点击MultiBank FX程序员MultiBank FX向那些想要对其交易策略进行自动化,但又不想学习智能交易系统程序语言客户提供程序服务。

欲知详情,请联系,+‘鼍j蠢F智能交易系统软件是用来对交易过程全程自动化,免除交易商连续对市场进行。

许多专业交易商利用多层交易系统,对不同的市场和在不同的环境下进行操作。

通常他们在著名的分析软件包里对交易战略进行编写和测试,比如,MetaStock和TradeStation。

使用Mu…Bank Trader智能交易系统软件,招招领先,你可以把交易系统产生的信号和真实账户联系起来这样连接以便于能追踪和管理你的某个时段的开仓部位,提交的订单和止损单。

什么是智能交易系统?它是一个用特殊的MetaQuotes语言4(MQL 4)编写的自动交易系统(ATS),和特定的图表联系在一起。

智能交易系统不仅能通知交易商交易机会,而且还能自动执行交易账户上的交易,直接发送到交易服务器。

和评多的IT系统一样,智能交易系统系统支持历史数据战略测试,图表上表示的登入/登出点。

而且,智能交易系统的可执行码分别存储于源文件和加密的执行文件中一这种安排保证了交易商所使用的逻辑隐藏(如有必要的话),而不会泄密。

编写自己的智能交易系统软件也非常容易:尝试一下吧!不需要是专业编程高手,你只需要学会使用非常简单的语言-MQL 4语言。

即使用户不能自行编写智能交易系统规则,但是他需要熟悉最近的编程技能,不过很可能不需一个小时他便掌握了这些规则并能编写程序。

无数的交易商为MetaStock和TradeStation软件开发了多种多样的交易战略。

其中多数均被翻译成MQL4语言,这就使得用户可以把前期累计的经验并合到里面去。

有些即学即用智能交易系统版本可以从本页下载。

萋笔l智能立易系统句Aut o_Tr ading_Sltzt em鼋MACD Samplee鼋hloving ATrerageMultiBank Trader软件将智能交易系统在程序的根目录/Experts子目录里保存为*.MQ4(source text)和*.EX4(可执行码)文件。

交易商可以无限量地保存智能交易系统数据,这些数据可以通过导航条窗曰容易地加以管理。

创建自定义智能交易系统数据的程序以及将数据和交易终端连接在Mu…Bank Trader用户指南里有详细的描述。

MetaQuotes4语言是用来编写自定义智能交易系统软件,以便使交易程序管理自动化以及执行交易商自己的交易策略。

MetaQuotes 4语言易学、易用、易创建。

MetaQuotes 4语言包括相当数量的变量,用来控制当前和前期的报价、主要的算术和逻辑运算和特征,主要的内置指标和用来开启和控制头寸的命令。

在语法上,该语言和由TradeStation技术有限公司开发的简易语言相似,但是它有其自身的一些具体特征。

程序代码是用MetaEditor4编辑器编写的,它能够用不同的色彩集中反映MQL4语言的不同结构,因此,有助于用户熟悉专家系统的文本。

注解开始于//符号(双斜线)。

注解也可以用“斜线一星号”一“星号一斜线”组合(/木[注解]术/,就像在”C”编程语言一样)。

幽土i]h‘‘irl:I r‘.u一jl要1r皇j.J¨越设定和控制操作战略,交易商保存一份日志文件,存储产生的信号信息、变量输出和已执行交易的结果。

智能交易系统日志保存在MultiBank Trader目录下/logs/YYYYMMDD.log文件里。

当前的日志可以从下方的“终端”窗口(日志标签)直接进入。

l L兰塑J啦藏熹l厂i三面匿i云卸i r l u\r;j∥r.B.引I_]USDLHF,Hl厂五面CrI1 1 一f 曾宣:三::;:;::0j;i:iz三主乙弋::二:=邑甚iz.:_I三j1三弋三二l'- -:-.-:;:二。

丑Jii:i£:yCTi【三土T暑=a暑兰瘪纂_。

ff。

筇‘』誓…;_历史l价位报警l丽藉—L塑能变易系堑—厂百毛l进入MQL4语言的目录系统,要么按目录按钮或从工具菜单打开MetaQuotes语言词典窗口操作。

这个短小的手册包含分类、运算、存储词语等功能,使得用户对该语言所用到的每个元素都有所了解。

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃◆』掌±.,:f.n立、1u., - r.-ii:r.vr!j! y:'r_ ,_H蚪] li - l'l --- ┃┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃幽立件哩)编辑哩)查看噬)工旦哩)Windo^ 帮助噬)一日x ┃┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃!啐醇口l 1日1日l啦哂岛l率单l哆e—ne i;{m哦mt l@l ┃┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃^ ┃┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━┳━━━┳━━━━━━━━━━━━━━━┫┃j j=蔓eok p05三七三一0工┃E ┃|.n ┃刍Pradafined Trariablaz ^ ┃┃‘i.:= (二,ij'j i=0;i<To七己卫;i一一I ;┃┃┃…囤A!k ┃┃:一_三二。

二兰二_三j’,C0,三三L叵:r已!P0弓,∑0=互r量量]三S);┃┃┃…囤B”s ┃┃‘_f:?rf曼二‘’。

一:fI<=0p三量=_L岳主:,‘_c。

j。

‘._?’‘C)┃┃┃…囤Bi a ┃┃_?e::。

1:、rj。

’:?皇?《)==C量三U!)o ┃┃┃┃┃?’/:二0三 e ┃┃┃…囤cl。

s e[] ┃┃┃┃┃…囤Di垂ts ┃┃o ‘┃┃┃…囤High[] ┃┃┃┃┃┃┃ 1.1 1 5_l工a_ 6e:/:fEx二_cLl_Y:i ┃┃┃…囤L。

w El ┃┃-’.v ┃┃┃Fl ODen[l o ┃┃┣━┻━━━┻━━━━━━━━━━━━━━━┫┃<> ┃Files l Dictionary l Sea:rct]l ┃┣━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━┫┃┃●h'avieata胁Ⅱ幸强:£!:÷7::?E:j食舢i l h珊目iUE eOpen:毒K口Text File l 霸~aeL4.c衄┃┃┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃-.,-.'ii: Ilars ^, ┃┃┃Fdurnber .of bars on tha charl:.┃┃┃irLt countar=l: ┃┃┃for (int i=l:i<=Barz:i++) ┃┃┃Frint ([:loza[i-l]): ┃┃┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃Firoirs l-iirutliinFiles lOJm~~ineUib,raryl HelpI ┃┣━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃For Help, prezz oi> ILr l, [:01 1 ┃┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛1。

主要语言结构像其他任何语言一样,MQL4有一套构成基本结构的主要组成元素。

这些组成元素以一种特殊的方式组合排列的,以便代表适当的陈述和表达。

语言的主要对象就是数据,包括三种类型:数字、逻辑和排列。

所有的数值均采用双格式,逻辑数据可能包括真值和假值。

排列就是用省略号标注的一系列字符。

字符串也叫做文本串。

数据可以包含在适当类型的变量之中,或直接由程序的源文本表现出来。

一个MetaQuotes语言陈述指一个完整的用法说明。

陈述可以包括保留字、运算符号、数据、变量、表达式或标点符号,而且总是以分号结尾。

保留字指具有特定或特别意义的预先设定的词语。

运算符号指在数据、变量和(或)表达式中特定的具体运算符号。

变量是用来限制数字、排列或逻辑数据的。

表达式指保留字、变量、数据和运算符号的组合,因力它们具有语言的3中类型(保留字、变量、数据)中的任一价值。

标点符号用来代表表达式,界定参数,区分词语或重新排列计算顺序。

2.标点符号┏━━━━┳━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃字符┃名称┃描述┃┣━━━━╋━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃分号┃结束MetaQuotes 4语言指令┃┣━━━━╋━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃┃对表达式的值进行分组,改变计算顺序。

┃┃() ┃圆括号┃标注函数参数并启动变量描述表达式┃┃┃┃标注变量的初始值并在变量描述区排列组合┃┣━━━━╋━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃┃提取函数值时,对参数进行区分┃┃┃┃在变量描述区对变量进行区分┃┃┃逗号┃┃┃┃┃在描述排列长度时对数字进行区分┃┃┃┃区分进入排列元素的指标┃┣━━━━╋━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃冒号┃用在变量描述区,启动变量列表┃┣━━━━╋━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃引号┃标注一个文本(字)串。

┃┣━━━━╋━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃┃标注数字,确定排列长度┃┃[] ┃方括号┃标注进入某个特殊排列元素的数字(指数)┃┃┃┃标注进入历史数据的期间数字┃┣━━━━╋━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫┃┃┃充当运算括号。

相关文档
最新文档