系统交易 게시글

基于双移动平均线的EA:在MetaTrader 4上的专业交易助手

첨부파일
13617.zip (118.38 KB, 다운로드 0회)

大家好,今天想和大家分享一下我自己设计的一款交易助手(EA),它是基于双移动平均线的策略。代码部分是由Sergey Diubakin编写的。

这款EA主要用于PAMM账户交易。在我的操作下,实际净利润达到了20%,但最大可达84%的收益率。真实交易时间为2015年2月23日至2015年7月23日。

根据我的观察,这款EA的交易需要较大的资金支持,建议最低资金在15,000到20,000之间。

这款EA使用了移动平均线指标的数值进行交易。当快速移动平均线位于慢速移动平均线之上,并且两者之间的距离大于设定值时,EA会开设买单。

相反,当指标的值发生变化时,则会开设卖单。订单关闭时机则根据移动平均线的数值来决定。

这款EA还配备了多种插件模块,包括快速与慢速移动平均线之间的距离、止盈、止损、跟踪止损、订单间距(上下)、止盈平均方法、交易时间、转向等功能,如果上一单亏损,首个主手数会增加。

EA的算法:

  1. EA会检查是否有未平仓的订单。
  2. 如果没有未平仓的订单,EA会分析图表,如果所有设定的条件都满足,就会开设首个主订单。
  3. 开设首个主订单后,EA会设置止盈和止损水平(如果这些模块已启用)。
  4. 如果首个主订单亏损,EA可能会以增大手数的方式开设下一个订单。
  5. 如果首个主订单已经开设,且开启了向上和向下的模块,当价格达到设定值时,会开设额外的订单。额外订单只能在EA检测到之前已经开设了首个主订单或有未平仓的额外订单时进行。
  6. 这款EA有两种操作模式:
    • a) 第一种模式是当快速MA在慢速MA之上时,EA会下买单;一旦趋势变化(快速MA在慢速MA之下),所有开设的订单都会被平仓,随后下卖单。
    • b) 第二种模式是当EA已开设买单并且趋势变化(快速MA在慢速MA之下)时,订单将保持开仓状态。EA只会在快速MA低于慢速MA且所有EA的订单平仓(止盈、止损触发或手动平仓)时才会下卖单。
  7. 这款EA还有一个交易时间模块,启用后,EA只会在指定的时间段内开设首个主订单。该模块不适用于向上、向下和转向的额外订单。也就是说,如果EA之前开设了订单,而向上、向下或转向模块被启用,额外订单将不受时间限制。

EA设置:

  1. 操作模式:

    • 1 — 如果趋势变化,所有开设的订单都会被平仓,反向订单会被开设;
    • 2 — 如果趋势变化,开设的订单不会被平仓(EA会等待止盈、止损触发或手动平仓)。
  2. 快速MA — 移动平均线指标插件的设置:周期、偏移量、MA方法,使用的是MetaTrader 4终端内置的移动平均线。

  3. 慢速MA — 移动平均线指标插件的设置:周期、偏移量、MA方法,使用的是MetaTrader 4终端内置的移动平均线。

  4. 初始手数

    4.1. 初始手数

    • LotConst_or_not — 允许用户选择是否从固定手数开始交易,或者根据存款变化重新计算初始手数:
      true — 首个手数将是固定的;
      false — 首个手数将根据存款变化动态调整,取决于风险百分比和存款大小。
    • Lots — 设置交易的初始手数;
    • RiskPercent — 根据存款设置初始手数。

  5. 手数增加

    • FirstLotMultiplicator — 决定每次后续主订单的增加比例,如果前一个主订单亏损;
    • First_LotSize — 如果首个主订单达到设置的值,则EA会在接下来指定的水平上设置止盈;
    • First_LotSize_TakeProfit — 首个主订单的新止盈水平;
    • First_MaxLotSize — EA将增加的首个主订单的最大值。
  6. 快速MA与慢速MA之间的距离

    • Distance — 开设订单所需的快速MA与慢速MA之间的距离,以点为单位。
      true — 启用距离模块,
      false — 禁用距离模块。
  7. 止盈(TP)

    • 止盈 — 平仓时所期望的利润值,以点为单位。
      true — 启用止盈模块,
      false — 禁用止盈模块。
  8. 止损(SL)

    • StopLoss — 可能会遭受的亏损点数。
      true — 启用止损模块,
      false — 禁用止损模块。
  9. 订单间距(向上)

    true — 启用向上模块,
    false — 禁用向上模块。

  10. 订单间距(向下)

    true — 启用向下模块,
    false — 禁用向下模块。

  11. EA订单的标识符 — Magic(魔法数字) — 此参数帮助EA识别在同一终端上交易的订单。

  12. Logo与数据输出 — ShowTableOnTesting — 该参数允许开启或关闭表格显示(今日、昨日收益等):
    true — 开启,
    false — 关闭。

  13. 时间框架 — 程序代码决定EA将在哪个图表时间框架上进行交易。

    • 当前 — 在终端指定的图表时间框架。
    • M1, M5, M15, M30, H1, H4, D1, W1, MN1 — 固定时间框架。
  14. 交易时间 — 在特定时间内开设首个主订单的模块。

    true — 启用交易时间模块,
    false — 禁用交易时间模块。

  15. 转向 — 根据首个主订单的止损水平在相反方向上开设限价订单。

    true — 启用转向模块,
    false — 禁用转向模块。

交易结果:

交易结果

这款EA在PAMM账户上的真实交易期为2015年2月23日至2015年7月23日。最大收益可达84%,但由于我的干预,实际净利润仅为20%。

我进行的EA测试显示,月净利润在5%、10%、15%之间,回撤不超过20%。

P.S. 附带的设置仅适用于我所交易的账户。每个交易商/经纪商和账户(模拟或真实)都需要自定义的EA设置。

请不要过于依赖优化,因为优化并不总是有效,且可能在快速波动时忽略订单执行速度。

연관 포스트

댓글 (0)