外汇EA编写教程:MetaTrader 5和MQL5提供的无限机会

“为了到达某个地方,你必须经历一些事情和过程。否则,你什么也得不到。”

目录

   简介
   1. 交易系统条件
   2. 外部参数
   3. 参数优化
      3.1.第一设置变量
         3.1.1. 常规参数与规范
         3.1.2. 测试程序设置
         3.1.3. 获取结果的分析
         3.1.4. 用于优化与测试结果分析的“读书报告”应用程序
         3.1.5. 资金管理系统
      3.2.第二设置变量
      3.3.可能的设置变量
   4. 可视化模式下的测试
   5. 界面与控件
   6. 信息面板 TRADE INFO 与 MONEY MANAGEMENT
   7. 图表左侧的交易信息面板
      7.1.参数系统
      7.2.交易时段时钟
      7.3.手动交易
         7.3.1. BUY/SELL/REVERSE 部分
         7.3.2. CLOSE POSITIONS 部分
         7.3.3. SET PENDING ORDERS 部分
         7.3.4. MODIFY ORDERS/POSITIONS 部分
         7.3.5. DELETE PENDING ORDERS 部分
      7.4.交易表现
      7.5.账户/交易品种信息
  8. EA 要用到的更多指标
  总结

简介

在本文中,我将给出一个例子,说明交易者的程序是什么样子的,以及从零开始学习MQL5需要9个月的时间。这个例子还展示了如何在价格表中占据最小空间的同时,为交易者实现这样一个程序的功能多样性和信息性。此外,我们还将看到如何获得各种颜色、清晰直观的用户交易信息面板。它还显示了在系统构造、多个策略或信号组的组合中,您可以走多远,同时保留了其最大的便利性和一次点击即可获得任意系统参数的能力。

我还想分享我对参数优化和系统测试周期的看法。我们还将关注建立基金管理系统的时机。如果只使用一个带有单个参数的标准索引,那么系统最多可以执行多少性能?一份详细的交易报告会是什么样的?它能在多大程度上发挥作用?最后,本文将对如何将自动、半自动和手工交易准备的资源组合成一个程序提出几点看法。

本文的难度基本上是中等的。我所说的“中等难度”是指,本文针对的是那些在研究主题时寻求信息的人,以及那些由于潜意识缺乏信心而没有掌握足够的技能来处理真实交易的人。本文还可以被视为开发人员所需规范的模板。

在这个阶段,人们可能仅仅缺乏对下面描述的一些功能的了解,并且已经阅读了这篇文章来在Jobs Services中下订单以实现一个有吸引力的概念,甚至基于编程经验自己做类似的事情。这里不提供代码示例,因为本文本身很长,需要在单独的文章中单独讨论相关代码的分析。

本文可以作为MQL5资源配置概念的演示。我将为一些想法提供相关的参考资料,或者更确切地说,为选择系统进一步发展的方向,我必须考虑一个模板。

在我们继续之前,我记得有一次读过一本关于金融市场交易的书。盈利系统有多简单?它的描述与你汽车的保险杠相匹配。我试过很多简单的系统,但不幸的是,这或多或少是不可能做到的…但当然,这并不意味着这样的系统根本不存在。)

1。交易系统条件

交易系统条件基于价格图中的遍历级别。上述水平是通过修改指数价格渠道来确定的。当价格交叉时,有五个级别触发现有头寸的购买、出售或反转。

以下是价格渠道指标图表:

图 1. 经过修改的价格通道指标(5 个水平)

图1。修改后的价格渠道指标(5级)

这些级别的缩写如下(从上到下):

  • h_pch-基于最大列的级别;
  • mh_pch——价格通道最大值与中间位置之间的中点计算的水平;
  • m_pch——价格通道最大值和最小值之间的中点计算的水平;
  • ml_pch——价格通道最小值与中间位置之间的中点计算的水平;
  • h_pch-基于列的最低级别。

如果柱完全完成,则认为一定水平的交叉是正确的。也就是说,您的事务只使用完成支柱。

本系统现有位置的开放、平坦或反向条件可分为四组:

  1. 上行交叉ml_pch水平表示买入信号/下行交叉mh_pch水平表示卖出信号。
  2. 通过M_PCH水平向上传递表示买入信号/通过同一水平向下传递表示卖出信号。
  3. 通过mh_pch水平向上传递表示买入信号;通过ml_pch水平向下传递表示卖出信号。
  4. 上行交叉口H_PCH水平表示买入信号/下行交叉口L_PCH水平表示卖出信号。

价格差距是常见的,应予以考虑。然后将附加条件添加到上述条件中,以检查是否存在真正的交叉。

也就是说,例如,一个完整的列并不意味着交叉,但是新列的开盘价超过了给定的水平。事实上,有许多不同的情况,暂时不能涵盖所有方面。因此,交易策略的制定应该是非常全面的。我将以可视化的方式处理事务信号的生成,并逐步仔细分析历史数据的不同部分。

以上所列的每一个条件都将作为一个单独的交易策略独立运作,而不会与其他条件重叠。EA使用幻数跟踪特定仓库所属的组。在MetaTrader 5中,每个交易产品只能有一个位置。这样,在一定条件下,打开一个已有头寸的子头寸,将从根本上增加或减少整体头寸。

为了熟悉这个问题,并查看实现这些问题的相关代码,您可以阅读以下文章:通过指定的幻数计算总位置的最佳方法,以及在一个工具上使用不同EA事务的事务中使用order_magic。在上述文章的讨论之后,作者之一列出了一些有待进一步改进的关键点。

所有可能的子职位数量记录错误的情况都已解决。nbsp;

以下是录制卷中可能出现的错误:

  • 一级或所有位置使用的魔法数字在EA中不可用。
  • 使用标准终端资源的一级或所有职位。本例中缺少幻数。
  • 通过止损或盈利来清算头寸。
  • 通过停止损失、利润或提单(有或无其他幻数),头寸在无连接期间关闭。
  • EA由全局变量的值引导。如果删除这些值,则EA将恢复为相同的值,以确保记录正确。
  • 重新编译程序,删除图表并恢复,删除EA,然后下载相同的EA,重新启动终端或计算机。

在所有这些情况下,EA重建子头寸交易量的正确记录。使用现有的解决方案,开发EA时考虑到可能导致错误记录的任何其他情况。我把这个场景叫做幻影点。此外,我认为这个话题足以写另一篇文章供讨论。

为每个子头寸设置止损和利润水平。此外,由于这些级别只能设置一次,并且只要有永久的互联网连接,在仓库打开时,将设置具有相同基本属性的票据,而不是在站点和利润之间设置。也就是说,如果某个子仓库(如“购买”)是根据特定条件打开的,则会立即设置相同交易量的票据。

止损由挂单止损代替,利润由挂单止损代替。如果在服务器端无连接期间执行与特定子仓库相关的订单,则将删除相反方向的发票。如果这种无连接循环继续下去,结果很难预测。鉴于此,必须有一个永久的互联网连接。

因此,您可以确保最大限度地控制。例如,备份连接解决方案或VPS。我再多说几句,关于在不可抗力事件中采取的其他安全措施。

vps(虚拟专用服务器)或vds(虚拟独立服务器)表示为用户提供所谓“虚拟专用服务器”的服务。

以下是满足第一个条件(M_PCH Traverse)时的一个示例,此时买入(左)和卖出(右)头寸都已打开:

图 2. 第一个条件触发的建仓

图2。第一个条件触发6033仓库的构建。

如果在建造仓库的同时发生止损(提货单),提货单的利润将立即被去除。如果出现利润,停止亏损也会以同样的方式消除。同样,该算法适用于所有其他子位置。

每个子仓库都有自己的止损和利润水平设置,EA将在不需要时删除这些账单。如果现有子位置满足反向条件,则会发生反向。与前一个子仓库相关联的提单将被删除,并为新的子仓库重置。

下面的
示例显示了由第二个条件(ml_pch/mh_pch交叉)触发的买入头寸(左)和卖出;仓库建设(右)。

图 3. 第二个条件触发的建仓

图3。第二个条件触发6033仓库的构建。

以下示例显示由第三个(buy-mh_pch/sell-ml_pch)和第四个(buy-h_pch/sell-l_pch)条件触发的仓储:

图 4. 第三个条件触发的建仓

图4。第三个条件触发6033仓库的建设。

图 5. 第四个条件触发的建仓

