分类
外匯交易平台

好的EA是用好指标做出来的


自定义指标下单+辅助多功能面板EA ,最大的特色就是支持多品种开不同窗口独立进行设置,参数个性化设置后不丢失即使是多品种,下次再开启EA时参数还是上次的自定义参数。注意:不是所有的指标都可以支持。

通用EA:自定义策略和辅助交易类(第三章)

上面的代码非常易于理解。然而,我们需要澄清一些地方。CStrategy 交易引擎根据发生的事件调用方法 InitBuy,InitSell,SupportBuy 和 SuportSell(交易逻辑的方法),事件如市场深度变化,新报价的到来或者时间变化。通常来说,这些方法经常会被调用。然而,一个EA使用的事件种类非常有限。这个EA仅使用新柱形形成事件。因此,所有调用交易逻辑方法的其他事件都应被忽略。IsTrackEvents方法正是用作此功能的。它检查传入的事件是否是被追踪的事件,如果是 — 返回true,否则返回false。

positions结构体被用作为辅助变量。它包含属于当前策略的多单和空单的数量。CStrategy引擎会进行统计,因此策略无需遍历所有未平仓头寸来计算它们的数量。EA的开仓策略其实简化到检验如下的条件:

  1. 交易事件是新柱形的开始。
  2. 没有其他同向未平仓头寸。
  3. 快速移动平均线在慢速之上(买入)或之下(卖出)。
  1. 交易事件是新柱形的开始。
  2. 快速均线在慢速均线之下(平仓多单)或者之上(平仓空单)。

基于布林带突破的EA样例

除了我们已经熟悉的方法外,EA还包含重写的方法 ExpertNameFull 和 ParseXmlParams。第一个确定EA的唯一名称,它作为EA的名称显示在用户面板中。第二个方法从XML文件中加载布林带指标的设置。用户面板和存储在XML文件中的EA设置将在下一篇文章中讨论。EA剩下部分的操作和之前的类似。这就是所提出方法的目标:全面标准化EA的开发。

加载自定义策略到交易引擎中

  • 策略的唯一标识符(magic编号)。策略的ID必须是唯一的,即使它们是同一个类的实例。要指定唯一的编号,使用策略中的 ExpertMagic() 方法。
  • 策略的时间框架(EA的运行图表周期)。即使一个策略同时在多个时间周期下运行,你仍旧需要指定运行周期。这种情况下可以是指定最经常使用的时间框架。要指定周期,使用 Timeframe 设置方法。
  • 策略货币对(运行的图表)。即使一个策略同时在多个货币图表下运行,你仍需指定运行图表货币对名称。可以是策略会用的货币对之一。
  • 策略名称。除了上述属性,每一个策略都必须有它自身的 字符串(string) 名称。使用 ExpertName Set 方法来确定EA的名称。这个属性是必须的,因为它用于从Strategies.xml文件自动创建策略。它还用于在用户面板中显示策略的名称,这将在下一篇文章中介绍。
  • 管理策略的外部模块CStrategyList。这个模块是一个策略管理器,包含控制它们的算法。我们将在下一篇文章中讨论这个模块。
  • 一个策略的内部模块CStrategy。这个模块定义策略的基本函数。这在本文及前一篇文章“通用智能交易系统:事件模型和交易策略原型(第二篇)”好的EA是用好指标做出来的 中详细叙述了。

CStrategy的每一个实例都必须加载到策略管理器 CStrategyList 中。策略管理器允许以两种方式加载策略:

  • 自动的,使用 Strategies.xml 配置文件。例如,你可以在此文件中描述策略集和它们的参数。然后,当你在图表上运行一个EA时,策略管理器将创建所需的策略实例,初始化它们的参数并将其添加到列表中。这个方法将在下一篇文章中详细叙述。
  • 手动的 向执行模块中添加描述。这种情况下,使用指令集,对应的策略对象在EA的 OnInit 函数中被创建,然后被初始化并添加到策略管理器 CStrategyList 中。

这里是手动配置过程的描述。我们创建具有下述内容的Agent.好的EA是用好指标做出来的 mq5文件:

从这个列表中我们看到策略的配置在 OnInit 函数中被执行。如果你忘了指定策略的必要参数之一,策略管理器将会拒绝添加到列表中。这种情况下,AddStartegy 方法将反回false,并且创建的策略实例将被删除。策略管理器产生一个警告消息帮助你理解潜在的问题。让我们试着调用这个消息。为此,将编号设置指令注释掉:

除了配置策略,Agent.mq5文件还包含要分析的交易事件的处理过程。此处理包括事件追踪,并将其传递给 CStrategyList 类中的相应方法。

一旦创建可执行文件,就可以编译了。被分析策略的源代码在本文附件的Include\Strategy\Samples文件夹下。一个编译好的EA将可以使用了并且它包含两个策略的交易逻辑。

