MT4 MT5外汇EA编程教程大全之日期时间函数
- 格式:doc
- 大小:97.22 KB
- 文档页数:16
MT4编程入门MT4编程入门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可执行文件。
如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。
三、将源码保存为源码文件在论坛上,我们也经常能看到指标源码贴在网页上,但没有mq4、ex4等文件可以下载,只能复制源码。
此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。
1、打开MQ语言编辑器2、在MQ语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。
MT4EA编程自动计算并画出趋势线MT4 EA编程自动计算并画出趋势线通过MT4平台编程,进行自动计算并画出趋势线,其方法如下所示。
下面先介绍几个特殊函数,才能正确进行相关编程。
一、基本函数介绍:1、窗口函数:WindowBarsPerChart(); //屏幕可见K线总数解释:该函数返回窗口中可见的K线数目总数,我们在画趋势线时,所选择的K线范围,一定属于在可见的范围之中,否则,难以知道其中的数据,也就不可能去画相应的趋势线了。
因此,画趋势线的范围,是由窗口中可见K线数为基础条件的。
因此,计算时,首先要获得窗口中的可见K线数。
2、时间序列图表数据:iHighest(string symbol,int timeframe,int type,void count,void start); //一组K线最高价的序号参数说明:string symbol:选定的货币对,NULL、symbol()均代表当前图表中的货币对int timeframe:所选时间周期,0代表当前图表中的时间周期int type:所选数组的类型,如MODE_HIGH(最高价)、MODE_LOW(最低价)、MODE_OPEN(开盘价)、MODE_CLOSE(收盘价)、MODE_VOLUME(成交量)、MODE_TIME(交易开始时间)void count:一组K线的计算根数void start:开始K线的序号最高价=High[ iHight()];iLowest(string symbol,int timeframe,int type,void count,void start); //一组K线最低价的序号参数说明:与以上函数相对应,使用方法相同。
最低价=Low[iLowest()];3、数组函数:ArrayMaximum(double array[],void count,void start); //数组最大值位置参数说明:double array[]://要求搜索的数组void count://该数组的项目数void start://开始搜索的序号最大值=array[ArrayMaximum()];ArrayMinimum(double array[],void count,void start); //数组最小值位置参数说明:以上面最大值位置相对应,使用方法相同。
MT4的MACD编程EA详解在MT4安装后,默认会给用户提供几个例子程序,这些程序对于新学习EA开发过程中有很大的帮助,下面我们就来对MACD Sample这个例子EA来做个解读,来看看别人是如何开发一个EA的。
首先是注释,在MQL语言中所有//的这一行就是注释行,系统本身不会去执行它,它只是用来解释当前代码的含义的,我们在代码中加入这些注释为了是让我们能够清楚的阅读代码的含义,在程序中加入详细的注释是一个很好的编程习惯,我们鼓励大家多加入注释。
很多人觉得注释这东西因为没用在写代码中觉得很麻烦而忽略它,但是即使是自己编写的程序如果不加注释过几天就会忘记意思,还要再一行一行地看这些代码,所以注释是非常重要的。
下面这些就是定义变量,我们发现前面加上了extern关键字,如果在定义变量的前面有这个词说明这个变量将会被作为EA运行的参数,举个例子,比如我要编写一个EA,在使用过程中我想改变它的止盈和止损值,如果我程序都是事先编好的止盈止损,那么以后要改动它必须要改代码,这样不仅麻烦也不灵活,如果我把这些信息作为EA 运行参数,那么在EA运行中就可以随时调整它了。
extern double TakeProfit = 50;extern double Lots = 0.1;extern double TrailingStop = 30;extern double MACDOpenLevel=3;extern double MACDCloseLevel=2;extern double MA TrendPeriod=26;上面定义了6个变量并且都是当作参数,这里设定变量名称的时候尽量使用用户可以理解的词汇,在EA的参数设置里这些变量名就是参数的名字。
值得注意的是EA里变量名称是可以用中文的。
int start()start()函数是EA运行的核心,MQL语言规定了几个默认函数,其中EA第一次运行时会调用init()函数,在这个函数里我们可以放入一些需要初始化的信息,start()函数中放我们EA的核心代码,每次一个TICK(换句话说就是新报价)来到后,系统会自动调用start()函数。
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编程入门教程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编程语言可以创建自定义指标和脚本。
自定义指标是根据特定算法计算的技术指标,用于辅助交易决策。
EA编程实训课程(网摘)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制EA编程实训课程(网摘)EA编程实训课程(网摘)第一课:查看基本信息1.1课程目标:不同平台、不同货币对的交易规则是不同的ECN平台上的差点是浮动的熟悉MQL4四种信息的输出方式:1、在“屏幕左上角”显示:Comment2、在智能交易信息栏进行“输出”显示;Print3、用“信息框”进行显示:Alart4、用“定位写出”函数进行显示:iDisplayInfo1.2实训内容:编写EA程序,用Comment()命令分行显示:帐户名称、帐户余额、帐户可用保证金、帐户已用保证金、当前货币对;帐户杠杆、点差、停止水平、隔夜利息(分买卖)、1手保证金、1点价值;使用Comment函数在主图右上角显示:Ask、Bid价;要求:显示字符颜色、大小、字体、位置可调。
使用自定义函数iDisplayInfo()在主图右下角显示1根K 线的开盘价、最高价、最低价、收盘价。
当前Ask价高于K线的最高价,或低于最低价时,用Alart 弹出报警信息框。
编写自定义函数iAdd(),输入两个参数为整数型数字,输出两个参数相加的结果,在图中显示iAdd调用结果。
1.3参考资料:iDispalyInfo(定位写出)是自定义函数用于在屏幕上显示相关信息,由于其位置、颜色、大小、字体可调而被经常使用。
例:在屏幕上显示标签:输入参数:标签名称string LableName文本内容string LableDoc显示位置int Corner标签X坐标int LableX标签Y坐标int LableY文本字号int DocSize文本字体int DocStyle文本颜色int DocColor输出参数:在指定的屏幕位置(X,Y),按照指定的字号、字体、颜色,显示指定的文本。
算法说明:Void 定位写出(标签名称,文本内容,显示位置,X坐标,Y坐标,字号、字体、颜色)iDisPalyInfo (string LableName,string LableDoc,intCorner,int LabltX,int LableY,int Docsize,int DocStyle,int Doccolor){创建对象(标签名称,对象类型,0,0,0)ObjectCreate(LableName,OBJ_Lable,0,0,0)文本属性(标签名称,文本内容,字号,字体,颜色)ObjectSetText(LableName,LableDoc,DocSize,DocStyle,D ocColor) 对象属性(标签名称,显示位置,位置)ObjectSet(LableName,OBJPROP_CORNER,Corner)对象属性(标签名称,X坐标,X)Opjectset(LableName,OBJPROP_XDISTANCE,LableX) 对象属性(标签名称,Y坐标,Y)OpjectSet(LableName,OBJPROP_YDISTANCE,LableY) 返回(0)}程序中调用举例说明:定位写出("标注1","当前时间=25",0,1,1,8,"宋体",红色) iDisStyleInfo("标注1","当前时间=25",0,1,1,8,"宋体",红色) 字符标签名:标注1显示内容:当前时间=25显示位置:在右上角(其中:0-左上角,1-右上角,2-左下角,3-右下角)标签横坐标X:1标签纵坐标Y:1文字大小:8号字体类型:宋体文本颜色:红色自定义函数参考代码:int iADD(int a,int b){Return(a+b);}1.4思考题:1、按照自己的理解,列表详细说明MarkteInfo()函数中28个信息参数(如MODE_LOW、MODE_HIGH等)含义2、按照自己的理解,列表详细说明Account开头的16个帐户函数(AccountBalance、AccountCredit等)含义3、将已经编制好的EA分别加载到MM平台和ECN平台,对比查看各项市场参数,说出两者不同之处。
目录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编程入门(一):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编程入门教程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编程入门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: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可执行文件。
如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。
三、将源码保存为源码文件在论坛上,我们也经常能看到指标源码贴在网页上,但没有mq4、ex4等文件可以下载,只能复制源码。
此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。
1、打开MQ语言编辑器2、在MQ语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。
MT4智能交易(OrderModify()函数)在外汇交易中,市场的信息瞬息万变。
根据市场的变化,我们往往要及时跟进修改自己交易的策略。
当然这是建立在已有的基础上。
比如EA在市场符合一定的条件之后开了一个单子并设定了止盈止损。
那么如果中途根据市场的改变而想相应地改变止盈止损的设置,就有会用到OrderModify() 函数。
它的完整构成为:bool OrderModify(int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE)这个函数可以修改即时单和挂单的参数值。
当函数返回TRUE时,表明修改已经成功。
如果返回的值为FALSE,则说明修改失败。
ticket - 这个命令的编号price - 更改后的挂单或市场单的新价位stoploss - 新的止损价位takeprofit - 新的止盈价位expiration - 挂单的过期时间arrow_color - 修改的止损止盈箭头在图表上的颜色。
如果这个参数没有设置或者等于CLR_NONE,箭头将不会在图标上显示。
注意:只有挂单才能修改开仓价位和单子的有效时间。
市场单的修改一个标准的市场单包含止赢和止损价位以用来保护盈利或者控制损失。
如果不用EA,用户也可以随时改变单子的止损。
那就是通过使用平台提供的追踪止损这个功能。
当然,OrderModify()函数很大地拓展了改单的功能。
它不仅可以改变止损止盈价位,还可以取消他们。
但是要注意的是市场单修改时要有范围的限制。
这个限制就是止损价位和现价要有一定的距离。
这个最小的差价是交易商设定的。
可能每个交易商会有不一样。
如果用这个函数设置了一个比交易商规定的最小止损差价还要小的差价,那么这个请求将会被客户终端拒绝,导致修改失败。
挂单的修改修改挂单和市场单有一点区别。
【MQL4】新手快速学会怎样编写外汇EA# 什么是MT4?我就当你了解什么是MT4了MT4就是META. TRADER 4# 什么是EA?我也当你了解什么是EA了EA 就是 Expert AdviserEA 就是智能交易系统智能教育系统就是:-软件自己判断下订单-软件自己判断提成利润-软件自己判断砍仓止输# 什么是速成班?就是你在很短很快的时间内就可以学会如何编写EA 是的,快则8个学习小时慢则24个学习小时# 什么叫“易学难精”?就是你很快的就上手,难在成为厉害的高手。
这需要时间慢慢的去研究编写。
久而久之你就可以是EA编写高手了。
第一课::了解EA的形式* 以下就是EA的编写形式//#property copyright "外汇联盟 QQ群144033"#property link ""//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init(){//----//----return(0);}//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit(){//----//----return(0);}//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start(){//----//----return(0);}//+------------------------------------------------------------------+#property copyright "外汇联盟 QQ群144033"#property link ""写与不写都无所谓我们也不用理他* //+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init(){//----//以后可能有用到//----return(0);}//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit(){//----//以后可能有用到//----return(0);}这两个很少用到。
MT4编程入门教程MT4编程入门1:MT4自定义指标的基本操作 (1)MT4编程入门2:指标源码中的常用符号说明 (7)MT4编程入门3:自定义变量 (8)MT4编程入门4:自定义函数 (9)MT4编程入门5:自定义数组 (10)MT4编程入门6:市场数据取值 (11)MT4编程入门7:判断语句 (14)MT4编程入门8:循环 (15)MT4编程入门9:MT4自定义指标的结构 (17)MT4编程入门10:画一条指标线 (19)MT4编程入门11:MT4的报警 (24)MT4编程入门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可执行文件。
日期函数(DATE)的使用方法日期函数有很多种用法,下面我会介绍一些常用的日期函数以及如何正确地使用它们。
1.DATE函数:DATE函数用于创建一个日期。
它的语法是=DATE(年,月,日)。
例如,=DATE(2024,1,1)将创建一个日期为2024年1月1日的单元格。
可以使用其他单元格中的值作为参数,例如=DATE(A1,B1,C1)。
2.NOW函数:NOW函数用于返回当前日期和时间。
它的语法很简单,只需在公式输入框中键入=NOW(即可。
该函数始终返回当前日期和时间的值,无需任何参数。
3.YEAR函数:YEAR函数用于提取给定日期的年份。
它的语法是=YEAR(日期)。
例如,=YEAR(DATE(2024,1,1))将返回20244.MONTH函数:MONTH函数用于提取给定日期的月份。
它的语法是=MONTH(日期)。
例如,=MONTH(DATE(2024,1,1))将返回15.DAY函数:DAY函数用于提取给定日期的日。
它的语法是=DAY(日期)。
例如,=DAY(DATE(2024,1,1))将返回16.WEEKDAY函数:WEEKDAY函数用于返回给定日期的星期几。
它的语法是=WEEKDAY(日期,类型)。
类型参数可选,用于指定星期几的类型,可以是1到3之间的整数,分别代表星期一到星期日,也可以是0到7之间的整数,其中0和7都表示星期日。
例如,=WEEKDAY(DATE(2024,1,1),2)将返回6,表示2024年1月1日是星期六。
7.DATEDIF函数:DATEDIF函数用于计算两个日期之间的天数、月数或年数。
它的语法是=DATEDIF(开始日期,结束日期,"单位")。
单位参数可选,可以是"D"(天)、"M"(月)或"Y"(年)。
例如,=DATEDIF(DATE(2024,1,1),DATE(2024,12,31),"D")将返回365,表示2024年1月1日到2024年12月31日之间相隔365天。
mt4事件函数
MetaTrader 4(MT4)是一款流行的外汇和期货交易软件,它提供了丰富的图表、交易和自动化功能。
在MT4中,事件函数是指在特定事件发生时触发执行的函数或脚本。
以下是MT4中常见的一些事件函数:
1. OnTick():当市场产生一个新的tick数据时触发,通常用于实时交易和自动化策略。
2. OnTimer():根据设定的时间间隔触发,常用于定期执行某些任务,例如发送电子邮件或更新图表数据。
3. OnCalculate():当系统计算价格、指标或其他分析数据时触发,可以用于自定义计算或数据提取。
4. OnOrderEvent():当订单状态发生变化时触发,例如订单被执行、取消或修改,可用于订单的跟踪和管理。
5. OnTradeEvent():当发生交易事件时触发,例如成交、止损或止盈,可用于交易日志记录和风险管理。
6. OnChartEvent():当图表发生某些事件时触发,例如鼠标移动到某个价格点上或选择某个图表周期,可用于图表分析和交互。
这些事件函数可以与脚本语言结合使用,实现自动化交易、数据分析和图形化展示等功能。
通过编写自定义的事件函数,交易者可以根据自己的需求和策略定制MT4的交易界面和逻辑。
然而,使用事件函数也需要注意性能和可靠性问题,确保在处理事件时不会对交易操作造成干扰或延迟。
同时,在使用事件函数之前,建议仔细阅读MT4的官方文档和开发者资源,以了解更多关于事件函数的详细信息和最佳实践。
MT4 MT5外汇EA编程教程大全之日期时间函数(四) 表示时间类型数据的一组函数 (从1970年1月1日午夜开始以秒为单位计算)。
Day DayOfWeek DayOfYear Hour Minute Month Seconds TimeCurrent TimeDay TimeDayOfWeek TimeDayOfYear TimeHour TimeLocal TimeMinute TimeMonth TimeSeconds TimeYear Year
int Day( ) 返回这个月的当天,最后一次访问服务器的时间。
注解: 在测试中, 时间格式为最后设定的服务器模式。 示例: if(Day()<5) return(0);
int DayOfWeek( ) 返回这周的星期数,(0-星期天,1,2,3,4,5,6 以此类推)来自最后已知的服务器上的时间。
注解: 在测试中, 时间格式为最后设置的服务器模式。 示例: // 假期不工作 if(DayOfWeek()==0 || DayOfWeek()==6) return(0);
int DayOfYear( ) 返回年的当天(1 代表1月1 日.., 365(6) 就是12月31 日), 最后访问服务器的时间。
注解: 在测试中, 时间格式为最后已知的服务器模式。 示例: if(DayOfYear()==245) return(true); int Hour( ) 在程序开始以前的片刻,返回小时数(0,1,2,..23) 最后访问的服务器时间(在程序执行之内
的时期这个值不会改变) 。 注解: 在测试中, 时间格式为最后设置的服务器模式。 示例: bool is_siesta=false; if(Hour()>=12 || Hour()<17) is_siesta=true;
int Minute( ) 在程序开始以前的片刻,返回当前的分钟(0,1,2,..59)最后访问的服务器时间(在程序执行期
间这个值不会改变) 。 示例: if(Minute()<=15) return("first quarter");
int Month( ) 在程序开始以前的片刻,返回当前的月数(1,2,..12)最后访问的服务器时间(在程序执行期间
这个值不会改变) 。 注解: 在测试中, 时间格式为最后设定的服务器模式。 示例: if(Month()<=5) return("the first half year");
int Seconds( ) 在程序开始以前的片刻,返回当前的秒数作为数字最后访问的服务器时间(在程序执行期间
这个值不会改变) 。 示例: if(Seconds()<=15) return(0);
datetime TimeCurrent( ) 返回最后访问的服务器时间(最新的行情输入时间)作为秒钟数字从00:00 1970 年1月1 日
开始。 注解: 在测试中, 时间格式为最后设定的服务器模式。 示例: if(TimeCurrent()-OrderOpenTime()<360) return(0);
int TimeDay( datetime date) 返回输入日期中的日期(1-31)
参量: date - 作为秒钟的数字从00:00 1970 年1月1 日开始。
示例: int day=TimeDay(D'2003.12.31'); // 天数为31
int TimeDayOfWeek( datetime date) 返回从零开始的星期中的第几天(0 代表星期天, 1, 2, 3, 4, 5, 6) 为指定日期。
参量: date - 作为秒钟的数字,从00:00 1970 年1月1 日开始。
示例: int weekday=TimeDayOfWeek(D'2004.11.2'); // 数字2 - 星期二
int TimeDayOfYear( datetime date) 返回一年中的日数(1 意味1月1 日.., 365(6) 表示12月31 日)为指定日期。
参量: date - 作为秒钟的数字,从00:00 1970 年1月1 日开始。
示例: int day=TimeDayOfYear(TimeCurrent());
int TimeHour( datetime time) 返回小时为指定的时间。 参量: time - 作为秒钟的数字,从00:00 1970 年1月1 日开始。
示例: int h=TimeHour(TimeCurrent());
datetime TimeLocal( ) 返回当前电脑时间,从00:00 1970 年1月1 日开始。
注解: 在测试中, 时间格式为最后设定的服务器模式。 示例: if(TimeLocal()-OrderOpenTime()<360) return(0);
int TimeMinute( datetime time) 返回分钟为指定的时间。
参量: time - 作为秒钟的数字,从00:00 1970 年1月1 日开始。
示例: int m=TimeMinute(TimeCurrent());
int TimeMonth( datetime time) 返回月数为指定的时间。
参量: time - 作为秒钟的数字,从00:00 1970 年1月1 日开始。 示例: int m=TimeMonth(TimeCurrent());
int TimeSeconds( datetime time) 返回秒数为指定的时间。
参量: time - 作为秒钟的数字,从00:00 1970 年1月1 日开始。
示例: int m=TimeSeconds(TimeCurrent());
int TimeYear( datetime time) 返回年数为指定的时间。返回值的范围可以在1970 到 2037之间。
参量: time - 作为秒钟的数字,从00:00 1970 年1月1 日开始。
示例: int y=TimeYear(TimeCurrent());
int Year( ) 返回本年度的年数字,即,服务器的年数时间。 注解: 在测试中, 时间格式为最后设定的服务器模式。 示例: // 如果时间范围在2006年1月到4月30日之间,返回。 if(Year()==2006 && Month()<5) return(0);
下午13:00—17:00 B.实行不定时工作制的员工,在保证完成甲方工作任务情况下,经公司同意,可自行安排工作和休息时间。 3.1.2打卡制度 3.1.2.1公司实行上、下班指纹录入打卡制度。全体员工都必须自觉遵守工作时间,实行不定时工作制的员工不必打卡。 3.1.2.2打卡次数:一日两次,即早上上班打卡一次,下午下班打卡一次。 3.1.2.3打卡时间:打卡时间为上班到岗时间和下班离岗时间; 3.1.2.4因公外出不能打卡:因公外出不能打卡应填写《外勤登记表》,注明外出日期、事由、外勤起止时间。因公外出需事先申请,如因特殊情况不能事先申请,应在事毕到岗当日完成申请、审批手续,否则按旷工处理。因停电、卡钟(工卡)故障未打卡的员工,上班前、下班后要及时到部门考勤员处填写《未打卡补签申请表》,由直接主管签字证明当日的出勤状况,报部门经理、人力资源部批准后,月底由部门考勤员据此上报考勤。上述情况考勤由各部门或分公司和项目文员协助人力资源部进行管理。
3.1.2.5手工考勤制度 3.1.2.6手工考勤制申请:由于工作性质,员工无法正常打卡(如外围人员、出差),可由各部门提出人员名单,经主管副总批准后,报人力资源部审批备案。 3.1.2.7参与手工考勤的员工,需由其主管部门的部门考勤员(文员)或部门指定人员进行考勤管理,并于每月26日前向人力资源部递交考勤报表。 3.1.2.8参与手工考勤的员工如有请假情况发生,应遵守相关请、休假制度,如实填报相关表单。 3.1.2.9 外派员工在外派工作期间的考勤,需在外派公司打卡记录;如遇中途出差,持出差证明,出差期间的考勤在出差地所在公司打卡记录; 3.2加班管理 3.2.1定义 加班是指员工在节假日或公司规定的休息日仍照常工作的情况。
A.现场管理人员和劳务人员的加班应严格控制,各部门应按月工时标准,合理安排工作班次。部门经理要严格审批员工排班表,保证员工有效工时达到要求。凡是达到月工时标准的,应扣减员工本人的存休或工资;对超出月工时标准的,应说明理由,报主管副总和人力资源部审批。 B.因员工月薪工资中的补贴已包括延时工作补贴,所以延时工作在4小时(不含)以下的,不再另计加班工资。因工作需要,一般员工延时工作4小时至8小时可申报加班半天,超过8小时可申报加班1天。对主管(含)以上管理人员,一般情况下延时工作不计加班,因特殊情况经总经理以上领导批准的延时工作,可按以上标准计加班。 3.2.2.2员工加班应提前申请,事先填写《加班申请表》,因无法确定加班工时的,应在本次加班完成后3个工作日内补填《加班申请表》。《加班申请表》经部门经理同意,主管副总经理审核报总经理批准后有效。《加班申请表》必须事前当月内上报有效,如遇特殊情况,也必须在一周内上报至总经理批准。如未履行上述程序,视为乙方自愿加班。
3.2.2.3员工加班,也应按规定打卡,没有打卡记录的加班,公司不予承认;有打卡记录但无公司总经理批准的加班,公司不予承认加班。 3.2.2.4原则上,参加公司组织的各种培训、集体活动不计加班。