图5。第四种情况触发建仓

为了更好地可视化跟踪信号,价格渠道指标进一步拓宽。下图显示了启用所有信号选项的指示器:

图 6. MultiSignals_PCH 指标

图6。多信号PCH指示器

此版本的指示器可以在代码库中找到(多信号_PCH指示器)。还有一个详细的描述。我们需要注意的是,任何信号都可以被禁用,这样它就不能再显示在图表中。它的实用性可以在通过EA构建操作环境时得到确认,这将在下面讨论。

如果系统的控制完全丧失,导致大部分甚至整个账户的损失,上述方案无法阻止这种情况的发生。这完全取决于断开连接的时间长度以及参与交易的存款金额。

事实上,这可能不会经常发生,但在资金方面,安全措施永远不会太多,您应该为不同的情况尽可能做好准备。高估总比低估好。为了保护自己免受不可抗力事件的影响,你只需要设定一个真正的止损和利润水平。它们的设置是成比例的,不仅干扰EA操作,而且只控制时间损失。换句话说,它可以称为“安全缓冲区”。

也就是说,所有子仓位的提单总是设置在止损和利润水平,而真正的止损/利润水平是设置在提单上,双方都超过最远。真正的止损和利润水平可以在提单中设置为同一水平,因为如果提单是在不使用的情况下设置的,一旦提单被触发,位置就会失去保护。以下是对上述情况的一个很好的说明:

图 7. 用作“安全缓冲”的止损/获利

图7。停止亏损/利润作为“安全缓冲”

当然,如果您面前的互联网连接中断,您可以立即联系经纪人,并通过电话完成必要的交易。但是,如果你的交易系统设置为全天候交易,上述方法对你来说就是合适的。当你不在附近时,它可以确保你在安全的一边。它非常简单有效。

2。外部参数

分别对每个信号组的EA外部参数的停损和利润值进行优化。多信号的PCH指数周期和计算其值的时间表也可以针对每一组单独进行优化;但是,可以以通常的方式针对所有组优化这些参数。

在决定EA开发计划之前,我读了几篇文章,其中作者提供了多货币交易系统开发机制的相关示例。Nikolay Kositsin描述了一个在多个工具上创建EA事务的简便解决方案。在“基于事务模块创建多个EAS”中,Vasily Sokolov提出了一种使用OOP的更复杂的方案。

下表包含一个交易品种(符号_01)(此版本的EA有三个交易品种)、一个交易策略(TS_01)或一组信号(此版本的EA有四个交易品种组)的EA参数简化列表。前缀01表示与交易品种序列号的关联。不要将其与大量参数混淆。

变量 值为
 尝试次数 3
&滑动点 &100台
 ====================================================符号_
 01开/关交易  真
 01名称符号 欧元兑美元
 *************************************************
 01开/关时间范围 &假
&开始交易的01小时 &10点
&交易结束后01小时  23:00
 01结束日的平仓 &假
 01周末平仓  真
 *********************************************************
 01周期PCH(总计) 0
 01时间表(总计)  1小时
 ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
 01贸易TS-01  真
 01时间表(SUB)  1小时
 –
 01_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu  1交叉ML向上/MH DW
 01周期PCH(SUB) &20个
 01_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu  1-点
 01 1-点 &250台
 01型停损  1-点
 01 1-点  110
 ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————TS_
 ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
 ——————————————————————————————————————————————————————————————————————————————TS_
 ====================================================符号_
 =========================================================符号_
 —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— &基金管理
 固定批次 &0.1
 资金管理开/关  真
&启动存款 &10000台
&三角洲  1000
&开始批次 &0.1
&步骤批次 &0.01
&停止交易 &500006033个
 –
&最大提取权益(%) &50个
&以自由保证金(美元)停止贸易 &3000台
&停止亏损/通过断开(P)
获利
15
 —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— &优化报告
&选择标准
的条件
&和
 01统计标准 &利润
&01价值标准 0
 02统计标准 &盈利能力系数
&02价值标准 2
03统计准则 &无标准
&03价值标准 0
04统计准则 &无标准
&04价值标准 0
05统计准则 &无标准
&05价值标准 0
 ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-## &插件参数
&使用声音 真的
 配色方案  灰绿色

在做了外部参数后,基本上可以添加任意数量的交易品种和交易策略;这里要考虑的主要问题是,参数的数量应该在metatrader 5(metaquotes)开发者设定的限制范围内,并且不超过1024个参数。现在让我们详细看看ea的所有参数:

EA参数
说明
尝试次数 事务失败时的重复尝试次数。例如,如果最后一次尝试失败,EA将在某个时间间隔内再次尝试构建仓库。这适用于所有交易操作。
滑动点 价格允许的滑动点。也就是说,如果在仓储施工过程中出现滑动点,则取消作业。如果您在较短的时间内进行交易,则可能会使用此参数。
开/关交易 为指定的事务启用(真)/禁用(假)事务。
名称符号 贸易项目的名称。此名称的输入方式与在交易终端的市场观察窗口中相同。
开/关时间范围(开/关)时间范围 在指定的时间范围内启用(真)/禁用(假)事务。
交易开始时间 事务可以开始的那一刻。
交易结束时间 允许交易的最后时刻。
结束日期
的关闭位置
仓库将在日间仓库模式结束时启用(真)/禁用(假)。
周末平仓 仓库将在周末关闭模式下启用(真)/禁用(假)。
期间PCH(合计)(期间PCH(合计)) 如果该值设置为大于零,将用作该交易品种所有交易策略的通用参数。
时间表(总计)(时间表(总计)) 如果period pch(total)的值大于零,则索引将使用此时间表的值。
贸易TS-01 启用(真)/禁用(假)与此交易策略相关的交易。
类型入口(入口类型) 指示要在此事务块中使用的信号组。
周期PCH(SUB)(周期PCH(SUB)) 如果期间PCH(总计)值为零,将用作此交易策略中的指标。
类型获利 指定要在此交易策略中使用的利润类型。在当前的EA版本中有两个选项:无获利(无获利)和点数(点数)。也就是说,不使用获利,获利设定为指定点数。
积分tp(利润点) 表示该交易策略中利润水平的点距离。
类型停止损失(停止损失类型) 当前EA版本中有两个选项:无停止丢失(无停止丢失)和点(点)。也就是说,停止损耗不使用,并且停止损耗设置为指定点数。
点SL(停止损失点) 表示该交易策略止损水平的点对点距离。
固定批次(固定手数) 固定手值。如果货币管理开/关参数设置为假,则该参数被视为交易手数。
资金管理开/关 启用(真)/禁用(假)“资金管理系统”。如果设置为false,则使用fix lot参数中指定的固定手值执行事务。
开始存款 计算“基金管理系统”交易员数量的起点。
增量(增量) 表示金额的值,账户相应地增加/减少,然后交易手的数量相应地增加/减少。
起始批次(手数起始点) 交易者数量根据最初交易者数量进一步增加/减少。
步骤批 一连串的手。交易员的数量根据其价值增减。
停止交易 如果存款低于该值,则交易停止。
最大提取权益(%)(最大净损失百分比) 如果存款下降到该值,交易将停止,并且出于安全原因,EA将从图表中删除。删除后,会将描述删除原因的相关条目添加到日志中。此规则也适用于测试或优化参数。
按自由保证金($)停止交易(按可用预付款停止交易) 在交易(买入/卖出)之前进行计算,以查看它是否会导致低于该水平的金额减少;如果是,则不会执行交易。
止损/断开获利(P)(断开止损/获利) 真正的站点和利润。它们被设置为超出当前事务的上限和下限。
选择条件标准 有两个选项可供选择:和或。它们应用于优化报告参数块条件,以定义如何选择要写入文件的优化结果。如果选择和,则满足所有指定条件。如果选择或,则必须至少满足一个指定条件。
统计准则(统计准则) 允许您选择一个参数以生成筛选条件的下拉列表,以便将优化结果写入文件。
非标准利润总额交易利润率预计利润权益最大日(净损失的最大百分比)回收率夏普比率如果所有统计标准参数都设置为无标准值,则不会将任何内容写入文件,也不会生成相应的文件。
价值准则(价值准则) 根据条件(限制)值筛选写入文件的优化结果。例如,

,如果在01_统计标准参数中选择利润,并将01_值标准设置为100,而在剩余的统计标准参数中选择无标准,则只有100个以上交易的优化结果才会写入文件。

