外汇交易MT4编程入门自定义指标的结构

合集下载

MT4平台技术指标设置

MT4平台技术指标设置

MT4平台技术指标设置MT4(MetaTrader 4)是一种流行的外汇交易平台,具有强大的功能和灵活的定制能力。

其中一个重要的功能是技术指标设置,为交易者提供了有关市场走势和价格动向的重要信息。

在MT4平台上,交易者可以选择各种技术指标,并根据个人的需求进行自定义设置。

1.选择指标:MT4平台上有大量的技术指标可供选择,包括趋势指标、震荡指标、振荡指标等。

交易者可以根据自己的交易策略选择适合的指标。

2.参数设置:每个技术指标都有相应的参数设置,用于调整指标的敏感度和准确性。

参数设置包括时间周期、移动平均线的周期、布林带的标准差等。

交易者可以根据自己的交易策略和偏好进行参数设置。

3.图表设置:MT4平台上的技术指标可以在价格图表上显示。

交易者可以设置指标的图表样式,包括线条颜色、线型、线宽等。

此外,还可以选择指标的显示位置,如主图表或副图表。

4.交叉确认:交叉确认是一种常见的技术指标设置。

交易者可以选择两个或多个指标,并在它们的交叉点上进行交易决策。

例如,当移动平均线从下方交叉到上方时,表示买入信号,反之则为卖出信号。

5.声音和邮件警报:MT4平台上的技术指标还可以设置声音和邮件警报。

当指标满足特定的条件时,平台会发出声音提示或发送邮件通知交易者。

这对于那些无法始终盯着屏幕的交易者来说特别有用。

为了正确设置技术指标,交易者需要考虑以下几个因素:-交易策略:技术指标应该与你的交易策略相匹配。

不同的指标适用于不同的市场条件和交易风格。

例如,移动平均线适用于趋势跟踪,而随机振荡指标适用于震荡市场。

-市场周期:技术指标应该与市场周期相匹配。

市场可以处于上升、下降或震荡等不同的周期。

一些指标在特定的市场环境下表现更好。

-敏感度和假信号:技术指标的敏感度应该根据你的交易风险承受能力和时间框架进行调整。

太敏感的指标可能会产生过多的假信号,而太不敏感的指标可能会错过一些重要的市场转折点。

-参数优化:在设置技术指标时,你可能需要对其参数进行优化。

MT4编程例子详解

MT4编程例子详解

============================================== ==============================================
以下为上述语句的简要说明
#property indicator_separate_window 指标放在副图
#property indicator_color1 White 第一条指标线为白色
2、 #property indicator_separate_window 把指标显示在副图。如: MAC、D RSI、威廉等类指标用到此语句
3、 #property indicator_buffers 3 显示 3 根指标线
4、 #property indicator_color1 Red 第 1 根指标线的颜色为 Red
另外,还有一个反初始化函数 deinit() deinit() 在自定义卸载时运行一次,可用以去除指标加载时
init() 所做的初始化操作。
MT4编程入门 ( 十) :画一条指标线
要画指标线,只要在程序中写明以下几点就可以了: 第一、明确指标线所在窗口,是主图还是副图 第二、要建立数组,用以保存指标线在各个位置的值。 第三、要建立指标线与数组的对应关系,哪个数组对应哪条指标线 第四、要明确指标线的线型,是曲线还是柱线或者是箭头 第五、如果指标线是箭头,还要说明是哪种箭头 第六、给数组赋值 其中: 第一、二条写在文件头部中, 第三、四、五条写在 init() 函数中( init 函数仅在指标加载时运行一次) 第六条写在 start() 函数中( start 函数在数据发动变动时运行,变动一次运行一次) 下面以 MACD为例说明 我们知道, MACD指标由二条曲线和一组红绿柱线组成。 (下图一) 其中: 白线是二根均线的差; 紫线是白线的移动平均线; 红绿柱线则是白线和紫线的差,白线上穿紫线,出现红柱,下穿则出现绿柱。

MT4自带30项指标介绍解析

MT4自带30项指标介绍解析

MT4自带30项指标介绍解析MetaTrader 4(MT4)是一款广泛使用的外汇交易和分析平台,它自带了30项指标,这些指标可以帮助交易者分析市场趋势和价格走势,以制定交易策略。

