欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

MQL5 向导 - 基于反转烛台模式的交易信号 - MetaTrader 5 专家

author emer | 143 人阅读 | 0 人评论 |

MQL5 Wizard - Trade Signals Based on Reversal Candlestick Patterns - expert for MetaTrader 5

MQL5 Wizard - Trade Signals Based on Reversal Candlestick Patterns - expert for MetaTrader 5

MQL5 Wizard - Trade Signals Based on Reversal Candlestick Patterns - expert for MetaTrader 5

MQL5 Wizard - Trade Signals Based on Reversal Candlestick Patterns - expert for MetaTrader 5

MQL5 向导提供自动创建 EA 交易(请参阅MQL5 向导:无需编程即可创建 EA 交易)。

CSignalCandles 类提供基于反转烛台模式的交易信号。该策略称为“基于反转烛台形态的信号”(在 MQL5 向导中自动创建 EA 时)。

该系统的想法是通过计算复合蜡烛来识别反转模式。反转形态类似于日本烛台分析中的“锤子”和“上吊线”形态。但它使用复合蜡烛而不是单一蜡烛,并且不需要复合蜡烛的小实体来确认反转。

输入参数:

反转烛台模式确定如下。

它计算从最近完成的柱(索引为 1)到由范围输入参数定义的柱数量的复合蜡烛参数。如果复合蜡烛尺寸大于最小输入参数指定的值,它将通过分析其阴影来检查复合蜡烛的反转条件。

空头力量以复合蜡烛上影线的大小为特征,多头力量以下影线的大小为特征。

除了反转策略之外,还可以通过指定 Limit 输入参数的负值来使用细分策略(请参阅MQL5 向导 - 基于两个 EMA 交叉和日内时间过滤器的交易信号)。

根据限制,使用三种不同的市场进入方式:

该策略在 CSignalCandles 类中实现。

MQL5 Wizard - Trade Signals Based on Reversal Candlestick Patterns - expert for MetaTrader 5

图 1. 基于反转烛台模式的交易信号

交易信号在 CSignalCandles 类中实现,有一个 Candle() 函数,用于分析:

整数  蜡烛(整数工业);// 根据复合蜡烛的类型返回正/负数                        // 返回值是复合蜡烛中的柱(蜡烛)数量(从 ind 开始)

多个蜡烛(条)可用于构造复合蜡烛。最小柱数由 Range 参数定义。在某些情况下,复合蜡烛可以由小于范围的蜡烛形成(当满足大小/阴影条件时)。如果无法形成复合蜡烛,Candle 函数将返回 0。

1. 开多仓

要开立多头头寸,需要看涨复合蜡烛。该函数对其进行检查,如果复合蜡烛尚未形成或复合蜡烛为看跌则返回。另一方面,它计算复合蜡烛尺寸(计算价格、止损和止盈水平所需)并计算挂单的价格水平。

请注意,挂单类型(Buy Limit 或 Buy Stop)取决于 Limit 输入参数的符号(如果 Limit=0 或 |price-ask|0,则将下达 Buy Limit 挂单,如果 Limit<0,则将下达 Buy Stop 挂单)。

//+------------------------------------------------------------------+
//|检查开立多头头寸的条件(买入)               |
//+------------------------------------------------------------------+
布尔值CSignalCandles::CheckOpenLong(双倍的& 价格,双倍的&SL,双倍的& tp、日期时间和到期日)
  {//--- 检查看涨复合蜡烛形成的事实  如果(蜡烛(1)<=0返回错误的);//--- 获取复合蜡烛的大小  双倍的尺寸=m_high_composite-m_low_composite;//--- 计算挂单价格   价格=m_symbol.NormalizePrice(m_symbol.Ask()-m_limit*size);//--- 计算止损价格   sl   =m_symbol.NormalizePrice(价格-m_stop_loss*size);//--- 计算止盈价格   tp   =m_symbol.NormalizePrice(价格+m_take_profit*大小);//--- 设置订单到期时间   过期+=m_expiration*PeriodSeconds(m_period);//--- 条件满足,返回true  返回真的);
  }