使用声音 启用(真)/禁用(假)交易操作相关语音提示系统。每个事件/事件组都有自己的声音。声音可用于以下所有事件:6033事务操作错误。仓库建设/仓库数量增长。提货单/止损/利润设置/修改。删除账单。持有的股票减少了。利润清算。停止亏损关闭。
配色方案 价格表的颜色方案。图表的配色方案可以从包含八个可用配色方案的下拉列表中选择。
绿灰色。红米。黑白色。橙叶。紫色的云。灰色-浅灰色。牛奶巧克力。夜月。

我们应该指出与EA处理的第一个参数(尝试次数)相关的事件。

有些是在事务处理之前进行验证,有些是在事务处理之后进行验证,为了安全起见,有些是在事务处理之前和之后进行验证。

  • 发送事务请求失败。
  • 价格变了。
  • 请求被拒绝。
  • 交易者拒绝了这个请求。
  • 请求处理错误。
  • 无效的请求卷。
  • 请求价格无效。
  • 无效的请求停止丢失。
  • 无效请求。
  • 不允许进行交易。
  • 市场已经关闭。
  • 请求执行的金额不足。
  • 价格变了。
  • 请求太多。
  • 服务器不允许自动事务。
  • 客户不允许自动交易。
  • 请求处理被阻止。
  • 没有到事务服务器的连接。
  • 只允许实际帐户操作。
  • 提单数量已达到极限。
  • 该交易品种的订单和头寸已达到限额。

我认为这个问题需要在另一篇文章中讨论。

三。参数优化

EA框架允许准备各种事务设置。作为一个具有最小分配(即每个交易品种有三个交易品种和四个交易策略)的EA的例子,我们将讨论两个主要变量。

3.1。第一组变量

为名称符号参数(01、02、03)指定不同的值。例如,欧元兑美元、澳元兑美元、美元兑瑞士法郎。也就是说,它们将成为交易的货币对。

  • 将所有交易品种的Priod PCH总值设置为大于零,则程序将多信号PCH指数的周期由每个交易品种的所有策略共享,指数的时间安排从时间框架的总参数中取出来,也就是说,它也将被共享。
  • 每个策略都有自己的类型条目参数。
  • 每个策略还分别设置止损和利润参数。

以上都可以通过以下方案清楚地表达:

A 6028 A 6033图8。变量A 6033设置方案

现在,我们需要设置优化每个参数的步骤。例如,可以根据下表中提供的值进行设置。为所有交易品种和交易策略块输入这些值。将Timeframe(total)参数值设置为8小时(8小时)。以下测试仪设置(测试程序设置)中提供了有关“仅公开价格”模式下测试功能的详细信息。

还应注意,“基金管理系统”已被禁用,即需要优化使用固定手数(0.1)的参数。货币管理开/关应设置为假。其他参数设置完毕后,应单独设置“资金管理系统”参数。

变量 启动 停止
周期PCH(总计) 5 1 30
50 10 800
SL
50 10 200

让我们来看看以下五个要点:常规参数和规范、测试程序设置、结果分析、阅读报告的应用和资金管理系统。这五个要点适用于所有设置变量,但下面的详细回顾仅在变量的本(第一)描述中提供。

3.1.1常规参数和规格

将最大提取权益(%)值设置为50。它过滤并停止在优化过程中显示最大损失小于50%的传输。它还略微提高了优化的速度,而不必费力地传递“值”。

各交易品种的参数应单独优化。这是一个强制措施,因为只要传递的优化数超过64位长度值,由于事务终端开发人员设置的限制,优化就不可能实现。有关实施限制的所有信息都可以在交易终端的帮助部分找到。

3.1.2策略测试程序设置

在事务终端测试程序的设置选项卡中,设置以下参数:

图 9. 策略测试程序参数

图9。策略测试程序参数

例如,测试周期可以设置为1年(大约一年)长。您可以设置任何交易品种,因为无论EA运行在哪个交易品种上,都将对EA参数中指定的那些交易品种执行交易。

优化类型设置为快速(遗传算法)。

在这种情况下,我们将优化标准设置为平衡最大值,即最大平衡值。

在优化/测试模式列表中,仅选择期初价格。它将以最低质量级别提供,但这足以进行参数优化,前提是EA只完成后期事务。优化后,最好以更高的质量模式对结果进行进一步测试。记住一件重要的事情。

由于只有开盘价的内部机制,时间进度表不能参与参数优化。这与架构不允许从所有计划中检索数据(导致优化/测试错误)这一事实有关。

有关限制的详细信息,请参阅客户端-用户指南-策略测试人员-使用测试人员-生成计时周期(部分:仅限期初价格)。在“仅开盘价”模式下优化参数时,还应遵循以下规范:

  • 如果所有交易品种的时间表不同,则应分别对每个交易品种进行优化。也就是说,所有其他交易品种(假)都应该被禁止。
  • 如果每个交易品种的时间表不同,那么一旦完成所有交易品种的优化,就需要在M1上以OHLC模式运行检查。
  • 如果优化/测试只涉及一个事务,那么要在测试程序设置中设置的时间表应该是跟踪站点时使用的最短时间表,或者短于该时间表。

如果忽略这些规范,M1上的OHLC模式是参数优化的最佳选择。在不同的模式下运行测试并比较结果也将是有益的。

在双核处理器PC上运行此优化大约需要4-5小时(根据此设置)。

3.1.3.结果分析

在连续优化每个事务的参数之后,在“优化图表”选项卡中分析总体优化结果,以选择将参与该事务的参数。

例如,上面列出的设置生成以下欧元/美元结果:

图 1. 经过修改的价格通道指标(5 个水平)0

图10。测试程序优化图表选项卡中的优化结果

从优化图可以看出,结果的主要部分在利润区。利润区显示的结果越多,交易系统就越确定会使用利润区的特定参数来进一步返回相同的结果。

还应注意的是,测试周期越长,结合利润区结果的定量标准,确定的程度越高。然而,周期越长,优化时间越长。在这种情况下,您可以使用metaQuotes提供的MQL5云网络。只要花点钱,优化时间就会短得多——因为优化过程中会涉及很多处理器。有关此优秀功能的更多详细信息,请参阅文章“使用MQL5云网络加速计算”。如果您决定在M1上使用OHLC模式来运行优化,那么这个选项也非常方便。

如果由于某种原因,与特定交易品种相关的优化结果不够好,那么您应该尝试运行不同交易品种的优化。下文概述了确定哪些结果被认为是可接受的标准。例如,最大损失不应超过20个百分点。这样,回收系数不应小于2.00。止损水平低于利润水平等。

MetaTrader 5提供了几种结果分析工具。以上优化图称为结果图。此外,还有线条(1d)、平面(2d)和三维(3d)图形。以下是美元兑瑞士法郎和欧元兑美元在三维(3D)图形上的测试结果:

图 1. 经过修改的价格通道指标(5 个水平)1

图11。三维地图上USDCHF优化结果

图 1. 经过修改的价格通道指标(5 个水平)2

图12。三维地图上的欧元兑美元优化结果

从三维图中可以清楚地看到,多信号PCH指数(浅绿色分布区)的参数相当多,伴随着适合交易的止损水平不同。

选择每个交易项目的参数后,将同时运行包含所有交易项目的测试并分析结果。测试程序中的graph(graph)选项卡显示结果,如下图所示。仅开盘价模式的测试时间非常短。一年一次的循环测试只需要5秒钟就可以完成(见下图)。

图 1. 经过修改的价格通道指标(5 个水平)3

图13。测试结果(第一个设定变量)
仅在开盘价模式下

基本上,如果您使用每个记号模型,结果将是相同的。

这可能比仅开盘价模式更好或更糟,但并不重要。在这种情况下,完成测试大约需要12分钟(参见下图)。

图 1. 经过修改的价格通道指标(5 个水平)4

图14。每个勾选模式下的测试结果(第一个设置变量)

在M1上的OHLC模式下,此测试大约需要1分钟。

3.1.4。阅读报告《优化测试结果分析应用程序》

图书报告申请是对EA的补充。应用程序是用VBA编程语言编写的。实际上,它是一个标准的Excel工作簿,可以通过在您的电脑上安装Excel2010来使用。让我们更仔细地看看Book Report应用程序提供了什么。

此工作簿只有一个“文件”选项卡,它提供三个选项:最近(最近)、新(新)和打印(打印)。至于Excel,就剩下这些了。剩下的已经被删除,获得优化和分析测试结果的主要步骤已经被自动化和最大程度地简化。