下面将对这30项指标进行介绍和解析。

1. 移动平均线(Moving Average, MA):是一种常用的趋势指标,计算一段时间内的平均价格。

交易者可以根据移动平均线的交叉和斜率来判断市场趋势。

2. 指数移动平均线(Exponential Moving Average, EMA):与移动平均线类似,但在计算平均价格时给予最近的价格更大的权重。

3. 加权移动平均线(Weighted Moving Average, WMA):在计算平均价格时给予较新的价格更大的权重。

4. 平滑异同移动平均线(Smoothed Moving Average, SMMA):将计算结果进行平滑,减少价格波动的影响。

5. MACD指标(Moving Average Convergence Divergence):通过两条移动平均线之间的差异和交叉来衡量市场动能。

6. 快速随机指标(Fast Stochastic):测量价格在一段时间内的变化速度和幅度,判断市场是否超买或超卖。

7. 慢速随机指标(Slow Stochastic):与快速随机指标类似,但使用更长的时间周期。

8. 相对强弱指标(Relative Strength Index, RSI):测量价格上涨和下跌的力量,用于判断市场的超买和超卖情况。

9. 威廉指标(Williams' Percent Range, %R):与随机指标类似,用于判断市场超买和超卖的程度。

10. 移动平均收敛/发散指标(Moving AverageConvergence/Divergence, MACD Histogram):用于衡量移动平均线之间的差异。

11. 平均趋向指标(Average Directional Index, ADX):衡量市场趋势的强度和方向。

MT4编程初级手册

MT4编程初级手册

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平台的顶部工具栏上点击“模板”选项,然后选择“保存模板”。

加载模板的方法是点击“模板”选项,然后选择“加载模板”。

最后,我想提醒您,在使用技术指标进行分析时,不要完全依赖于它们。

技术指标只是工具,不能保证100%的准确性。

因此,在进行交易决策时,还应结合其他的分析方法,如基本分析和市场情绪分析,以获取更全面和准确的市场预测。

总结起来,MT4平台上的技术指标设置方法非常简单。

只需要几个步骤,您就可以在MT4平台上添加、调整和使用各种技术指标。

MT4平台指标编程

MT4平台指标编程

MT4平台指标编程MetaTrader 4(MT4)是一种常用的外汇和证券交易平台,由俄罗斯MetaQuotes Software开发。

它具有强大的功能和灵活性,可以进行交易操作、分析市场和编写自定义指标等。

在本文中,我们将探讨如何编写自定义指标。

在MT4平台中,指标是用于辅助交易决策的技术工具。

它们通过分析历史市场数据并提供相关的统计信息来帮助交易员做出决策。

指标可以根据交易者的需求来自定义编程。

指标编程通常使用MetaQuotes Language 4(MQL4)完成。

MQL4是一种专门为MT4开发的面向对象的编程语言,具有类似于C语言的语法结构。

要编写指标,您需要掌握MQL4语言的基本概念和语法。

以下是一些编写自定义指标的步骤:1.确定指标的计算方法:首先,您需要确定指标的计算方法。

这可以是基于常见的技术分析指标,如移动平均线、相对强弱指标或随机指标,或者是一种全新的计算方法。

您应该清楚地定义指标的输入和输出。

2. 创建MQL4脚本文件:在MT4平台中,打开MetaEditor,然后创建一个新的MQL4脚本文件。

您可以选择"自定义指标"选项来创建一个新的指标。

在脚本文件中,您可以定义指标的计算逻辑和输入参数。

3.编写指标计算逻辑:在MQL4脚本文件中,您可以使用各种内置函数和操作符来实现指标的计算逻辑。

您可以使用历史市场数据、价格、成交量和其他可以访问的信息来计算指标的值。

您还可以使用不同的循环结构和条件语句来优化指标的计算速度和准确性。

4.定义输入参数和输出结果:指标可以接受一些输入参数来调整计算过程。

您可以定义这些输入参数,并在指标计算中使用它们。

此外,您还可以定义指标的输出结果,并将其返回给MT4平台进行显示。

5. 进行语法检查和编译:在编写完指标代码后,您可以使用MetaEditor提供的语法检查工具来检查代码的语法错误。

一旦通过语法检查,您可以编译指标代码以生成一个可在MT4平台中使用的指标。

MT4编程初级手册(1):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编程入门教程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自定义指标一般由四个部分构成:(1)文件头部(2)参数、变量和数组的定义(3)初始化函数init()(4)主函数start()一、文件头部,也称为预处理程序预处理程序以“#”开头,行尾无语句结束符“;”常用的预处理程序有: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根指标线的颜色为Red5、#property indicator_width1 1第1根指标线的粗细分别为16、#property indicator_level1 0.00在0.00值位置横划1条虚线二、参数、变量和数组的定义全局性的参数、变量、数组在此定义,局部变量可在start()函数中定义三、初始化函数init()init()在自定义指标加载时运行一次。

初始化函数的功能是“设置”。

如果自定义指标需要划线,则必然用到此函数四、主函数start()当数据有变动时,start()就被触发。

数据变动一次,start()就运行一次。

自定义指标的编程主要依靠此函数进行。

start()函数的作用主要是取值和给指标线赋值,报警也在此函数内发起。

另外,还有一个反初始
化函数deinit()deinit()在自定义卸载时运行一次,可用以去除指标加载时init()所做的初始化操作。

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

(完整版)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编程入门:自定义函数

外汇交易MT4编程入门:自定义函数

外汇交易MT4编程入门:自定义函数自定义函数与数学函数在本质上是一致的例如:数学函数ft(x,y)=3x+2y (x,y为正整数) 写成程序语句就是:int ft(int x,int y){int temp;temp=3*x+2*y;return(temp);}一、和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。

函数类型、名称、参数位于函数头部(参数间以逗号分隔),大括号中的是运算语句,也就是函数体部分。

return语句为函数结束语句,return后面括号中的值为函数返回值,即函数运算结果。

上例中,int为函数类型,表示该函数的返回值(运算结果)是整数;(x,y)为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词intft为函数名,有了函数名,我们就可以在别处用ft(2,1)的形式来调用此函数;函数体部分有三句:第一句,定义一个整形变量temp第二句,计算temp的值第三句,函数结束,返回调用点,以temp的值作为本函数返回值。

此函数也可以简写为:int ft(int x,int y) {return(3*x+2*y);}二、函数类型与类型符函数类型就是函数返回值(运算结果)的类型,与自定义变量类型差不多有整型(int)、双精度型(double)、字符串型(string)、逻辑型(bool)等,还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以写成void(无值型)三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时,自定义变量也就自动注销。

上例中,有x、y、temp三个自定义变量,在函数运行时创建,在函数运行结束时自动消失,仅在函数内部有效,与函数外部无关。

四、函数的调用函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用如我们前面创建了ft(x,y)函数,则别处我们可以用ft(4,5)等样式来调用ft(x,y)函数求值。

MT精讲MT编程入门全集

MT精讲MT编程入门全集

M T精讲M T编程入门全集Document number【980KGB-6898YT-769T8CB-246UT-18GG08】MT4编程入门1:MT4自定义指标的基本操作MT4自定义指标的保存目录、指标编缉器与指标调用一、MT4自定义指标保存在C:\Program Files\MetaTrader 4\experts\indicators这个目录中,该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,但能在MT4启动时自动编译为ex4可执行文件。

另一种就是ex4文件,这是MT4自定义指标的可执行文件,由mq4文件编译得到。

mq4文件必须编译为ex4文件才能被MT4执行。

但ex4文件是机器码文件,人工不可修改另外还有一个文件是,它用来保存目录中的文件信息,如果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等文件可以下载,只能复制源码。

此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。

MT4自带30项指标介绍解析

MT4自带30项指标介绍解析

MT4自带30项指标介绍解析MT4(MetaTrader 4)是外汇交易平台中最受欢迎和广泛使用的平台之一、它提供了丰富的图表分析功能,包括30项指标。

以下是对每个指标的介绍和解析。

1. 移动平均线(Moving Average,简称MA):移动平均线是根据一定时间范围内的数据计算出的平均值,用以观察价格趋势的变化。

常见的有简单移动平均线(SMA)和指数移动平均线(EMA)。

2. 指数移动平均线(Exponential Moving Average,简称EMA):指数移动平均线是一种对价格赋予不同的权重,最近的价格权重更大,较旧的价格权重更小。

3. 平滑异同移动平均线(Moving Average Convergence Divergence,简称MACD):MACD指标通过计算两个移动平均线的差距和相互交叉来判断价格趋势的强弱。

4. 相对强弱指标(Relative Strength Index,简称RSI):RSI指标用于判断价格的超买和超卖条件,数值在70以上表示超买,数值在30以下表示超卖。

5. 威廉指标(Williams Percent Range,简称W%R):W%R指标测量价格是否超买或超卖,基于最高价和最低价的差距。

6. 移动平均趋向指标(Moving Average Directional Indicator,简称ADX):ADX指标用于衡量趋势的强度,数值高于25表示趋势较强。

7. Bollinger Bands:Bollinger带指标用于测量价格的波动性和区间。

8. 随机指标(Stochastic Oscillator):随机指标通过比较收盘价和一段时间内的最高价和最低价来判断价格走势。

9. 平均真实范围(Average True Range,简称ATR):ATR指标用于衡量价格波动的范围,可以帮助判断入场和止损点。

10. Ichimoku云图(Ichimoku Kinko Hyo):Ichimoku云图指标包含多个部分,可以帮助判断趋势、支撑位和阻力位。

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平台常用的技术指标进行分析并介绍设置方法。

1.移动平均线(MA)移动平均线是最基础也是最常用的技术指标之一、它通过计算一定周期内的价格平均值,用来显示价格的趋势方向。

可以选择简单移动平均线(SMA)或指数移动平均线(EMA)。

在MT4平台上,通过点击“插入”-“指标”-“趋势”-“移动平均线”,设置相应参数如周期、颜色等。

2.相对强弱指标(RSI)相对强弱指标通过计算价格在涨跌时期的相对强度来衡量价格走势的力度和速度,用于判断市场是否超买或超卖。

在MT4平台上,点击“插入”-“指标”-“振荡器”-“RSI”,设置相应参数如周期、颜色等。

3. 随机指标(Stochastic Oscillator)随机指标通过比较最近一段时间内的收盘价与价格范围的相对位置,来判断市场的超买和超卖情况。

在MT4平台上,点击“插入”-“指标”-“振荡器”-“随机指标”,设置相应参数如%K周期、%D周期、颜色等。

4.平均真实波幅(ATR)平均真实波幅指标用于衡量市场波动的程度,可用来设置止损位和目标位。

在MT4平台上,点击“插入”-“指标”-“波动性”-“平均真实波幅”,设置相应参数如周期、颜色等。

5. 布林带(Bollinger Bands)布林带指标用于衡量价格波动的上下限,并判断市场的超买和超卖情况。

在MT4平台上,点击“插入”-“指标”-“趋势”-“布林带”,设置相应参数如周期、标准差倍数、颜色等。

6.移动平均收敛/发散指标(MACD)移动平均收敛/发散指标通过计算两个不同周期移动平均线的差异,来判断价格走势的力度和方向。

在MT4平台上,点击“插入”-“指标”-“振荡器”-“MACD”,设置相应参数如快线周期、慢线周期、颜色等。

MT4平台指标编程

MT4平台指标编程

MT4平台指标编程MT4平台是外汇交易者最常用的交易平台之一,它提供了丰富的指标和工具,帮助交易者分析市场走势并制定交易策略。

MT4平台的指标编程功能允许交易者根据自己的需求开发和使用自定义指标。

在本文中,我们将讨论MT4平台指标编程的基本概念和步骤。

MT4平台使用了一种被称为MetaQuotes Language 4(简称MQL4)的编程语言,交易者可以通过编写MQL4代码来创建自己的指标。

指标是一种用来计算和展示特定的市场数据的工具,它可以帮助交易者了解市场的走势和形势。

指标编程的第一步是定义指标的计算方法和所需的输入参数。

指标通常基于一些特定的数学公式或技术指标,交易者需要根据自己的策略和需求确定指标的计算方法。

输入参数是指交易者可以自定义的指标参数,如期望的时间周期、绘制图形的颜色等。

确立指标计算方法和输入参数之后,交易者需要编写MQL4代码来实现这些功能。

MQL4代码主要包括以下几个部分:指标初始化(init)函数、指标计算(calculation)函数和指标绘制(drawing)函数。

指标初始化函数在指标加载到图表上时被调用,一般用来设置指标的参数和初始化必要的变量。

指标计算函数是指标的核心部分,它根据交易者定义的方法计算指标数值。

最后,指标绘制函数用来在图表上绘制指标的可视化结果。

除了计算和展示指标数值,指标编程还可以实现一些特殊的功能。

例如,可以编写MQL4代码来判断市场的超买超卖情况,或者根据指定的价格水平生成交易信号。

这些功能可以帮助交易者更好地理解市场和制定交易策略。

编写完成指标的MQL4代码后,交易者需要将代码保存为.mq4文件,并将该文件复制到MT4平台的指标文件夹中。

然后,重新启动MT4平台,就可以在平台的指标列表中找到并加载自定义指标了。

对于不熟悉MQL4编程的交易者来说,也可以在互联网上寻找相关的MQL4指标编程教程和示例代码。

MT4平台拥有庞大的开发者社区,交易者可以从中学习和借鉴其他交易者编写的指标代码。

MT4指标编程入门解析

MT4指标编程入门解析

MT4指标编程入门解析MetaTrader 4(MT4)是一种用于外汇和股票交易的流行交易平台,该平台允许用户使用各种技术指标来进行分析和预测市场趋势。

通过编写自定义指标,交易者可以利用MT4的强大功能来制定他们自己的交易策略。

本文将介绍如何编程MT4指标的基本知识和步骤。

在编写指标之前,您需要了解一些MT4指标编程的基本语法和函数。

MT4使用一种名为MQL4的专有编程语言来编写指标和自动化交易脚本。

MQL4类似于C语言,并且有许多内置函数和操作符可供使用。

在编写指标时,您需要熟悉以下一些常用函数和操作符:1.`iMA`:计算移动平均线的函数。

它接受多个参数,包括计算平均线的价格类型、计算平均线的周期等。

2.`iRSI`:计算相对强弱指标(RSI)的函数。

RSI用于测量市场超买和超卖的情况。

3.`iMACD`:计算移动平均收敛/发散指标(MACD)的函数。

MACD用于判断市场的趋势和方向。

4. `iBands`:计算布林带指标的函数。

布林带用于测量市场波动性。

此外,还有其他一些常用的函数和操作符,如数学函数(例如`MathMax`和`MathMin`)、条件语句(例如`if`和`else`)以及循环(例如`for`和`while`)。

一旦您熟悉了这些基本知识,就可以开始编写您自己的指标了。

下面是编写一个简单移动平均线指标的示例代码:```mql4#property indicator_chart_window#property indicator_buffers 1#property indicator_color1 Blueextern int period = 14;double ma_buffer[];void OnInitSetIndexBuffer(0, ma_buffer, INDICATOR_DATA);int start = prev_calculated > 0 ? prev_calculated - 1 : 0;for (int i = start; i < rates_total; i++)ma_buffer[i] = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_CLOSE, i);}```在这个示例中,我们定义了一个名为`ma_buffer`的浮点数数组,用于存储移动平均线的值。

MT4精讲:MT4编程入门全集1-11,DOC

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平台没有双线MACD指标,本博一年前编写了双线MACD指标,并在使用过程中增添了部分特色功能。

现将指标源码公开。

请在尊重知识产权的前提下使用本代码,否则本博以后就不公开代码了。

本MACD指标有以下特色:1.有MACD黄白线、红绿柱。

(这个不算特色,只是恢复了MACD指标的本来面目,呵呵。

)2.声音和画面提醒平仓功能。

默认没有打开。

如需打开此功能,可以在加载指标时双击输入参数中的第二个参数"NeedOrderWarning",把"false"改为"t rue"。

或者在加载指标后修改指标参数(如果不会,请百度一下)。

如下图:如果打开此功能,在以下三种情况下,会提示您平仓:1).有一定赢利后,再从赢利变为亏损时。