2. 多头平仓

如果看跌复合蜡烛已经形成,则多头头寸被平仓。

//+------------------------------------------------------------------+
//|检查平仓条件 |
//+------------------------------------------------------------------+
布尔值CSignalCandles::CheckCloseLong(双倍的& 价格)
  {//--- 检查看跌复合蜡烛形成的事实  如果(蜡烛(1)>=0返回错误的);//---   价格=0.0;//--- 条件满足,返回true  返回真的);
  }


3. 开空仓

必须形成看跌复合蜡烛才能开空头头寸。如果复合蜡烛未形成,或者不是看跌,则返回。另外,我们确定其大小并计算挂单的价格水平

(订单类型取决于 Limit 输入参数的符号,请参阅“开多头仓位”)。

//+------------------------------------------------------------------+
//|检查开空头寸(卖出)的条件                  |
//+------------------------------------------------------------------+
布尔值CSignalCandles::CheckOpenShort(双倍的& 价格,双倍的&SL,双倍的& tp、日期时间和到期日)
  {//--- 检查看跌复合蜡烛形成的事实  如果(蜡烛(1)>=0返回错误的);//--- 获取复合蜡烛的大小
  双倍的尺寸=m_high_composite-m_low_composite;//--- 计算挂单价格
   价格=m_symbol.NormalizePrice(m_symbol.Bid()+m_limit*size);//--- 计算止损价格   sl   =m_symbol.NormalizePrice(价格+m_stop_loss*大小);//--- 计算止盈价格   tp   =m_symbol.NormalizePrice(价格-m_take_profit*size);//--- 设置订单到期时间   过期+=m_expiration*PeriodSeconds(m_period);
//--- 条件满足,返回true  返回真的);
  }


4. 平仓

如果看涨复合蜡烛已经形成,则空头头寸被平仓。

//+------------------------------------------------------------------+
//|检查空头平仓条件 |
//+------------------------------------------------------------------+
布尔值CSignalCandles::CheckCloseShort(双倍的& 价格)
  {//--- 检查看涨复合蜡烛形成的事实 
  如果(蜡烛(1)<=0返回错误的);//---   价格=0.0;//--- 条件满足,返回true
  返回真的);
  }

使用 MQL5 向导创建 EA 交易

要根据策略创建交易机器人,您需要将信号属性选择为“基于反转烛台模式的信号” 在“创建现成的 EA 交易”选项中MQL5 向导:

MQL5 Wizard - Trade Signals Based on Reversal Candlestick Patterns - expert for MetaTrader 5

图 2. 在 MQL5 向导中选择“基于反转烛台模式的信号”

接下来你必须指定需要的追踪止损算法和资金和风险管理系统。 Expert Advisor 的代码将自动创建,您可以对其进行编译和测试策略测试仪MetaTrader 5 客户端。

测试结果

让我们考虑一下 EA 交易对历史数据的回溯测试(EURUSD M15,测试期:2010 年 1 月 1 日-2011 年 1 月 5 日,范围=3,最小值=50,ShadowBig=0.5,ShadowSmall=0.2,限制=0,止损=2.0,获利=1.0,到期=4)。

在创建 EA 交易时,我们使用了固定交易量 (交易固定手数, 0.1), 未使用追踪止损算法 (未使用尾随)。

MQL5 Wizard - Trade Signals Based on Reversal Candlestick Patterns - expert for MetaTrader 5

附件:带有 CSignalCandles 类的 SignalCandles.mqh 必须放置在terminal_data_folder\MQL5\Include\Expert\Signal 文件夹中。

Expert_candles.mq5包含使用 MQL5 向导创建的 EA 交易的代码。


附件下载

📎 signalcandles.mqh (19.85 KB)

📎 expert_candles.mq5 (6.45 KB)

Source: MQL5 #268

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录