图 1. 经过修改的价格通道指标(5 个水平)5

图15。Excel 2010中的图书报表

默认情况下,此工作簿已包含用于初步了解应用程序的优化和测试数据。

如下图所示:

图 1. 经过修改的价格通道指标(5 个水平)6

图16。优化结果数据

在optreport工作表的表格顶部,可以看到以下按钮:连接数据、图表、交叉线和全屏模式。

全屏模式(全屏模式)按钮后面是向右的箭头按钮,允许快速跳到表的末尾而不向下滚动。包含优化过程中涉及的参数数据的列位于表的末尾;此外,您可以看到一个按钮,它允许您快速跳到表的开头(在表的右上角)。

数据被过滤,可以按降序或升序排列。每列的格式都便于读取显示为水平条或颜色级别的数据。现在,让我们看一下桌面上的每个按钮:

  • 连接数据。如果单击此按钮,将出现一个对话框,要求指定导入数据文件路径(指定导入数据文件路径)。book report应用程序尝试查找终端公共目录的路径。例如,在Windows 7中,路径为c:/programdata/metaquotes/terminal/common/files/
    ,而在Windows XP中,如果找不到路径,则路径为c:/documents and settings/all users/application data/quotes/terminal/common/files/

    。在对ea transaction trading way参数进行第一次和后续优化之后,将在终端公用目录下的files文件夹中创建一个dor文件夹;相反,在ea文件夹中生成opt文件夹(n是opt文件夹的编号)之前,将在dor文件夹中创建一个加有ea名称的ea文件夹。在opt文件夹中,ea生成dor。包含优化结果的csv。这是我们要导入到optreport工作表中的文件。尝试打开具有不同名称或扩展名的文件将失败,然后在对话框中显示相关警告。试图打开具有不同数据结构的文件或零长度文件也会导致一个带有相关警告的对话框。如果选择了正确的文件,则当前optreport数据将被删除并替换为该文件中的数据。整个过程只持续几秒钟。

  • 示意图(插图)。单击此按钮,您将进入图表工作表。例如,如果optreport工作表的“利润”列中的数据按降序排列,您将大致看到一幅图:
    图 1. 经过修改的价格通道指标(5 个水平)7的图17。在图表中结果数据的优化
    图表下方,有一个表,其中包含报告中出现的所有相关参数说明。此表左列中的参数名称链接到optreport工作表中的相关列。完整的参数列表如下:

    利润(盈利能力)-测试结束时的净利润;总交易(总交易)-执行的交易数量;利润因素(盈利能力)-总利润与总损失交易的比率;预期收益(预期利润)-数学预期利润;权益dd最大净损失。相对百分比-最大净损失百分比;恢复系数-净利润与最大余额损失的比率(以货币计);夏普比率-持有期间算术平均回报与标准方差的比率;权益dd-最大净损失(以货币计);均衡比率uity dd%(净损失百分比)-净损失(以货币计)以货币表示的最大净损失,以百分比表示;权益DD相对(净值的相对损失)-以百分比表示的最大净损失时记录的以货币表示的净损失;权益最小(净值)-最小净值;余额DD相对(余额)余额赤字的相对百分比-以百分比表示的最大余额赤字;余额dd(余额赤字)-以货币表示的最大余额赤字;余额dd(余额赤字百分比)-记录以货币表示的最大余额赤字时以百分比表示的最大余额赤字;相对余额(相对余额)-以百分比表示的最大余额赤字余额亏损记录d按货币计算的最大余额损失时;余额最小(最小余额)-最小余额;最小利润水平(最小提前水平)-达到的预付款最低水平;所有损失交易的总损失(毛损);毛利(毛利)-所有利润交易的总利润;最大(连续最大亏损)-连续亏损交易中的最大亏损;连续最大利润-连续利润交易中的最大利润;最大连续亏损(最大连续亏损)-最长亏损交易系列中的总亏损;最大连续利润-最长利润交易中的总利润系列;最大损失交易额E(最大损失交易额)-最大损失-所有损失交易额中的最大损失;最大利润交易额(最大利润交易额)-最大利润-所有利润交易额中的最大金额;交易额(交易额)-交易额;短期交易额-短期交易额;长期交易额-长期交易额M交易;损失交易-损失交易;利润交易-收益交易;利润短期交易-短期利润交易;利润长期交易-长期利润交易;损失交易avgcon-持续损失交易的平均长度;利润交易avgcon-持续利润交易的平均长度;conloss max交易-交易次数连续亏损交易中造成最大损失的操作;conprofit max trades-连续盈利交易max conloss trades-最长亏损交易系列中的交易数量;max conprofit trades-最长盈利交易系列中的交易数量;
    图表有一个下拉列表。第一个列表允许您选择三个图表之一:

    OPT。报表图表是如上所示的图表。它显示写入文件的所有优化。此图表有两个轴,因此您可以同时按两个参数查看结果。如果图表处于活动状态,则右侧图表上方会显示一个包含所有参数的下拉列表。A 6033
    图 1. 经过修改的价格通道指标(5 个水平)8图18。优化结果图上方所示的下拉列表
    单击图进入包含其自身数据的工作表。在这种情况下,输入optreport。

    下拉列表中的第二个插图是Pivot 3D图表。它是数据的三维透视图。A 6033 图 1. 经过修改的价格通道指标(5 个水平)9图19。三维图形中显示的优化结果参数组合
    。如果此图形处于活动状态,您可以在右侧看到其上方的下拉列表。您可以选择优化中涉及的参数(第一个和第三个列表),以及纵轴的关键参数(第二个列表)。图20。三维图表上方的下拉列表
    允许控件围绕图表右下方的水平和垂直轴旋转图表。单击关系图以输入包含主数据的Optreport工作表,但也可以选择输入在其上绘制关系图的数据透视表。图表左上角的透视表(数据透视表)按钮将带您进入数据透视表的数据透视表工作表。事实上,此图中的每个点都将反映所有结果的累积效果,并具有查看参数组合的能力。因此,它为更详细的分析提供了方便的功能。图21。与三维图形关联的数据透视表
    包含选择包含感兴趣数据的单元格后生成TD N工作表(其中N是带有TD标记的工作表的编号)的功能,以及包含与数据透视表中所选参数相关的所有结果的格式化窗体。展示它。例如,如果选择参数为190和100的单元格,则将生成一个表,其中所有结果都与这些参数匹配。见下图22:
    图 2. 第一个条件触发的建仓2。参数数据透视表中选择的优化结果表

    测试图(测试图)为第三张图,显示测试涉及的所有TS的平衡图:
    图 2. 第一个条件触发的建仓3图23。测试结果
    涉及系统中的所有测试,每次测试后,所有后续的EA测试结果都放在optn中创建的测试文件夹中,这是上次创建的优化文件夹。每个结果都被写入一个单独的测试。csv文件,其中n是文件编号。可以加载测试结果以在测试报告工作表中查看。表格顶部的按钮与optreport相同。因此,要加载数据,请单击“连接数据”按钮。除了TS余额数据之外,这些文件还包含一个类似于事务终端的结果选项卡中的报告。为了便于分析,还对数据进行了格式化。图24。事务测试结果

  • 十字线。此按钮可实现简单方便的交叉功能。上图显示了按下的十字线按钮的状态。
  • 全屏模式(全屏模式)。如前所述,此按钮将启用/禁用全屏模式。

书籍报告应用程序有几种安全措施,以防止意外删除对象。也就是说,您不能选择并因此删除任何对象(按钮、插图、设计元素)。

删除此应用程序中从未使用过的具有大量选项的所有Excel上下文菜单。现在,只有两个修改过的上下文菜单。

  1. 右键单击单元格时出现的上下文菜单。只有两个选项:copy和microsoft word。
  2. 工作表上下文菜单。其余可用选项包括:插入、选项卡颜色和删除。

删除选项已重新编程,因此用户不能意外删除主工作表。尝试删除这样的工作表会导致警告消息,删除被拒绝。

3.1.5。资本管理制度

在设置了各种交易的参数,完成了对结果的分析后,需要建立“资金管理系统”。

