外汇自动交易EA的概念及特点
本文转载于互联网,因其很好的诠释了EA的概念及特点,在此让更多的汇友参考。

随着国内金融市场的进一步开放和扩大,人们花在投资上的时间和精力,会越来越多,而投资就必然有风险。单纯的人工看盘分析行情进行交易,显然愈来愈力不从心,因为投资者所面对的是每时每刻都在变化增长的海量数据。不可想像一个现在不用投资工具软件去进行交易的投资者,能够在这个市场中长期获利。况且,一个人若是每时每刻都把时间花在投资市场的数据分析上,我想,他把投资与人生的关系了也搞颠倒了。所以,我个人认为,未来的投资将是愈来愈离不开投资工具的时代,一个好的工具能让你从纷繁复杂的数据中,理清自己的目标,从而助你一臂之力,未来的投资胜利者,必然是会使用投资工具而又不拘泥于投资工具的人。在此必须申明的一点,投资工具只能是工具,从来不会保证任何人绝对盈利,但是,同样一个连基本投资工具就不会用的人,可以肯定地说他也绝对不会保证盈利。工具都有其两面性特征,而自然界中一切事物,又何尝不是如此呢?一只枪,在战场上每个人都知道它对自己有用,可对于不会使用枪的人来说,枪没有什么用途,相反,搞不好还会打伤自己。有无相生,祸福相依。话题扯得有点远了。接回来,外汇EA交易,作为一个比较新的投资工具,毫不例外。这对于正确认识以EA为主导的本论坛和培训EA为主的本版面也许不无助益。下面所要介绍的一文:《EA是什么?及他的工作原理》,最早是我2008年11月开通QQ空间是所写的一篇介绍EA知识的文章,后寄到MQL4论坛,然后ROSH先生与我沟通、征得同意并于12月9日侥幸登出,随后国内各外汇论坛和外汇EA相关的博客也相继转载,得以广传,此始料未及,但愿不至于误导读者.在此重新拿来贴出,还是希望让更多的读者,能够通过阅读此文,对EA的基本概念和工作原理有个比较简单而明了的理解,从而真正走到使用EA或者开发EA的道路上,缩短求道道的路程.

道不可尽道,名也不可尽名...

EA是什么?及他的工作原理

EA 即 Expert Advisors 的英文缩写,中文意思专家顾问,俗称智能交易系统,就是由电脑模拟交易员的下单操作进行机器自动交易的过程。

一、人工操盘过程

下面我们就以MT4外汇客户端为例,首先来分析一个外汇交易员手工进行外汇交易的操作过程:其步骤如下:
1.打开外汇交易客户端,选定一种货币对图表;
2。监视该货币对的K线趋势图,俗称盯盘,寻找开仓或者是平仓的时机,即开仓或者是平仓的条件
3。如果条件满足,进行下单开仓(做多或者做空)或者平仓
4。重复第二步,继续盯盘,假定第二步是开仓,就是寻找平仓的条件。
5。如果平仓的条件满足,进行平仓操作,计算盈亏核算。完成一次交易的循环。
6。若继续交易,重复2->3->4->5步
7。若不进行交易,退出外汇客户端。

二、机器操盘过程
基于以上的分析,我们已经知道一个完整的智能交易系统(俗称EA)在运行后必须要实现的基本功能,就是上述的人工操作的1-5步。这也就是智能交易系统的基本工作过程,所以智能交易系统的工作原理就是由程序员借助一门计算机程序设计语言,通过编写程序交易指令模拟人类交易员的行为进行下单操作,实现机器自动进行交易的过程。主要执行过程可分为:盯盘->开仓->再盯盘->平仓,如此循环执行的过程。
关于支持机器自动交易的平台,目前外汇市场上流行的就是MetaQuotes公司的MT4平台,由于这个平台中嵌入了一种MQL4语言,它提供了对服务器端的数据访问并可进行交易操作的接口,程序交易者可以根据自己的交易策略来编写自己的自动交易系统,从而实现让机器自动交易,既可以减轻人类的工作量,又可以克服人类交易中的一此性格弱点,但目前的EA开发,尚所早期起步阶段,有的还存在缺陷,但相信随着技术的发展,机器自动交易终将会逐步取代人类的手工操作。届时会给交易者一项新的选择。

三、相关MQL语言知识:

为了实现机器操作,再来看看所需的MQL4语言的相关知识:

1.掌握MQL4语言的基本语法和程序的构成,及运行流程
有关语法部分,请读者参看相关的资料,这里略去。

关于程序的构成,对于一个智能交易系统EA程序来说:主要由三个函数构成分别是:

init():初始化函数,负责程序变量及数据初始输入;只在程序调入时执行一次,一般不用重写内容。
deinit():反初始化函数,负责程序退出时,将数据从内存中清除;只在程序退出时,执行一次,一般不用重写内容。
start():开始函数,也即程序的主函数,负责EA程序的全部交易执行过程,实际上他是一个EA的交易管理与执行函数。每隔一定时间,一般几秒之内,执行一次,就是循环执行,起到程序退出时终止
运行流程:启动EA后,程序的INTI()开始执行一次,-->然后 START()循环执行--->最后退出EA时deinit()执行一次

2。mql4中与交易相关的交易函数:
开仓函数:
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, void comment, void magic, void expiration, void arrow_color)
这个功能主要应用于开仓位置和挂单交易.
参量:
symbol - 交易货币对。
cmd - 购买方式。
volume - 购买手数。
price - 收盘价格。
slippage - 最大允许滑点数。
stoploss - 止损水平。
takeprofit - 赢利水平。
comment - 注解文本。
magic - 定单指定码。可以作为用户指定识别码使用。
expiration - 定单有效时间(只限挂单)。
arrow_color - 图表上箭头颜色。如果参量丢失或存在CLR_NONE价格值不会在图表中画出
平仓函数:
bool OrderClose( int ticket, double lots, double price, int slippage, void Color)
对定单进行平仓操作。如果函数成功,返回的值是真实的。如果函数失败,返回的值是假的。获得详细错误信息,请查看GetLastError()函数。
参量:
ticket - 定单编号。
lots - 手数。
price - 收盘价格。
slippage - 最高划点数。
Color - 图表中标记颜色。如果参量丢失,CLR_NONE值将不会在图表中画出。
定单修改函数:
bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, void arrow_color)
对于先前的开仓或挂单进行特性修改。如果函数成功,返回的值为 TRUE。如果函数失败,返回的值为FALSE。获得详细的错误信息,查看 GetLastError()函数。
参量:
ticket - 定单编号。
price - 收盘价格
stoploss - 新止损水平。
takeprofit - 新赢利水平。
expiration - 挂单有效时间。
arrow_color - 在图表中允许对止损/赢利颜色进行修改。如果参量丢失或存在CLR_NONE 值,在图表中将不会显示。

四、源码的交易流程分析

下面的源码是一个基于移动平均线的智能交易系统的代码,整个程序非常简洁但EA的功能又非常齐全,实现了完全由电脑自动下单和平仓,整个程序只用了一个START() 函数来实现 。
源码略去... ...

五、本文结论

从以上的分析,可以知道,所谓EA,就是由电脑模拟交易员的下单操作进行机器交易的过程, 具体步骤如下:

1。当用户打开外汇客户端程序后,由客户端程序调入用户在系统内已预置好的EA交易系统程序。
2。当EA程序启动后便开始对图表中货币对的K线趋势图,进行监视,寻找开仓的条件;
3。如果条件满足,进行下单开仓(做多或者做空);
4。重复第二步,继续盯盘,假定第二步是开仓,就是寻找平仓的条件。
5。如果平仓的条件满足,进行平仓操作,计算盈亏核算。完成一次交易的循环。
6。若继续交易,EA重复2->3->4->5步
7。用户若不想让EA进行交易,可通过相关菜单操作设置禁用EA,或者退出外汇客户端。

希望上文能够给想学习EA、使用EA的汇友以帮助。