2).开仓后长时间(指标内设置为25分钟,可自行调整)无赢利时,按时间止损法则提示止损。

3).开仓后赢利较多,按赢利的50%回撤法则提示止赢。

3.突破盘整区间报警。

此功能默认是关闭的。

可通过改变NeedAlert为t rue打开此功能。

打开方法请参考第二步。

打开此功能后请设置好盘整区间,最低点设置到LowPrice中,最高点设置到HighPrice中,请参看上图(图中的盘整区间为0-99999,哈哈)。

下图中把盘整区间改为1323-1355(注意NeedAlert要设为t rue)。

设置后会在MACD指标区显示盘整区间,并在价格突破盘整区间后声音提醒。

如下图:4.交易提醒。

此功能可以在MACD指标内设置重要的提醒内容。

可通过改变上图中的Warning的内容而改变提醒内容。

如下图:效果如下:5.红绿柱极值点变色。

(代码中有,默认关闭了)该指标源代码如下:(MT4平台自定义指标使用方法)// This is t he correct comput at ion and display of MACD.#propert y indicat or_separat e_window#propert y indicat or_buffers 5#propert y indicat or_color1 Snow#propert y indicat or_color2 Gold#propert y indicat or_color3 Red#propert y indicat or_color4 Green#propert y indicat or_color5 Oliveext ern bool NeedAlert=false;ext ern bool NeedOrderWarning=false;ext ern double HighPrice=99999;ext ern double LowPrice=0;ext ern st ring Warning = "";//---- input paramet ersext ern int Fast MAPeriod=12;ext ern int SlowMAPeriod=26;ext ern int SignalMAPeriod=9;//---- buffersdouble MACDLineBuffer[];double SignalLineBuffer[];double Hist ogramBuffer1[];double Hist ogramBuffer2[];double Hist ogramBuffer3[];//---- variablesst ring Short Name;int shouldCreat eWarning=1;//+------------------------------------------------------------------+//| Cust om indicat or init ializat ion funct ion |//+------------------------------------------------------------------+int init(){Indicat orBuffers(5);Indicat orDigit s(Market Info(Symbol(),MODE_DIGITS)+1);//---- indicat orsSet IndexSt yle(0,DRAW_LINE);Set IndexBuffer(0,MACDLineBuffer);Set IndexDrawBegin(0,SlowMAPeriod);Set IndexSt yle(1,DRAW_LINE,STYLE_DOT);Set IndexBuffer(1,SignalLineBuffer);Set IndexDrawBegin(1,SlowMAPeriod+SignalMAPeriod);Set IndexSt yle(2,DRAW_HISTOGRAM,STYLE_SOLID,1);Set IndexBuffer(2,Hist ogramBuffer1);Set IndexDrawBegin(2,SlowMAPeriod+SignalMAPeriod);Set IndexSt yle(3,DRAW_HISTOGRAM,STYLE_SOLID,1);Set IndexBuffer(3,Hist ogramBuffer2);Set IndexDrawBegin(3,SlowMAPeriod+SignalMAPeriod);Set IndexSt yle(4,DRAW_HISTOGRAM,STYLE_SOLID,1);Set IndexBuffer(4,Hist ogramBuffer3);Set IndexDrawBegin(4,SlowMAPeriod+SignalMAPeriod);//---- name for Dat aWindow and indicat or subwindow labelst ring t emp;if(NeedOrderWarning) t emp="OrderWarningOpened"; else t emp="";if(NeedAlert){Short Name="MACD("+Fast MAPeriod+","+SlowMAPeriod+","+SignalMAPeriod+")"+" Alert Opened"+"("+DoubleToSt r(LowPrice,1)+"--"+DoubleToSt r(HighPrice,1)+") "+t emp;}else{Short Name="MACD("+Fast MAPeriod+","+SlowMAPeriod+","+SignalMAPeriod+")"+" "+t emp;}Indicat orShort Name(Short Name);Set IndexLabel(0,"MACD");Set IndexLabel(1,"Signal");Set IndexLabel(2,"Red");Set IndexLabel(3,"Green");Set IndexLabel(4,"Ext reme");shouldCreat eWarning=1;ret urn(0);}//+------------------------------------------------------------------+//| Cust or indicat or deinit ializat ion funct ion |//+------------------------------------------------------------------+int deinit(){//----Object Delet e("Label_Warning");//Print("deinit~~~~~~~~~~~~");//----ret urn(0);}int OrderWarning(){st at ic int count=0;color Color;int Font Size;int objNumber=0;for(int i=0;i<5;i++)//一个帐户订单数限制在5个以内,放在这里而不是在下面循环的开头是因为帐户切换时,不同帐户订单不一样 {if(Object Find("OrderWarning1"+i)!=-1) Object Delet e("OrderWarning1"+i);if(Object Find("OrderWarning2"+i)!=-1) Object Delet e("OrderWarning2"+i);if(Object Find("OrderWarning3"+i)!=-1) Object Delet e("OrderWarning3"+i);}for(int pos=0;pos{if(!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)){Print("OrderSelect error:#",Get Last Error());cont inue;}else{int Point OfProfit=OrderProfit()/OrderLot s();//黄金的赢利点数,如需使用其它品种,此值需修改//Print(Point OfProfit,",",(Close[0]-OrderOpenPrice())*100);//经测试,两者计算出的利润正好差点差50点//if(pos==1)Print(TimeHour(OrderOpenTime()),":",TimeMinut e(OrderOpenTime()));//Print(Market Info(Symbol(),MODE_POINT));//经测试,黄金此值为0.01,白银为0.001//Print(Market Info(Symbol(),MODE_SPREAD));//经测试,黄金此值为50,白银为30int SpreadValueInPoint s=Market Info(Symbol(),MODE_SPREAD);double MaxPrice=0,MinPrice=99999999;int DuringTime=0;//求出从定单下单开始到现在的最高价和最低价for(i=0; i{{//if(pos==0 && i<=1)Print(OrderOpenTime(),"-",Time);if(iHigh(NULL,PERIOD_M1,i)>MaxPrice) {MaxPrice=iHigh(NULL,PERIOD_M1,i);}if(iLow(NULL,PERIOD_M1,i)// if(pos==1&& i>35) Print(i);if(OrderOpenTime()-iTime(NULL,PERIOD_M1,i)>=0)//定单时间是以秒为单位的{break;}}//if(pos==0) Print(MinPrice,"-",MaxPrice);//Print(i);DuringTime=i;//Print("DuringTime:",DuringTime);swit ch(count){case 0:Color=Yellow;Font Size=20;break;case 1:Color=LawnGreen;Font Size=20;break;case 2:Color=Red;Font Size=20;break;default:break;}bool HasProfit=false,Need50Percent=false,NeedBalance=false;double MaxProfit=0;//最大利润点数,负数为亏损点数if(Point OfProfit>0) HasProfit=t rue;if(OrderType()==OP_BUY){MaxProfit=(MaxPrice-OrderOpenPrice())*100;//最大曾经赢利点数,因报价就是平仓价。