“基金管理”将账户视为一个整体。根据Ryan Jones的固定比率基金管理方法,每只手在一只现有的手上“赢”一个特定的点数(也就是琼斯所说的“增量”),然后你就可以将一只手添加到现有的手上。例如,我们有300美元的存款,并且交易的最小手数是1美元;也就是说,同样增加300美元意味着只有我们赢了(使用我们的最小手数1)300,我们才能增加到最小手数2美元。

同样,只有当我们以最少2手赢得300美元的增量时,我们才能将手数增加到3。也就是说,将最小手数从2手增加到3手,只会使现有的600美元增加2手。有可能达到300美元=600美元(即1200美元),而从3到4只手的最小数量要求存款达到1200美元以上(300美元)。3)=$1200+900=$2100,依此类推。因此,“合同数量与购买新数量合同所需的数量成正比”,这种方法也被命名为。相反,手的数量减少,并遵循相同的方案。

当然,我们可以运行参数优化,但我们最好学习手动设置。对于预测试,您可以使用M1上的仅开盘价模式或OHLC。

本“资金管理系统”的默认参数如下表所示:

参数
开始存款 10000
达尔塔 300
开始批号 0.1
步骤批 0.01

测试后,应分析得到的结果。试验结果如下:

图 2. 第一个条件触发的建仓5

图25。在每个勾选模式中使用“资金管理系统”的测试结果(第一个设置变量)

不要太关注结果中的总利润,因为它无论如何都会更高,因为“基金管理系统”是基于历史数据和优化参数,并应用于一系列交易。

更重要的参数是相对于净值的最大存款支取和最小保证金水平。EA中“基金管理系统”的设置比较灵活,可以同时满足保守和激进交易的参数设置要求。最大存款支取和最小保证金水平取决于交易量和交易涉及的存款参数。

为了更好地理解系统或任何其他系统,还有一点是无法避免的。上面显示的收购结果显示,在开始时有一系列成功的交易,但它们没有显示如果交易以本地最大值开始,然后转换为最大提款,将会发生什么损失。因此,设置测试的起始日期也是很有用的,它来自于局部的高点和最大的损失。基于这些结果,我们可以得出最终结论,即您应该正确设置“基金管理系统”的相关问题。

3.2。第二个设置变量

  • 在这个变量中,我们还为(01,02,03)名称符号分配不同的值。我们对相同的交易品种进行了测试,将结果与之前的变量进行比较:欧元兑美元、澳元兑美元、美元兑瑞士法郎。
  • 这一次,将Period PCH(total)参数值设置为零,表示多信号PCH指示器的持续时间将不同于所有策略。为此,该值将取自每个交易策略块中的期间PCH(Sub)参数。可以为此指标设置自己的时间表,但在此变量中,我们使用每个交易策略块中的timeframe(sub)参数始终设置相同的值。
  • 每个策略都有自己的类型条目参数。
  • 每个策略还分别设置止损和利润参数。

以下为上述示意图:

图 2. 第一个条件触发的建仓6
图26。第二个设置变量

我们设置了优化每个参数的步骤。例如,可以根据下表中提供的值进行设置。这些值被输入到所有交易品种和交易策略块中。timeframe(sub)参数被分配一个固定值。

在参数优化期间,应禁止“资金管理系统”。也就是说,货币管理开/关参数应设置为假。

这个(第二个)变量和前一个(第一个)变量的区别在于,将分别为每个策略指定多信号PCH指数的周期,同时对所有交易策略进行优化。每次优化特定策略时,所有其他策略都会被禁用。与之前的测试一样,为所有TS设置相同的计划,即8小时(8小时)。

参数 开始 停止它
周期PCH(SUB) 5 1 30
50 10 800
SL
50 10 200

常规参数及规范、测试程序设置、结果分析、报表申请、资金管理系统的详细说明,请参见第一个设置变量相关内容。此处仅提供测试结果。

每次优化后,根据最大恢复系数选择各策略的参数。

下图显示了固定手数(0.1)下的累积结果:

图 2. 第一个条件触发的建仓7

图27。每个勾选模式下的测试结果(第二个设置变量)

现在,我们根据第一个变量中这些交易系列的设置应用“基金管理系统”:

图 2. 第一个条件触发的建仓8

图28。在每个勾选模式中使用“资金管理系统”的测试结果(第二个设置变量)

因为主要关注的是系统的每个单一元素,这个变量允许更好地理解和识别每个信号组的唯一性。换句话说,您可以使用第二个变量查看系统的整个内部机制,如果测试揭示了其中任何部分的弱点,您可以尝试更改特定参数或将它们一起删除。这是第二个变量可以提供的优势。

3.3。可能的设置变量

该EA的开发方式不限于上述变量。例如,您可以在名称符号(01、02、03)参数中输入交易品种的名称,并使用12种交易策略来交易交易品种。相反,交易策略的参数也可以设置为使用不同的时间表。或者,一个时间表,不同的指示周期。这同样适用于止损和利润水平。如果盈利或止损被禁用,子头寸将根据转向信号或止损/盈利关闭。

您可以尝试在不使用停止/利润水平的情况下设置系统,从而简单地将其扭转。在这种情况下,EA将采用以下机制。仓储和反向信号块仍然与上述交易系统条件中描述的相同。如果价格滑入损失区域,也将涉及清算。下表列出了无止损类票据的出口信号,其顺序与子仓库条件下的相同:

  1. 通过H&PCH级别向上传递到A级销售子仓库/通过L&PCH级别向下传递到A级购买子仓库。
  2. 通过H&PCH级别向上传递到A级销售子仓库/通过L&PCH级别向下传递到A级购买子仓库。
  3. 通过m_-pch级别向上传递到A级销售子仓库/通过m_-pch级别向下传递到A级购买子仓库。
  4. 通过m_-pch级别向上传递到A级销售子仓库/通过m_-pch级别向下传递到A级购买子仓库。

第一和第二条件是相等的。第三和第四个条件是相等的。对多个时刻表的测试表明,如果没有止损单,它们是更合适的条件。根据该方案,如果一个真正的止损被用作止损/断开连接获利(P)参数,则在没有更多与其他子仓库相关的票据的情况下,将根据该参数中指定的点数进行设置。

如果价格接近或偏离实际止损指定点,如果没有更多与其他子头寸相关联的票据,将修改止损。也就是说,当价格回落时,它随价格移动指定的点,当价格接近时,它偏离价格。如果在特定的政策设置中没有指定可盈利的票据,它们将以相同的方式盈利。上述交易系统条件解释了为完整模式设置“安全缓冲区”的原则。

交易可以为每个交易项目分别设置特定的时间范围。在特定的时间条件下,特定交易品种的交易可能是最好的。也有可能在一天或一周结束时关闭所有头寸。在半自动模式下,也可以实现在某段时间结束后关闭仓库。相关内容,我们将在以下交易时间点详细说明。

此外,您还可以使用指标信号手动简单地优化指标和交易的参数。当然,有些交易者出于某种原因喜欢手工交易,他们的观点和兴趣也被考虑在内。EA中的手动事务是通过一个方便的事务面板完成的。有关详细信息,请参阅图表左侧的“事务信息”面板。

4。在视觉模式下测试

毫无疑问,在策略测试程序中可用的可视化模式在这里值得一提。

这个工具仍然有一些限制,但希望开发人员能做进一步的改进。现在,尽管有一些限制,可视化模式提供了与引入特定程序相关的更丰富的经验。

这种方法也可用于复杂程序的开发和调试。从下图可以看出,在测试期间,哪些工具可以添加到当前情况分析中:

图 2. 第一个条件触发的建仓9

图29。信息面板
处于可视模式

图表左侧包含与最后一个结束列、当前服务器时间和星期几相关的数据。在图表的右侧,为所有交易品种和策略提供了一个开放的子仓库表,显示子仓库交易量、买入/卖出信号以及在特定策略上执行交易的价格。

在下方,您可以看到“基金管理系统”的参数和当前的手数,以及当前的损失、总体风险、停止交易和SL/TP(“安全缓冲”)级别设置。关于这些参数的更多信息将在下一章的接口和控制中介绍。

5。接口和控制

当EA第一次加载到图表中时,它会触发终端全局变量的生成,然后由EA使用。有许多这样的变量(46)。如果您试图删除任何变量或同时删除所有变量,EA将恢复其默认值。

交易信息面板出现在图表的右侧,并将颜色方案参数中指定的颜色方案应用于后者。您可以选择八种可用颜色方案中的任意一种(浅色或深色)。

当EA加载到图表中或图表宽度发生变化时,从图表右侧缩进的价格会自动调整,这样面板就不会覆盖价格。如下图所示:

