MQL5 向导 - 基于价格交叉与移动平均线指标的交易信号 - MetaTrader 5 专家



MQL5 向导允许自动创建 EA 交易代码。看在 MQL5 向导中创建现成的 EA 交易了解详情。
在这里,我们将考虑基于价格与移动平均线指标交叉的策略。该策略称为“基于价格与 MA 交叉的信号”(在 MQL5 向导中自动创建 EA 时)。
贸易信号:
该策略实施于C信号MA的类别交易策略课程MQL5 标准库(位于 MQL5\Include\Expert\Signal\SignalMA.mqh)。

图 1. 基于价格与移动平均线交叉的交易信号
交易策略的实施是在C信号MA类,它有一些受保护的方法来简化对指标和价格值的访问:
双倍的 MA(整数工业) // 返回柱的移动平均线值 双倍的 打开(整数工业) // 返回柱的开盘价 双倍的 关闭(整数工业) // 返回柱的收盘价 双倍的 状态MA(整数工业) // 如果平均值增加则返回正值,如果减少则返回负值 双倍的 状态打开(整数工业) // 返回开盘价与移动平均线之间的差值 双倍的 状态关闭(整数工业) // 返回收盘价与移动平均线之间的差值
1. 开多仓
开多头头寸的条件(价格与 MA 交叉并检查 MA 上涨):
//+------------------------------------------------------------------+ //|检查开立多头头寸的条件(买入) | //+------------------------------------------------------------------+ 布尔值CSignalMA::CheckOpenLong(双倍的& 价格,双倍的&SL,双倍的&TP,日期时间及有效期) { 价格=0.0; SL =0.0; tp =0.0;//--- 价格向上穿越 MA 并且 MA 增加 返回(状态打开(1)<0&& 状态关闭(1)>0&& 状态MA(1)>0); }
2. 多头平仓
多头平仓条件(价格与 MA 交叉并检查 MA 下降):
//+------------------------------------------------------------------+ //|检查平仓条件 |//+------------------------------------------------------------------+ 布尔值CSignalMA::CheckCloseLong(双倍的及价格) { 价格=0.0; //--- 价格向下穿过移动平均线且移动平均线下降 返回(状态打开(1)>0&& 状态关闭(1)<0&& 状态MA(1)<0); }
3. 开空仓
空头开仓条件与多头平仓条件相同。
//+------------------------------------------------------------------+ //|检查开空头寸(卖出)的条件 | //+------------------------------------------------------------------+ 布尔值CSignalMA::CheckOpenShort(双倍的& 价格,双倍的&SL,双倍的&TP,日期时间及有效期) { 价格=0.0; SL =0.0; tp =0.0;//--- 价格向上穿越移动平均线且移动平均线下降 返回(状态打开(1)>0&& 状态关闭(1)<0&& 状态MA(1)<0); }
4. 平仓
空头平仓条件与多头开仓条件相同。
//+------------------------------------------------------------------+ //|检查空头平仓条件 |//+------------------------------------------------------------------+ 布尔值CSignalMA::CheckCloseShort(双倍的及价格) { 价格=0.0;//--- 价格向上穿过移动平均线且移动平均线上涨 返回(状态打开(1)<0&& 状态关闭(1)>0&& 状态MA(1)>0); }//+------------------------------------------------------------------+
使用 MQL5 向导创建 EA 交易
要根据策略创建交易机器人,您需要将信号属性选择为“基于价格与 MA 交叉的信号” 在“创建现成的 EA 交易”选项中MQL5 向导:

图 2. 在 MQL5 向导中选择“基于价格与 MA 交叉的信号”
接下来你必须指定需要的追踪止损算法和资金和风险管理系统。 Expert Advisor 的代码将自动创建,您可以对其进行编译和测试策略测试仪MetaTrader 5 客户端。
测试结果
让我们考虑一下 EA 交易对历史数据的回测(EURUSD H1,自定义周期:2010 年 1 月 1 日-2011 年 1 月 5 日,MA_period=12,MA_Shift=0)。
在创建 EA 交易时,我们使用了固定交易量 (交易固定手数, 0.1), 未使用追踪止损算法 (未使用尾随)。

图 3. EA 交易的历史回测结果(基于与 MA 的价格交叉)
附件:SignalMA.mqh 具有C信号MA类(包含在MQL5 标准库)位于 MQL5\Include\Expert\Signal 文件夹。文件 crossoverma.mq5 包含使用 MQL5 向导创建的 EA 交易的代码。
附件下载
📎 signalma.mqh (12.33 KB)
📎 crossoverma.mq5 (6.09 KB)
Source: MQL5 #248
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
