MT4编程初级手册(1):MT4自定义指标的基本操作

阅读 :

MT4自定义指标的存盘目录、指标编缉器与指标调用

 

一、MT4自定义指标存储在C:/Program Files/MetaTrader 4/experts/indicators这个目录中

 

见下图:

 

111.gif

 

该目录中主要存储二种类型的文件,一种是后缀为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:/Program Files/MetaTrader 4/experts/indicators这个目录中,也就是下面这个目录中,就可以了。如果下载的是ex4文件,那就可以直接调用,但你不知道作者是如何编写的;如果是mq4文件的话,则需要重启动MT4,让系统自动编译生成ex4可执行文件,这种情况可以看到源代码,就可以知道作者是如何编写的。如果下载的是rar、zip等类型的压缩文件,还必须下载后将压缩文件中的mq4或ex4的文件解压到此目录才能使用。

 

222.png

 

三、将源码保存为源码文件

 

在论坛上,我们也可以经常看到一些指标的源码贴在网页上,但没有mq4、ex4等的文件可以下载,这种情况下只需要复制源码,自己粘帖过去就可以了。此时需要我们自己动手将源码保存为源码文件之后再编译,那也没关系,非常地简单,多点几下鼠标就搞定,别忘记给这个指标起个名字。

 

1、打开MQ语言编辑器

 

333.png

 

2、在MQL编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。

 

444.png

 

3、将新文件里面的所有内容删除,成为一个空文件。

 

555.png

 

4、之后我们就可以将网页上源码复制粘贴到这里面来,试着点一下“编写”,如果左下角出现“0错误,0警告”,那说明源码没有问题,编译通过了,成功生成了ex4可执行文件,但网上很多代码可能会存在一定的错误,无法形成ex4文件,这主要是由于编写环境的因素,所以在此一部可能需要反复调试和修改错误的语句。

 

666.png

 

5、还有很重要的一点,就是要把源码文件保存到正确的目录当中。

 

777.png

 

保存后,再点一下编译。到此,源码保存完成。当然,我们也还有别的方法:

 

可以打开一个原已存在的mq4文件,然后将其以别的文件名另存,再删除文件中的所有内容成一个空文件,把网页上的源贴到文件中保存即可。

 

也可以打开Windows自带的记事本,把网页上的源码贴进去,然后取个文件名保存到上面提到的目录,不过文件后缀必须设定为mq4,保存类型选择“所有文件”(这些方法大同小异,大家充分发挥自己的聪明才智吧)。

 

四、mt4程序调用自定义指标

 

这也非常简单,大家看图吧:

 

888.png

本文标题:MT4编程初级手册(1):MT4自定义指标的基本操作 - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40524.html

相关文章

  • EA编程教程大全之交易函数

    从自定义指标中不能调用OrderSend(), OrderClose, OrderCloseBy, OrderDelete和OrderModify交易函数。 OrderClose OrderCloseBy OrderClosePrice OrderCloseTime OrderComment OrderCommission...

    MQL4编程学习
  • EA编程教程第六讲 函数

    函数就是一个有某种功能的程序块,我们可以在程序的各个地方调用函数。一个函数由返回类型,函数名,函数参数构成。函数的参数最多不能超过64个。例如:一个实现加法功能的函数, double Add(double a, double b) { return...

    MQL4编程学习
  • MT4新编:简单三线交叉EA
    MT4新编:简单三线交叉EA

    MT4编程入门教程目录MT4编程入门1:MT4自定义指标的基本操作MT4编程入门2:指标源码中的常用符号说明MT4编程入门3:自定义变量MT4编程入门4:自定义函数MT4编程入门5:自定义数组MT4编程入门6:市场数据取值MT4编程入门7:判断...

    MQL4编程学习
  • 如何对智能交易系统(EA)进行测试
    如何对智能交易系统(EA)进行测试

    1. 首先把你得到的智能系统的文件复制到mt4客户端的/experts/文件夹下。我的MT4装在D盘,如图下面以测试我最近做出的EA-yunkaicn.mq4这个智能交易系统举例说明。2. 然后启动MT4交易软件,点击“显示”菜单下面的“...

    MQL4编程学习
  • MT4 EA寻找最优参数的方法教程
    MT4 EA寻找最优参数的方法教程

    很多人在用EA进行历史回测的过程中,发现并不理想和预期的有很大的差别,想要对EA部分参数进行优化,例如我们优化加仓距离点数,设置150点测试一遍,然后设置200点测试一遍,两次结果对比找出最好的加仓距离点数,如果是一个参数进...

    MQL4编程学习
你可能感兴趣