图 3. 第二个条件触发的建仓0

图30。图
加载EA后

6。信息面板交易信息和资金管理

图表右侧的交易信息面板由两个块组成:交易信息和资金管理。在块名称周围和贸易信息块上方,可以看到以下图标(从左到右列出):左面板(左面板)、警告指示灯(警告指示灯)和隐藏所有面板(隐藏所有面板)。如果鼠标指针放在图标上方,将显示工具提示,图标的外观将更改(绿色变为阴影)。

点击左面板图标,打开图表左侧的交易面板。其内容将在后面讨论。当事务面板打开时,左面板向下/左面板向上图标出现在左面板图标旁边。它绘制一个三角形箭头,指示单击图标后面板将移动的方向。

如果没有任何东西阻止事务,则警告指示图标为绿色。如果事务被阻止,则警告指示图标为红色(红灯)。红灯的可能原因如下:

  • 没有到服务器的连接。
  • 本EA交易不允许交易。
  • 此终端不允许进行交易。
  • 往来帐户中不允许有交易记录。
  • 当前帐户中不允许EA交易。

如果在红灯亮起时单击警告指示图标,图表左侧会显示一条消息,指示事务被阻止的原因。下图说明了当前不允许交易EA事务的事件(终端选项)。单击警告指示图标可以删除此信息。

面板的外观也将通过使用任何使用alpha通道的图形编辑器、添加到面板的阴影或任何其他效果来增强。

图 3. 第二个条件触发的建仓

图31。说明事务阻塞原因的信息

单击“隐藏所有面板”图标将最小化所有打开的面板,保留图表右下角的“显示”按钮的活动状态,并通过单击按钮快速最大化以前自定义的工作区:

图 3. 第二个条件触发的建仓

图32。显示按钮

交易信息面板附带一些交易参数的列表。其中,包含函数的参数以中海绿颜色显示。也就是说,如果单击参数的名称,它包含的函数将执行,名称将变为蓝色。相反,如果单击蓝色名称,所有内容都将返回到其原始形状。

下表提供了贸易信息面板参数及其功能的详细说明:

贸易信息面板参数列表
账户权益-净账户资产(美元) 当前净利润率。如果高于余额,则值以绿色显示。如果低于余额,该值以红色显示。
总位置-总位置 当前位置数。
总订单-总订单 当前的账单数量。
装货押金-装货押金(%) 交易中使用的净值配额以百分比表示。
~总风险/实际利润-关于总风险/实际利润(%) 存款总风险/实际利润。这是计算出的最坏情况下可能损失的净值。这是近似值,因为未考虑期初头寸和实际止损水平之间的汇票。如果计算完成后充分考虑了提单,风险就会降低,因为交易系统会在开盘价和止损水平之间发布提单的保护级别作为其他子头寸。如果实际止损点似乎高于开盘价,则此参数表示实际保护利润,并以绿色显示。它默认以百分比表示。如果单击名称,参数将以货币计价,名称将变为蓝色。单击这个蓝色的名称可以将所有内容恢复到原来的样式。
当前规模批次-当前交易手数 自动交易模式中使用的当前交易手数。
停止水平(P)-停止损失水平 显示当前交易品种的止损水平,以点数表示。如果单击名称,颜色将更改,表示停止级别的横线将显示在图表中。止损水平随价格变化。
冻结水平(P)-冻结水平 显示当前交易品种的冻结水平,以点数表示。
价差为浮动(P)-点差浮动 它显示当前工具的点差。如果点差是浮动的,则显示Spread is float,否则只显示Spread。通过单击名称,将向图表中添加或删除ask行。
掉期多头(P)-买入并持有仓库存款 当前交易品种采购、保管仓库的库存费用。
掉期卖空(P)-销售仓库保管费 销售当前交易项目的仓库保管费。

没有这个表,描述货币管理块的参数就更方便了。货币管理块分为三个部分。顶部包含两列:平衡(balance)和体积(volume)。如果启用了货币管理系统(true),则Balance列显示交易员数量增加或减少时的余额水平。“交易量”列显示交易量的增加/减少。如果系统被减少到最少的手数,将会有一条红色的消息来替换事务量,例如:不小于0.01(不小于0.01)。如果禁用了货币管理系统(false),则块的此部分的所有值都将为零。

“资金管理系统”参数显示在资金管理块的中心位置。有关参数的描述,请参阅上面的EA参数描述表。这些参数的值在交易过程中不能改变,只能在EA的外部参数中改变。

在货币管理块的底部,可以看到与风险管理相关的参数。它们的描述也可以在上面的EA参数描述表中找到。这里需要注意的是,斜线后面的最大提取权益(%)值的右边是一个设定的限制,而斜线前面的左边是相对于净值的经常项目损失。

一旦达到设定的账户损失限额,所有未结头寸将被关闭,提单将被移除。当达到损耗极限时,参数值将显示为红色。例如:22.01/20.00!这表明损耗限制为20%,当前损耗为22%。

如果贸易信息块中当前尺寸批次参数指定的可用资金在购买/销售后小于或等于设定值,则按自由利润率停止贸易($)也为红色。例如:5000!.ea将不会执行交易,直到资金足以执行这些交易。

列表中最后一个参数sl/tp by disconnect(p)的值显示在ea中设置的点数,或文本false-表示如果在ea中设置为零,则将禁用此参数。如果此参数设置为零,则建立仓库时不存在实际的停损和利润。

根据此声明,如果一个头寸没有设置止损,则交易信息块中~total risk/real profit(%)的值将被拥有!100!-表明所有存款都有风险(100%)。如果此参数设置为显示货币值,即~总风险/实际利润($),则显示当前净值级别。例如:7698.54!.

7。图表左侧的交易信息面板

现在,让我们看一下图表左侧的事务信息面板,当您单击交易信息块上的左侧面板图标时,会出现该面板。在面板标题的左侧,有五个图标可用于移动到另一个面板单元。

  • 参数系统。
  • 交易时间时钟。
  • 手工交易。
  • 交易绩效。
  • 账户/交易品种信息

接下来,我们将对上述每一项进行扩展。

7.1。参数系统

如果参数系统启用,面板如下:

图 3. 第二个条件触发的建仓

图33。参数系统

所示的表有七列。不包含任何函数的列标题以黄色显示。包含函数的列标题为中度海绿。