外汇自动交易EA的概念及特点相关推荐

  1. MT4/MQL4入门到精通外汇EA自动交易教程-MQL语言常用函数

    AccountBalance(); // 返回当前账户的余额. AccountEquity(); // 返回当前账户的净值. AccountFreeMargin(); // 返回当前账户可用预付款. ...

  2. 如何快速创建一个“2010 年自动交易锦标赛“专用“EA 交易“

    简介 为了开发出一种参与"2010 自动交易锦标赛"的"EA 交易",我们使用一个即用的.来自<交易机器人的原型>一文的"EA 交易&qu ...

  3. 外汇自动化交易怎么理解?

    外汇自动化交易怎么理解? 只要你是外汇投资者或者是从业者之一,就应该了 解到如今外汇交易方式中有一种外汇自动化交易越来越普遍.初期人们进行外汇交易的时候所有的交易流程都会经过本人,包括交易计划的制定, ...

  4. 外汇量化交易是什么?使用量化交易有哪些隐藏风险?

    外汇量化交易是什么?今天小恩就给大家聊聊,不久的未来,量化投资将是金融交易的大趋势所在,犹如人工智能取代很多传统的方式,耐心看完,必有所获. 量化投资是一种与传统投资模式存在较大差异的投资方式. 量化 ...

  5. 【EA-MT4】外汇程序化交易之枢轴点

    枢轴点(Pivot Points)是一个非常单纯的阻力支撑体系,是一种经典的日内交易策略. 大概10年前由某个期货高手所发明,至今已广泛应用在股票.期货.国债.指数等高成交量的金融商品上. 经典的Pi ...

  6. MT4如何使用软件开展自动交易详细步骤

    要在MT4上进行自动交易,您需要使用专门设计的交易机器人程序或EA(Expert Advisor).以下是使用MT4软件下载(www.cifco8.cn/mt4.html)开展自动交易的一般步骤: 编 ...

  7. python股票自动交易从零开始-怎样用 Python 写一个股票自动交易的程序-数字货币代理...

    1个赞 股票自动交易助手提供了一个 Python 自动下单接口,参考代码#股票自动交易助手 Python 自动下单使用 例子#把此脚本和 StockOrderApi.py Order.dll 放到你自 ...

  8. zulutrade外汇自动跟单系统介绍

    写在前面:今天向大家介绍的 zulutrade外 汇自动跟单 系统,其实在我的网站上很久以前就有过介绍,偶然发现这个系统比较有特色,就随手抄了点资料发到网站上,一直没有当回事.直到有一天 百无聊赖,进 ...

  9. 通达信 移动平均算法_通达信组合指标,如何使用股票池进行自动交易?实现程序化交易...

    除了使用股票池自动交易外,也可以使用预警指标公式自动下单或者图表自动交易来实现股票程序化交易.这一节先介绍利用股票池来实现自动化交易和实现股票程序化交易. 股票池自动交易图文 1.绑定 order.d ...

最新文章

  1. 可租赁、可定制的虚拟人居然还能这么玩?9月25日来百度大脑人像特效专场一探究竟!...
  2. 在Redis中设置了过期时间的Key,需要注意哪些问题?
  3. hadoop +hbase +zookeeper 完全分布搭建 (版本一)
  4. 怎样用VB编写.DLL动态链接库文件 1
  5. 地大武汉的计算机网络工程师,2021年中国地质大学(武汉)电子信息(085400)计算机网络与信息安全技术及应用_考研专业目录_考试科目_考试范围 - 学途吧...
  6. 单实例数据库和多实例数据库
  7. python123九宫格输入法_《啊哈C语言-2016最新修正版》.pdf
  8. ODI知识模块--IKM Oracle Incremental Update
  9. java同步synchronized
  10. linux中花括号的用法,linux 下 {}大括号的用法
  11. c语言中sqrt与pow的区别,实现sqrt和pow函数
  12. 计算机体系结构基础2(究竟什么是冯诺依曼瓶颈(von Neumann Bottleneck)?)
  13. H5微信分享自定义标题和图片的实现及遇到的各种坑
  14. 换新电脑后怎么重装系统win7,win7安装教程
  15. PAT 1058 选择题 python
  16. Android Wifi连接 (PEAP)
  17. 华为交换机本地查看登录和操作日志
  18. 认识区块链,认知区块链——NFT
  19. iPhone 5s--- iPhone x越狱详细教程,MacOS系统
  20. 腾讯云大老亲码“Spring深度笔记”,不讲一句废话,全是精华

热门文章

  1. Debezium系列之:实现不同表中的数据始终发往对应的kafka topic分区,支持根据表中任意字段分发数据到Kafka topic多个分区
  2. spark业务开发-空值处理
  3. java8 Collectors.toMap value为空,报NullPointerException
  4. 商业智能BI,大数据时代的新趋势
  5. 物联网兴起 让“多跳网络”受关注
  6. 多图上传,限制上传图片个数(增删)及限制上传图片的大小
  7. iOS 用UIPanGestureRecognizer实现单手指点击拖动缩放
  8. 二本理科计算机专业大学,理科计算机强的二本大学排名
  9. .Net设计模式之仓储(Repository)模式
  10. 【词性的选择与所放位置练习题】主语的选择-动词