MT编程入门详解

MT编程入门详解

目录MT4编程入门(一):MT4自定义指标的基本操作MT4编程入门(二):指标源码中的常用符号说明MT4编程入门(三):自定义变量MT4编程入门(四):自定义函数MT4编程入门(五):自定义数组MT4编程入门(六):市场数据取值MT4编程入门(七):判断语句MT4编程入门(八):循环MT4编程入门(九):MT4自定义指标的结构MT4编程入门(十):画一条指标线MT4编程入门(十一):MT4的报警MT4编程入门(一):MT4自定义指标的基本操作MT4自定义指标的保存目录、指标编缉器与指标调用一、MT4自定义指标保存在C:\ProgramFiles\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:\ProgramFiles\MetaTrader4\experts\indicators这个目录,也就是下面这个目录中,就可以了。

如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。

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

外汇交易MT4编程入门:自定义指标的结构
MT4自定义指标一般由四个部分构成:(1)文件头部(2)参数、变量和数组的定义(3)初始化函数init()(4)主函数start()一、文件头部,也称为预处理程序预处理程序以“#”开头,行尾无语句结束符“;”常用的预处理程序有: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根指标线的颜色为Red5、#property indicator_width1 1第1根指标线的粗细分别为16、#property indicator_level1 0.00在0.00值位置横划1条虚线二、参数、变量和数组的定义全局性的参数、变量、数组在此定义,局部变量可在start()函数中定义三、初始化函数init()init()在自定义指标加载时运行一次。

初始化函数的功能是“设置”。

如果自定义指标需要划线,则必然用到此函数四、主函数start()当数据有变动时,start()就被触发。

数据变动一次,start()就运行一次。

自定义指标的编程主要依靠此函数进行。

start()函数的作用主要是取值和给指标线赋值,报警也在此函数内发起。

另外,还有一个反初始
化函数deinit()deinit()在自定义卸载时运行一次,可用以去除指标加载时init()所做的初始化操作。

相关文档
最新文档