MetaTrader 5 / EA
EMA 交叉竞争对冲 - MetaTrader 5EA
2613
思路的作者: Scriptor, MQL5 代码的作者: barabashkakvn.
搜索在两个柱上两个移动平均交叉,就会生成信号:

当前柱的编号可以在Trade bar中指定: 或者是 bar #0 或者是 bar #1.
如果 Use MACD 设为 true, EA 将也会考虑 MACD 主线相对于0的位置 (Trade bar 参数).
如果没有开启的仓位的时候,生成了一个信号,会开启一个仓位,并且会有四个对冲订单以 Hedge level 的距离设置,而生命周期等于 Expiration pending orders: 如果是买入仓位,就设置止损买入挂单;如果是卖出仓位,就设置止损卖出挂单。
仓位在有反向信号的时候,如果 Close the opposite positions 参数设为 true, 就会被关闭。例如,如果生成了买入信号,卖出仓位就将关闭。
一旦仓位建立,将会启用 Trailing Stop 和 Trailing Step(跟踪止损)。
输入参数
- Lots - 建立仓位的交易量;
- Stop Loss (in pips) - 止损值;
- Take Profit (in pips) - 获利值;
- Trailing Stop (in pips) - 跟踪止损值;
- Trailing Step (in pips) - 跟踪止损步长;
- Hedge level (in pips) - 挂单之间的距离;
- Close the opposite positions - 关闭反向仓位的标志;
- Use MACD - 使用 MACD 的标志;
- Expiration pending orders (seconds) - 挂单过期时间;
- MA short: averaging period - 快速 MA 计算参数;
- MA long: averaging period - 慢速 MA 计算参数;
- Trade bar - 交易的柱的编号;
- magic number - EA 的唯一识别ID.
EURUSD, M30 测试实例:

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/19945