如何让EA读取自定义指标

2024-05-13 08:57

1. 如何让EA读取自定义指标

一、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语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。

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

4、接着我们就可以将网页上源码复制粘贴进来
试着点一下“编写”,如果左下角出现“0错误,0警告”,那说明源码没问题,编译通过了,成功生成了ex4可执行文件

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

保存后,再点一下编写。

到此,源码保存完成。

当然,我们也还有另的办法:

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

也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后缀必须输入mq4,保存类型选择“所以文件”

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

如何让EA读取自定义指标

2. 外汇EA的EA文件放置

¤ 指标的mq4、ex4文件复制至experts目录的indicators子目录下¤ EA自动交易的mq4、ex4文件复制至experts目录下¤ tpl文件为模板文件,复制至templates目录下¤ DLL文件为库文件,复制至experts目录的libraries子目录下¤ SET文件为设置文件,复制至experts目录的presets子目录下¤ pdf、txt、doc文件为说明文档,可直接打开阅读

3. 请教如何在EA里调用自己写的指标

自己写的指标可以用自定调用函数在EA里调用,具体的函数是

int  iCustom(
string           symbol,     // 交易品种名称
ENUM_TIMEFRAMES  period,     // 周期
string           name        // 文件夹/自定义指标_名称
...                          // 指标输入参量列表
);
比如用这个函数调用21日MA均线指标做个列子
double MA_handle=iCustom(NULL,0,"Moving Average",
21,
0,
MODE_SMA,
PRICE_CLOSE // 使用收盘价
);

请教如何在EA里调用自己写的指标

4. 外汇EA怎么安装到MT4上

外汇EA怎么安装到MT4上?

方法/步骤
1.首先打开交易软件平台,在第一行有一个文件,点击一下文件,出来一个目录,有一个打开数据文件夹点击一下进去
2.在数据文件夹里有很多文件,其中一个是MQL4的文件夹,这是专门放各种指标跟模板的,然后点击里面的MQL4文件夹
3.打开MQL4文件夹后里面有一个Experts文件,把要用的EA软件复制到里面就可以了
注意事项
1.复制进去之后,要重启交易平台更新
2.或者在平台左边导航里面鼠标左键点击EA交易,在点击鼠标右键刷新也是可以的
3.最后点击平台显示栏最上面的自动交易,从红色变成绿色就可以加载到货币正常使用了。在这里希望大家通过好的EA智能自动交易系统,赚到自己理想中的财富,有需要的也可以找我,非常乐意帮助你们,祝你们好运。

5. 请问在mt4中怎么把自定义指标加在EA程序里,就是启动EA后窗口上会显示相应的自定义指标。

指标先加入成功,可以手动用的时候,再添加到EA里,就跟已有指标的使用是一样了。

请问在mt4中怎么把自定义指标加在EA程序里,就是启动EA后窗口上会显示相应的自定义指标。

6. 怎样把指标转换成EA(2)

接下来将指标EA化大致的做法是:
在EA中通过函数iCustom读取这个指标的当前K线输出值,得出当前的状态,来决定是否入场或者平仓并反向入场。
iCustom的具体用法:
指标一般都是曲线或者箭头两种。在这里我们要把曲线和箭头都看成是数组就容易理解了。
对于指标来说每一条曲线或者箭头都是写在与每个K线对应的数组中的,也就是说一条曲线对应一个数组,一个方向的箭头也是对应一个数组(有箭头的数组值是当时的价格,没箭头地方的数组值是“空”)
iCustom  MT4的帮助里说的是:“计算指定的客户指标并且退回它的值”,即这个函数可以让你获取指定指标的第几个数组对应第几根K线上的计算数值。
具体如下:double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift)
计算指定的客户指标并且退回它的值。 必须在terminal_directory\experts\indicators目录内编写客户指标(*.EX4文件)。
参量:symbol-计算指标数据上的货币对名称. NULL表示当前货币对.
timeframe - 时间周期。 可以时间周期列举任意值. 0表示当前图表的时间周期.
name  - 客户指标完整的程序名称.
...  -  参量设置(如果需要)。通过的参量和他们的顺序必须与desclaration命令和客户指标的外部可变物的种类对应。
mode  - 索引行。 从0到7并且必须对应以其中一个使用的索引的 SetIndexBuffer 函数.
shift  - 从显示缓冲采取的值的索引(转移相对当前柱特定相当数量期间前).
示例:double val=iCustom(NULL, 0, "示例Ind",13,1,0);
double va2=iCustom(NULL, 0, "示例Ind",13,0,1);
例如:一个指标,画了两条曲线,则可以用iCustom取得这个指标在第4根K线上对应的第一条曲线的数值。
我们现在已经可以根据自己的想法去获得一个指定指标的任何K线上的状态数值了。那麽下一步我们就要开始EA的概念。
因为EA只针对当前价格状态下的动作进行控制。所以一般而言我们就取指定指标在当前K线下的计算数值用于EA的条件判断。
如果你认为当前K线没有结束,其数值始终在变化,有可能一会有讯号一会没讯号,那麽你可以采用取前一K线的指标数值的方式作为基础。(如果用当前K线指标数值作为条件会有不确定的结果,但如果用前一K线数值做条件则有“错过最佳入场点”的问题。这是需要程序设计者权衡的问题。)
另外的一个问题,就是怎末去判断指标输出的数值与我们肉眼看到的讯号一致起来的问题。
如果参考的指标是一种变色线,则一定是一种颜色一个数组的方式叠加起来显示的。我们在取其数值的时候只需要看看不同颜色的数组的数值比较一下就知道其结果是哪种颜色,并作为EA的条件进行动作就行了。
如果是箭头的方式,则一样是去取其数值,无箭头的K线上指标对应的数值是“空”,有箭头的地方数组对应的数值肯定不是空。用这个来判断是否发生了讯号就行了。
比如双色线,就一定是两个数组分别显示不同颜色,当指标认为应该显示其中一种颜色的时候就将这个颜色对应的数组在当前K线中的数值设成当前价。反之则设为“空”。这样循环一遍后 你肉眼看到的就是变色线了
现在我们可以轻松获得指标的当前讯号状态了!

7. EA的正版游戏是不是要安装在origin文件夹的origingame文件夹里?

对的,默认是C盘,可以自定义

EA的正版游戏是不是要安装在origin文件夹的origingame文件夹里?

8. 这里的MT4指标如何安装???

下载的指标需要放置在MT4软件里面的自定义指标中,其路径如下:

- MetaTrader 4\MQL4\Indicators

在把指标保存到以上文件夹之后,关闭平台并重新打开,然后可以在“自定义指标”里面找到相关的指标。