SerialMA_EA:MetaTrader 5的智能交易助手

Mike 2018.04.19 01:57 113 0 0
附件

大家好,今天我们来聊聊一款非常实用的智能交易助手——SerialMA,它专为MetaTrader 5设计,能够助力交易者在市场中更好地把握机会。

这个智能交易助手的核心是基于SerialMA指标,其计算周期会随着价格与指标线的交叉而不断增加,直到下一次交叉为止。在每次交叉后,指标的计算会重新开始,确保信息的实时性。

该智能交易助手利用了下述指标特性:

  • 如果信号柱的蜡烛收盘价高于指标线,并且前一根柱子的指标点位于指标线上,这就意味着可以开一个多头仓位。
  • 相反,如果信号柱的蜡烛收盘价低于指标线,并且前一根柱子的指标点位于指标线上,这就意味着可以开一个空头仓位。

你可以选择两种开仓模式:

  • 每个信号开一个合适的仓位,同时关闭相反的仓位。
  • 每个方向只允许开一个仓位。这个仓位会在第一个信号时打开。如果存在相反的仓位,则在这个信号时关闭。后续同方向的信号会被忽略,直到出现相反信号——在这种情况下,仓位会被反向开仓(即“摆动”)。
请注意,这款智能交易助手是专为对冲账户设计的。如果在净头寸账户上启动EA,会弹出警告信息,EA将被卸载。

要确保智能交易助手的正常运行,请将编译好的指标文件 SerialMA.ex5 保存在你的终端目录的标准指标文件夹中(即:你的终端目录\MQL5\Indicators)。

这款智能交易助手还允许启用/禁用多头/空头仓位,并且可以反向指标信号,选择在买入信号时开空单,反之亦然。你还可以设置止损和获利点数。如果指定的止损和获利值无效,EA会将其调整为该品种允许的最低 StopLevel 值。

如果输入的手数值不正确,智能交易助手也会进行调整。如果手数过大,EA会调整以确保能够打开一个仓位。如果连最低手数都无法开仓,那么该信号将被跳过。

请注意,这款智能交易助手是用于学习和训练的。

EA有12个输入参数:

  • 智能交易助手魔法编号 - EA仓位的唯一标识;
  • 开仓模式 - 仓位开仓模式(每个信号开仓或只允许有一个仓位);
  • 启用多头仓位 - 允许开多头仓位;
  • 启用空头仓位 - 允许开空头仓位;
  • 反向交易 - 选择反向模式(是/否):如果是,则在多头信号时开空单,反之亦然;
  • 手数 - 开仓的手数;
  • 止损点数 - 仓位的止损点数;
  • 获利点数 - 仓位的获利点数;
  • 价格滑点 - 开仓时允许的最大滑点;
  • 止损的点差倍数 - 应用在止损订单计算中的点差倍数;
  • 等待环境更新时间(秒) - 等待交易环境更新的时间;
  • 获取环境状态的尝试次数 - 获取准确交易环境的尝试次数。
* 对于止损和获利订单(以及挂单),有一个最低允许的下单距离 - StopLevel。即止损和获利(以及挂单)不能靠近价格小于此距离。如果StopLevel为零,并不意味着没有,而是它是浮动的。在这种情况下,最低距离通常等于点差,然而,有时即使双倍的点差也不够。因此,该参数允许指定一个自定义倍数,以计算下单的最小距离。
** 当交易订单发送到服务器时,执行延迟可能导致市场仓位计数不准确。如果检测到此类“未定义”状态,智能交易助手会等待指定的秒数,然后重新读取环境。
*** 在一个tick内的等待周期次数在EA参数中设置。在尝试获取准确环境后,智能交易助手会退出处理,并等待下一个tick。如果在此期间交易环境未更新,EA会在下一个tick时再次尝试。

这款策略使用默认设置进行了测试,数据区间从2017年1月4日至2018年2月9日。不幸的是,EA在默认设置下的表现并不理想,因此进行了反向模式测试,结果更佳。智能交易助手通过动态计算的移动平均线接收信号,因此没有优化参数。不过,你可以考虑为EA添加一些功能,比如对开仓进行跟踪止损。

图1、2 测试结果。

列表
评论 0