Freeman:MetaTrader 5交易的智能助手

Mike 2018.10.26 03:27 10 0 0
附件

创意作者: vgs

mq5代码作者: barabashkakvn

注意:仅适用于对冲账户!禁止净值交易!

止损和止盈是基于动态计算的,使用的是iATR(平均真实波幅)指标——在第0根K线上的指标值乘以止损止盈的比例。

如果有多个开仓且没有锁定订单,请检查是否可以进行仓位加码:

  • 如果存在买单,且当前的卖价低于其开仓价,且距离达到或超过距离,则开一个新的买单。
  • 如果存在卖单,且当前的买价高于其开仓价,且距离达到或超过距离,则开一个新的卖单。

距离会调整为四位数货币对的标准值。

开仓的手数可以是固定的或动态计算的:

  • 手数固定- 手数参数大于0.0,且风险为0.0;手数参数设置仓位手数
  • 手数动态- 手数参数为0.0,且风险大于0.0;风险设置每笔交易的风险

跟踪止损功能在第一次修改仓位时作为止损移动到盈亏平衡点,后续修改时作为跟踪止损。跟踪止损是价格与止损间的最小距离,跟踪步长是跟踪的步长。两个参数会调整为四位数货币对的标准值。

参数Bars Control定义了EA的操作方式:仅在新K线出现时("true")或在K线内部("false")。


生成交易信号

交易信号的一般参数:当前K线为当前K线。

趋势过滤器

趋势过滤器比较当前K线(当前K线)的iMA(移动平均线)值与前一根K线(当前K线 - 1)的值。

价格与指标MA之间的最小距离。开买单时,MA应在价格下方,开卖单时,MA应在价格上方。

RSI过滤器

RSI过滤器是通过比较当前K线(当前K线)的iRSI(相对强弱指标)值与RSI水平上限RSI水平下限来判断的。开卖单信号时,RSI应超过RSI水平上限,而开买单时,应低于RSI水平下限


锁定策略

如果存在一个开仓,而同方向上最后一个平仓的价格是亏损的,则需要锁定。我们来检查一下:

  • 如果存在买单,而之前的买单以亏损平仓,当前卖价与该买单的距离达到或超过距离,则再开一个买单。不论价格是高还是低,距离的值都取绝对值。
  • 如果存在卖单,而之前的卖单以亏损平仓,当前买价与该卖单的距离达到或超过距离,则再开一个卖单。不论价格是高还是低,距离的值都取绝对值。

检测平仓时机是在 OnTradeTransaction中进行的。


EURUSD, M15:

freeman

列表
评论 0