手机版

MT4编程:如何把指标应用到外汇EA上?

2018-10-13 阅读 :

好指标如何应用到EA上?

 

第一部分:指标

为了能赚钱而不是亏损,无论是专业的交易商还是个体,都在研究各和总结各种种的规律,并做成指标,我们经常会发现一些指标图线看起来很完美,于是都会想到要根据指标的变化进行交易。

但这样做会赚钱吗?

能否赚钱,我们就要看这些指标有没有作弊。即确定指标是否有未来函数的计算,也就是说指标会不会根据现在的K线,计算后将指标在历史K线上标示做更改。比如原来是卖的提示,改为买。(恐怖吧)。(当然还有一些EA特有的环节也会影响盈利问题,在这里不讲)

确定是否有未来函数的方法有两种:

1.白盒校验(即查看源码)

直接看源码中的循环部分,如果有修改历史曲线数组的行为,则可以立刻断定有未来函数。

2.黑盒观察

当没有源码的时候,可以将指标加载到1分钟的图线上,连续不断观察其标示的变化,尤其注意与当前K线状态最接近的历史K线标示的变化。如果随着当前K线的变化出现过历史变化更改,则也可以确定有未来函数

指标EA化之前必须要确认的事情:

如果一个指标含有 未来函数,那么这个指标是没有多大意义的。也就是说,我们要将指标改为EA前,必须确认这个指标是不含未来函数的,这样指标EA化才有意义。

第二部分 指标EA化

接下来将指标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线中的数值设成当前价。反之则设为“空”。这样循环一遍后 你肉眼看到的就是变色线了

现在我们可以轻松获得指标的当前讯号状态了!

下一步就是结合进EA中,就是把指标中的数组值拿过来

第三部分 EA 编程逻辑

EA就是一个循环往复的过程。每来一个价格就运行一次。

EA是电脑,并不知道你现在的仓位情况也不知道指标的情况,除了计算什么都不知道,一切都是编程者赋予的。因此,编程者脑子里一定要建立一种综合状态的概念。

EA的一开始一定要先进行仓位的情况检查。大致的逻辑如下:

  

1  先查出持仓情况和持仓单的方向。

2.  然后获得指标的数值。   

3   判断并操作

持仓状态下:根据持仓单的方向进行对应来判断反向讯号是否发生。如果发生则平仓并反向入场。如果没发生则直接返回,等待下一次价格的而到来。

空仓状态下:则两个方向的讯号都做判断,哪边发生了就按那边的方向入场。

4.   其他的的细节

不论入场还是出场都要在发出动作后马上判断是否正确执行的判断。如果没有执行成功则一定要立刻放弃后面的操作直接返回。等待下一个价格来的时候在此发出同样的动作。

另外说明的是数据是自动更新的。

本文标题:MT4编程:如何把指标应用到外汇EA上? - MT4平台MQL4编程学习
本文地址:http://www.waihuibang.com/fxschool/autotrading/mql4/67620.html

相关文章

  • VPS对外汇交易有什么用
    VPS对外汇交易有什么用

    VPS的英文全称叫Virtual Private Server,一台物理服务器上创建多个相互隔离的虚拟专用服务器,因为每一个VPS均可独立进行重启并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置...

    2018-10-13 MQL4编程学习
  • 外汇VPS到底是个什么鬼?
    外汇VPS到底是个什么鬼?

    近年来,外汇VPS交易逐渐在零售外汇圈内流行起来。本文将对外汇VPS及其原理、优势进行简要介绍。外汇VPS(虚拟私人服务器)支持EA交易员进行自动交易,最大程度地缩减MT4客户终端和MT4服务器之间的延迟。通过使用安全位置的...

    2018-10-13 MQL4编程学习
  • MT4平台如何使用EA进行自动交易?
    MT4平台如何使用EA进行自动交易?

    第一章 EA的加载EA:(Expert Advisor)MT4的智能交易系统。1、文件菜单中选择“打开数据文件夹” 在接下来打开的目录中进入MQL4\Experts 子目录 将EA文件(*.MQ4或*.EX4)放在此文件夹下。(与指标文件不同。指标文件放在MQ...

    2018-10-13 MQL4编程学习
  • MT4编程:如何将外汇技术指标转化为智能交易系统(外汇EA)

    第一部分:指标    为了能赚钱而不是亏损,无论是专业的交易商还是个体,都在研究各和总结各种种的规律,并做成指标,我们经常会发现一些指标图线看起来很完美,于是都会想到要根据指标的变化进行交易。  但这样做会赚钱吗...

    2018-10-13 MQL4编程学习
  • MT4编程:如何把指标应用到外汇EA上?

    好指标如何应用到EA上? 第一部分:指标为了能赚钱而不是亏损,无论是专业的交易商还是个体,都在研究各和总结各种种的规律,并做成指标,我们经常会发现一些指标图线看起来很完美,于是都会想到要根据指标的变化进行交易。但这样...

    2018-10-13 MQL4编程学习
  • MT4编程之MACD EA详解

    在MT4安装后,默认会给用户提供几个例子程序,这些程序对于新学习EA开发过程中有很大的帮助,下面我们就来对MACD Sample这个例子EA来做个解读,来看看别人是如何开发一个EA的。首先是注释,在MQL语言中所有//的这一行就是注释...

    2018-10-13 MQL4编程学习
  • MT4编程入门
    MT4编程入门

    MT4编程入门1:MT4自定义指标的保存目录、指标编缉一、文件菜单中选择“打开数据文件夹”,然后进入MQL4\Indicators 子目录,MT4自定义指标即保存在此目录中。 该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指...

    2018-10-13 MQL4编程学习
  • 90%的高收益外汇EA都是骗人的,为什么还有人信?
    90%的高收益外汇EA都是骗人的,为什么还有人信?

    刚入金融界的时候,就知道外汇市场90%的信息都是骗人的,这让当时刚毕业的我一直心存戒心。进入正规的金融公司后,我学到了很多,也见识了很多行业恶行,更见过很多奇葩的投资人。 许多外汇广告说得很夸张,明明风险高到可以...

    2018-10-13 MQL4编程学习
  • 外汇EA的那些误区你信了吗?
    外汇EA的那些误区你信了吗?

    外汇EA交易工具相信做外汇的投资者都不陌生,甚至不少投资者如今正在使用中。它能按照您事先设定好的条件自动的买卖与交易,并且由于它是电脑自动下单,因此可以更加快速地下单和平仓。但是市场上对于外汇EA的说法却是分...

    2018-10-13 MQL4编程学习
  • 外汇EA开发过程简介

    外汇EA外汇智能交易软件的开发是一个复杂的过程,需要分析师和程序员的配合,分析师负责总结行情,程序员负责把总结转成代码搭载到软件里,完成后还需要经过无数次复盘测试。 将交易策略转化成外汇EA智能交易软件的程序语言...

    2018-10-13 MQL4编程学习
你可能感兴趣