如果某个特定的交易品种不允许交易,整个交易策略块将显示为灰色。如果一个特定的交易品种被允许交易,但一个特定的交易策略不被允许在交易中使用,只有那些不被允许在交易中使用的策略将是灰色的。

  • 符号。第一列包含EA交易的交易品种名称。由于每个交易项目可以使用四组信号/策略进行交易,因此该表的布局直观且易于使用。也就是说,交易品种下方的水平条是指特定策略与上述交易品种的关联。点击交易品种的名称,您将看到相同名称的交易品种。首先,默认情况下,将为特定事务(即在同一行中)设置显示的时间表。当前的交易将变蓝。突出显示与给定交易品种相关的整个交易策略块。上图清晰可见(当前交易品种为澳元/美元)。
  • 图 3. 第二个条件触发的建仓4显示订单(显示订单)。第二列显示了构建子仓库时使用的策略、它们的交易量和方向。如果没有子职位,则显示空(空)。如果已经建立了子仓库,则会显示其交易量。方向取决于颜色识别。长为绿色(例如0.05),短为红色(例如0.02)。该列还配备了复选框,用于检查账单与特定子仓库的关系。勾选某子库对应的框后,在每个挂单下方都会出现一条水平实线,该子库的入口点将显示为同一颜色的垂直点线。您可以同时选中所有框。这些行很难混淆,因为每个订单组都有自己的颜色。请看正确的图片。如果您切换到另一个交易,复选框将不会被清除。返回时,只要选中上一个框,该行将再次显示在图表顶部。如果仓库关闭,则EA将从图表中删除与子仓库关联的行,并清除和阻止复选框。可以单击此列的标题。也就是说,如果没有复选框,名称将适度显示为海洋绿色。如果至少有一个复选框,则名称为蓝色。
  • 类型信号/交易策略(信号/交易策略类型)的第三列显示了在EA参数中选择的信号/交易策略。如果单击一个信号名称,则一个指示器将应用于由策略事务信号生成的图形,该名称以蓝色显示。如果单击另一个信号名称,则在图表上应用了某个指示器的情况下,该指示器将被单击信号的指示器替换。通过图表,您可以看到应用图表中某些指标所需的事务类型和时间表。
  • 时间表(时间表)。本栏(第4栏)显示了战略交易信号的形成时间表。单击时间表名称,您将看到蓝色的时间表名称。当前大宗/交易品种中时间表相同的所有名称也以蓝色显示。如果单击位于另一个贸易项目中的计划名称,则当前贸易项目也将更改。如果在单击计划名称时将某个指标应用于图表,则该指标将更改为与事务的种类、计划和策略相匹配。
  • 周期指示器(索引周期)。第五列显示EA外部参数中设置的目标周期。如果对图表应用了指示器,则期间将显示为蓝色。您可以看到循环旁边的复选框。如果勾选当前时间表和需要分析的交易品种对应的框,单击列标题,则图表底部会出现一个子窗口,根据所选内容显示这些交易品种和时间表的多个图表。标题将以蓝色显示。如果一个指示器已应用于一个图形,则相应的指示器也将应用于所有子窗口图形。如果通过单击“类型信号/交易策略”列中的信号名称删除指标,子窗口图表中的所有指标也将被删除。如果你想应用一个指标,同样的情况也是如此。当列标题为蓝色时,选中/取消选中这些框,然后在子窗口中添加图表或将其删除。当标题为蓝色时,如果单击标题,子窗口将最小化。实际上,它将被删除,但所有复选框将保持不变,您可以随时轻松地恢复工作区。子窗口大小不固定;您可以通过手动拖动上边框来更改其高度,因为在大多数指示器中,它们都显示在子窗口中。如果调整了子窗口或程序窗口的大小,则也会调整子窗口图表的位置,使其始终与子窗口匹配,并且不会相互重叠。如果同时选中所有框,子窗口将相应显示所有图表。单击子窗口图表,您将在子窗口图表中显示的主窗口中看到交易的种类/日程。如果按+/-键放大或缩小图表,则所有子窗口图表的比例都将相应更改。

    要舒适地使用EA,您需要至少有一个15监视器。

    收到指示器句柄后,应指定指示器的工具、时间表和参数。由于所有信号的显示都设置在指示器的外部参数中,因此我们根据EA设置选择哪些信号,并在接收到手柄后立即指定它们各自的设置,从而获得仅在子窗口图表中观察策略中使用的信号的可能性。

图 5. 第四个条件触发的建仓5

图35。子窗口中的多个图表

  • 获利(利润)。第6列显示了EA外部参数中设置的获利能力值。如果策略的参数块要求不使用获利(不获利)功能,则相应的文本将显示在参数系统面板的表中,即无TP。
  • 止损(止损)。第7列显示停止损耗值。它的显示原理与获利能力中描述的一致。如果未设置停止损耗,则表中不会显示SL。

7.2。交易时段时钟(交易时间时钟)

当您移动到交易时段的时钟时,面板更改如下:

图 3. 第二个条件触发的建仓

图36。事务时钟

在这里,您可以看到在EA外部参数中设置的时间参数值。有关这些参数的简要描述,请参阅EA参数描述表。请注意,最高优先级分配给开/关时间范围(开/关时间范围)选项,以便在设定的时间范围内进行交易。也就是说,如果特定交易项目的所有时间选项都被启用,那么EA将按开/关时间范围启动。

在此时间范围结束时,所有仓位将关闭,与扁平仓库关联的提单将被移除。按照优先级顺序,下一个选项是在结束日关闭,用于在结束日关闭仓库。如果启用了周末的两个结算,则EA将基于此选项进行交易。只有当“开/关时间范围”和“结束日期关闭”参数设置为“假”时,仓库才会在周末关闭。上述功能可用于EA的自动和半自动模式。

使用时间范围模型,您可以将开始时间(开始交易)设置为晚于(小时)或早于所有交易站(结束交易)和所有结束时间。也就是说,如果开始交易价值为10:00,结束交易为23:00,则EA将在上午10:00开始寻找特定交易品种的信号,如果头寸保持开放至23:00,则将在晚上11:00关闭,并移除所有提单。

到上午10点,EA将不会试图为这一交易建立仓库。如果交易开始时间设置为22:00,交易结束时间设置为16:00,则EA将在同一天的22:00开始交易,在第二天的16:00结束交易。

图 3. 第二个条件触发的建仓

图37。当第一个值大于第二个值时的时间刻度

在交易时段时钟面板的下方,您可以看到格林威治标准时间(GMT)、本地时间和服务器时间。如果没有到服务器的连接,服务器时间显示将被一个红色条替换:——-

可以通过单击“符号”列中事务品种的名称来更改图表中的当前事务。时间表值将从针对特定交易首先列出的策略中得出。

7.3。手工交易

手工交易用于手工和半自动交易,分为多个部分,您可以通过在“使用位置和订单”列中单击其名称在它们之间进行切换:

  • 买入/卖出/反转(买入/卖出/反转)。
  • 关闭位置。
  • 设置挂起的订单。
  • 修改订单/职位(修改订单/职位)
  • 删除待定订单。

7.3.1.买入/卖出/反转

启用“买入/卖出/反向”部分的手动交易如下:

图 3. 第二个条件触发的建仓

图38。手工交易;买入/卖出/反向部分

本节中的期权(按钮)用于买入、卖出和反转当前交易品种的头寸。在这些选项下面,您可以看到输入停止(SL)、利润(TP)和批次(LT)值。如果您在SL/TP框中输入零值并尝试购买/销售,您将建立一个没有停止/利润的仓库。只需单击相应特定输入框的名称即可快速输入零值。如果单击输入框名称lt,将设置该工具的最小可能手数。

单击其中一个按钮以启用待机和调整模式。按钮的颜色改变(变暗),如果sl/tp值不为零,则级别级别将显示在对应于停止/利润位置价格级别的图表中。“开始”按钮显示在面板的右上角(此规则适用于选项的所有部分)。使用此按钮执行事务。在讨论完其他面板选项之后,我们将更详细地讨论这个过程,因为它们有些关联。

辅助选项位于买入/卖出/反转部分的底部:

  • 遵循价格:此选项有两个变量可供选择-调整设置级别或调整输入框中相对于级别的值。
    • 水平。如果选择此变量,则停止/利润设置将始终遵循价格以保持输入框中指定的距离。
    • 值编辑。如果选择此变量,水平线将不会移动,但输入框中输入的值将不会根据从价格到每个级别(如果设置)的距离进行调整。
  • 设置范围顺序(设置顺序范围)。如果您需要在图表中查看订单所基于的所有交易和水平级别,而无需使用垂直价格刻度进行手动调整,则此选项专门针对这种情况而设计。单击一次将完成调整。价格表的最大值和最小值设置如下:最高水平加5分,最低水平减5分。如果存在一个子窗口,其中有多个图表显示特定交易品种的未结头寸和/或提单,则垂直比例调整也适用于这些图表。
  • TP/SL作为头寸(按头寸的损益)。此选项有助于自动设置汇票的停止/利润和修改过程。也就是说,如果某一特定提单同时存在一个具有止损和/或利润的开放仓库,则该提单的止损/利润设置为与该仓库相同的水平。如果选中此框,则即使请求中未指定停止/利润水平,也将设置停止/利润水平。换句话说,您不需要花时间进行需要立即执行的调整。MetaTrader 5提供了一个标准工具,用于修改提货单/止损单/利润单,可以用鼠标轻松地拖动和删除。可以在终端设置中启用/禁用此工具-“图表”选项卡-“拖动交易级别”。如果启用EA的TP/SL作为位置选项,则EA还将注意计费/停止/利润修改。也就是说,EA只需拖动一个特定的交易水平,就可以调整所有提单的止损和利润水平。
  • 名称级别。这是一个设置水平层名称和价格值显示模式的简单选项。

让我们看一下下面价格表中解释的内容,并在执行交易之前查看级别更改,例如带止损和利润级别的购买。

图 3. 第二个条件触发的建仓

图39。使用图
设置订单范围

上图(动画)显示了按下的购买按钮(颜色变深,开始按钮出现在右上角)。现在你可以在图表中看到横线:红线-止损,绿线-利润。如果禁用“设置范围订单”选项,则利润水平在图表中不可见(该行仍然显示,但仅超出窗口的可视范围)。如果启用“设置范围顺序”,则图表高度将根据所有级别都可见的原则进行调整。