在第四篇文章“通用EA:组合交易及管理策略组合(第四篇)”中我们将讨论算法,使用此算法我们能够向一个可执行EA模块ex5中添加无限制数量的交易逻辑。在第四篇文章中我们还将考虑一个用户面板,使用它你可以在可执行模块中管理EA,例如,改变交易模式或者代为买入和卖出。

让指标秒变EA/自定义指标下单辅助面板EA


自定义指标下单+辅助多功能面板EA ,最大的特色就是支持多品种开不同窗口独立进行设置,参数个性化设置后不丢失即使是多品种,下次再开启EA时参数还是上次的自定义参数。注意:不是所有的指标都可以支持。

★功能提示★
★安装.把EA文件放置在:X:\MT4 Client Terminal\MQL4\Experts目录下(或打开MT4-文件-打开数据文件夹找到MQL4\Experts目录)即可。
★0.特别注意参数需要跳动一个价位,或者系统时间走动一格才会产生记录。
★1.这个EA输入参数就可以自设置自动运行。
★2.可以自动设损盈、平保、移损。
★3.自适应不同货币对,设置参数后好后EA会自动记录参数,关闭EA重新打开不会丢失参数。
★4.某参数置为0某功能就不打开。
★5.若更换mt4还要保留参数就把原MT4的X:\ MT4 Client Terminal\MQL4\Files目录下文件转移到新MT4内。
★6.不同货币对要开一个独立窗口,比如开在EURUSD就只对这货币对进行操作。
★7.该EA自动适应各货币对最小点,比如EURUSD就是0.00000或自适应其它品质最小点。
★8.三种平仓功能,全平、平多、平空,按钮按下价格跳动后执行,再次按下就停止,并显示红色。
★9.在运行途中,止损止盈若需要程序自动设置的,可把先前或者目前的止损止盈线在图表中删除,EA就会建立一条新的出来,建立出来后可手动调整。
★★10. 自定义指标下单! 输入下单量,输入自定义指标名称(指标需数字化命名放置在默认指标目录,把指标命名为数字后放入默认指标文件,输入数字识别指标),输入周期(分钟),设置参数(先支持1个参数),对应的索引线(指标线,比如打开MT4数据窗口,获取索引线值,0是第一个),EA会在这个双线指标金叉或死叉执行买入或反向时卖出,支持1单的交易,不影响其它本货币对非此EA的开单何交易。

版本更新:
【1.0】版更新内容:加入自动设损盈+平保+移损功能,已经修改的单子不会重复修改。
【2.0】版更新内容:加入面板,手动在窗口界面直接输入参数,颜色可自定义。(更新时间20180609)
【2.1】版更新内容:参数自动记录,重新打开不丢失,切换周期不影响使用。(更新时间20180613)
【2.2】版更新内容:自适应多货币对参数(2.1只能适应一个货币对),多个货币对或交易品种,参数自适应了,但不同货币对要开一个独立窗口。
【2.21】优化了一下系统设置界面,说明书更详细。
【2.22】加入三种平仓功能,全平、平多、平空,按钮按下价格跳动后执行,并显示红色。
【3.00】 ★★支持自定义指标调入下单! 此功能市面上绝无仅有! 目前支持到两条线的EA,不懂编写EA的人也能轻松玩上EA,输入下单量,输入自定义指标名称(需数字化),输入周期(分钟),设置参数(先支持1个参数),对应的索引线(指标线),EA会在这个双线指标金叉或死叉执行买入或反向时卖出,支持1单的交易,不影响其它本货币对非此EA的开单。(更新时间20180618端午节)
【3.01】1修正了下单手数的失效、2优化了平仓的算法、3加入开启指标功能按钮、4不开空单按钮、5不开空单按钮、6不平仓按钮

+ EA下载说明 | EA Download Instructions
- 下载方式01:用户若需下载此EA,请先购买 《 智EA+宝盒》 在MT4软件内加载运行后,在可视化图表页面专属下载此EA,更有精心整理Top50优质EA以及内置多货币趋势指标下单工具箱,免费优质跟单信号推荐和其他实用辅助工具等!开启属于你自己的外汇交易的月光宝盒。
- 下载方式02: 本EA为无限制版本 [ 不限账户和时间使用 ],可注册单独购买下载, 不想购买《EA+宝盒》的用户,可自行注册账户后充值购买下载,仅支持支付宝充值。

· 好的EA是用好指标做出来的 免责声明:投资有风险,本网站所包含之所有信息均不构成对外汇的任何任何投资的建议或意见, 网站内容仅供参考。不适合所有投资者,客户需根据自身情况选择,网站访问者不应依赖本网站信息并将其视爲作爲或不作爲之依据。 对于任何个人依据本网站或网站的信息采取的作爲或不作爲所导致的结果,我们将毋须承担任何责任。