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

SignalMAAboveBelow 3 - MetaTrader 5 库

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

SignalMAAboveBelow 3 - library for MetaTrader 5

SignalMAAboveBelow 3 - library for MetaTrader 5

该库是对信号MAA高于2

如果当前柱的价格高于指标,则两个柱都必须看涨。如果当前柱的价格低于指标,则两个柱都必须看跌。所以,这两个参数(当前条形大小上一页条形尺寸) 是建仓时的保护过滤器。

在信号模块中,我们需要在构造函数中连接时间序列:

//+------------------------------------------------------------------+
//|构造函数                                                      |
//+------------------------------------------------------------------+CSignalMA::CSignalMA(空白) : m_reverse(错误的),
                             m_ma_period(12),
                             m_ma_shift(0),
                             m_ma_方法(模式_SMA),
                             m_ma_应用(PRICE_CLOSE),
                             m_pattern_0(80),
                             m_size_current_bar(40),
                             m_size_previous_bar(20)
  {//--- 受保护数据的初始化   m_used_series=USE_SERIES_OPEN+USE_SERIES_HIGH+USE_SERIES_LOW+USE_SERIES_CLOSE;  }

连接时间序列后,我们可以访问m_closem_open的对象Ci关闭开放网络分别是类(对象在更高级别声明 - 在父级级别专家库.mqh)。

我们与这些对象一起工作CSignalMA::长条件

//+------------------------------------------------------------------+
//| “投票”表明价格将会上涨。                                   |
//+------------------------------------------------------------------+
整数CSignalMA::长条件(空白)
  {
  如果(m_type_trade==1// m_type_trade: 交易枚举类型: 0 -> 买入, 1 -> 卖出, 2 -> 买入和卖出      返回0);
  整数结果=0;
  整数idx   =StartIndex();//---  如果(m_close.GetData(idx+1)-m_open.GetData(idx+1)返回0);
  如果(m_close.GetData(idx)-m_open.GetData(idx)返回(0);
//--- 分析第一个分析柱的收盘价和指标的位置关系

и вCSignalMA::短路条件

//+------------------------------------------------------------------+
//| “投票”表明价格将会下跌。                                   |
//+------------------------------------------------------------------+
整数CSignalMA::短路条件(空白)
  {//--- m_type_trade: 交易枚举类型: 0 -> 买入, 1 -> 卖出, 2 -> 买入和卖出  如果(m_type_trade==0)
      返回0);
  整数结果=0;
  整数idx=开始索引();//---  如果(m_open.GetData(idx+1)-m_close.GetData(idx+1)返回0);
  如果(m_open.GetData(idx)-m_close.GetData(idx)返回(0);
//--- 分析第一个分析柱的收盘价和指标的位置关系

开仓示例撤销==错误:

SignalMAAboveBelow 3 - library for MetaTrader 5

图 1. SignalMAAboveBelow 3 - 建立买入仓位

SignalMAAboveBelow 3 - library for MetaTrader 5

图 2. SignalMAAboveBelow 3 - 建立卖出仓位

测试 EA 交易测试信号MAAboveBelow3.mq5有默认参数,没有进行优化。

如果在 EA 交易中测试信号MAAboveBelow3.mq5在 MQL5 向导中生成

//+------------------------------------------------------------------+
//|输入                                                           |
//+------------------------------------------------------------------+
//--- 专家的输入
输入 细绳             专家标题                 =“测试信号MAAboveBelow3”;// 文档名称
乌龙                    Expert_MagicNumber           =20884;                    //
布尔值                     Expert_EveryTick             =错误的;                    //
//--- 主信号输入

我们在每个刻度上启用操作(更改默认值“错误的”为“true”),我们可以获得更有趣的结果:当当前柱(索引 #0 的柱)变得等于或略大于当前条形大小范围。


附件下载

📎 signalmaabovebelow_3.mqh (21.56 KB)

📎 testsignalmaabovebelow3.mq5 (17.04 KB)

Source: MQL5 #20164

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