如果启用了“设置范围顺序”选项,则通过拖动水平级别自动调整输入框中的值和图表相对于级别的高度。还可以通过输入框中的输入值更改级别。如果您试图在停止级别内设置一条水平线,EA会将其推出(此规则适用于所有部分)。只需按Start建立仓库(前提是没有其他障碍),然后删除Start按钮。

如前例所述,这与当前交易品种中没有任何头寸有关。在这种情况下,后退按钮不可用。更准确地说,如果你点击它,你会听到一个错误警报,按钮不会被按下,启动按钮也不会出现。但是,如果有一个未平仓合约,反向按钮被设计成根据相同的交易量反向持仓,并保持相同的止损和利润水平(如果有的话)。

买卖按钮还用于增加/减少当前头寸,并通过添加停止/利润水平(如果之前未设置)同步对头寸的更改。您也可以使用这些按钮来关闭或反转位置。在实践中,事务操作有许多可能的组合。

7.3.2.关闭位置(放卷)部分

图 4. 第三个条件触发的建仓0

图40。手工交易;平仓部分

“平仓”部分以人工交易模式提供,包括与平仓有关的期权:

  • 所有利润(所有收益)都将抵消当前收益中的所有头寸。
  • 所有损失(所有损失)将抵消当前损失的所有头寸。
  • 在所有符号(所有交易品种)上,将清算所有交易品种的头寸。
  • 在当前符号(对于当前交易品种)上,将只关闭当前交易品种的头寸。

7.3.3。设置挂起订单部分

图 4. 第三个条件触发的建仓1

图41。手工交易;设置待处理订单第
部分

此部分中的选项允许您操作账单。与买入/卖出/反转部分类似,有止损(sl)、利润(tp)和手数(lt)输入框。此外,还有以下输入框:

  • 用于提单(PO)。
  • 对于触发购买-停止-限制/销售-停止-限制的级别,键入在达到后执行价格(EP)计费设置。
  • 一组账单(+po)的同步设置。
  • 当设置为组时,订单之间的间距(空格)(sp)。

主题修改规范列在买入/卖出/反转部分的相关描述中。更重要的是,EA不允许不正确的事务级别设置。他们总是尽最大努力根据事务规范调整错误设置的内容。

下图是一组账单的示例。

注意:输入框(+po)中输入的值为12,但如果设置了利润水平,则EA将调整图表中的数字。如果利润水平被拖后,图表中订购的单位数量将相应地改变。

图 4. 第三个条件触发的建仓2

图42。设置指定数量的清单

7.3.4。修改订单/职位(修改订单/仓库)部分

此部分包含帮助快速修改以前位置的选项。如下图所示:

图 4. 第三个条件触发的建仓3

图43。手工交易;修改订单/头寸第
部分

如果没有为现有位置设置停止/利润水平,则可以使用利润/停止选项来设置该位置。如果某个位置有一个停止/利润水平,则可以使用按下相应按钮时出现的水平线轻松修改该位置。

通过将止损设置为盈亏平衡(将止损设置为盈亏平衡),可以修改利润大于或等于输入框中指定点的头寸(如果利润大于或等于)。

7.3.5.删除待定订单(删除账单)

您可以在“删除待定订单”部分找到快速删除账单的选项。

图 4. 第三个条件触发的建仓4

图44。手工交易;删除待定订单第
部分

  • 所有符号删除所有贸易品种的所有提单;
  • 所有当前符号(cs)删除当前交易品种的所有提单;
  • 购买站(cs)删除当前交易品种的止损类型的所有提单(cs当前交易品种);
  • 购买止损限额(CS)删除当前交易品种的止损限额类型的所有提单;
  • 购买限额(CS)-删除当前交易品种购买限额类型的所有提单;
  • 销售站(CS)-删除当前交易品种的止损类型的所有提单;
  • 销售止损限额(CS)-删除所有关于止损类型和当前交易品种销售限额的提单;
  • 销售限额(CS)-删除当前交易品种销售限额类型的所有提单。

7.4。交易业绩(交易业绩)

下图显示了交易绩效部分:

图 4. 第三个条件触发的建仓5

图45。交易业绩(交易业绩)

此部分包含一个七列表表。第一列中的符号与其他部分一致。现在,让我们详细讨论其他列:

  • R&RP(%)此列显示未平仓风险,并以每个交易项目的单独百分比表示。如果某个头寸的止损水平已被修改,并且似乎高于开盘价,则该值将显示为绿色,否则将显示为红色。如果仓库没有设置止损等级,则会出现警告标志:!!!!!
  • R&RP(P/$)还分别显示了每个交易品种的头寸风险。可以单击此列的标题。如果按下标题,则以蓝色显示,值以点R&RP(P)表示。如果不按,则表示为货币R&RP($)。价值的颜色取决于利润是否受到保护。如果某个位置没有设置停止损耗,则会出现警告标志:!!!!!
  • 利润n天($)此列的值显示指定天数内的利润。可以单击标题;单击时,面板右上角会出现一个输入框,标题变为蓝色。在输入框中,每个交易项目的利润将在指定的天数内单独显示。相同的值随后显示在标题中。值颜色取决于指定天数内的损益。
  • 保证金($)此列中的值表示每个仓库使用的预付款金额。
  • 勾选损益($)此列显示损益交易中价格变化的值。
  • 在保证金检查买入/卖出($)列中,可以看到执行买入/卖出交易所需的净交易量。可以单击此标题。单击后,可以创建一个输入框,其值为面板右上角最后一个指定事务的值。如果输入新值,则重新计算列中的所有值。

7.5。账户/符号信息(账户/交易品种信息)

图 4. 第三个条件触发的建仓6

图46。账户/符号信息(账户/交易品种信息)

此部分包含与帐户和当前交易相关的信息。

8。EA将使用更多指标

EA运行还需要以下指标:

  • 子窗口指示灯。它不是一个真正的指示器,而是一个副本——一个显示多个图形的子窗口。
  • 监视控制面板MCM指示器。该指数由Konstantin Gruzdev(Lizar)编制。有关详细信息,请参阅代码库。它在EA中用于捕获以下事件:勾号(价格变化)和新条(新列)。
  • 多信号PCH指数。在本文的开头已经对索引进行了描述。它也可以从代码库或文章末尾附带的文件列表中下载。

所有指标都应该放在/metatrader 5/mql5/indicators目录中。

总结

好吧,这里我们有一套非常多样但非常简洁的交易者工具包。

当然,请记住,阻碍交易的不可抗力事件有很多种,但只要您专注于中长期交易,或者至少一天的交易不包括一小时内的交易(如本文中提到的EA),大多数(如果不是全部)都可以避免。重要的是要明白这不是一根魔杖,这样你就可以一夜暴富而不费任何努力。像其他任何工具一样,你需要学会使用它,现在你已经准备好做下一步需要做的事情了。

未来逐步实施有很多想法。该项目的开发将继续进行,购买该项目的用户将获得相关支持。此外,该产品的用户还可以免费升级程序。如果您对产品开发有任何意见或建议,请随时通过我的用户配置文件中指定的电子邮件与我联系,或给我发一封私人信件。加入这个项目,我们将沿着贸易之路走一段漫长的旅程!

本文由MetaQuotes Software Corp.翻译自俄语原文
,网址为https://www.mql5.com/ru/articles/392。

附加文件下载zip spy_control_panel_mcm.mq5(7.3 kb)subindow.mq5(1.69 kb)多信号_pch.mq5(24.5 kb)

 

 


MyFxtop迈投(www.myfxtop.com)-靠谱的外汇跟单社区,免费跟随高手做交易!

 

免责声明:本文系转载自网络,如有侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与迈投财经(www.myfxtop.cn)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。

風險提示

MyFxtops邁投所列信息僅供參考,不構成投資建議,也不代表任何形式的推薦或者誘導行為。MyFxtops邁投非外匯經紀商,不接觸妳的任何資金。 MYFXTOPS不保證客戶盈利,不承擔任何責任。從事外彙和差價合約等金融產品的槓桿交易具有高風險,損失有可能超過本金,請量力而行,入市前需充分了解潛在的風險。過去的交易成績並不代表以後的交易成績。依據各地區法律法規,MyFxtops邁投不向中國大陸、美國、加拿大、朝鮮居民提供服務。

邁投公眾號

聯繫我們

客服QQ:981617007
Email: service@myfxtop.com

MyFxtops 邁投