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

多货币 OnTick(字符串符号)事件处理程序 - MetaTrader 5 专家

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

这是 MetaTrader 5 中全功能多货币模式的新实现。它是在扩展 OnTick(字符串符号)函数中实现的。 

Expert Advisor 模板如下所示:

//+------------------------------------------------------------------+
//|                                        OnTick(字符串符号).mq5 |
//|                                            版权所有 2010,Liza |
//|                            https://www.mql5.com/ru/users/Lizar |
//+------------------------------------------------------------------+
#定义版本      “1.00 构建 1(01 Fab 2011)”

#财产版权  “版权所有 2010,利扎尔”
#属性链接        “https://www.mql5.com/ru/users/Lizar”
#属性版本     版本
#属性描述“EA 交易模板”
#属性描述“使用多货币 OnTick(字符串符号)事件处理程序”

//+------------------------------------------------------------------+
//|                多货币模式设置                      |
//|           OnTick(字符串符号) 事件处理程序                 |
//|                                                                  |
//| 1.1 事件进行所需的符号列表:             |
#define  SYMBOLS_TRADING    “欧元兑美元”,“英镑兑美元”,“美元日元”,“美元兑瑞郎”
//| 1.2 如果您想要市场观察中的所有交易品种,请使用:         |
//#define  SYMBOLS_TRADING    “MARKET_WATCH”
//|     注意:只能从 1.1 或 1.2 中选择一种方式。                   |
//|                                                                  |
//| 2.  OnTick 的事件类型(字符串符号):                        |
#define CHARTEVENT_SYMBOL CHARTEVENT_TICK
//|     注意:事件类型必须对应                 |
//|                 ENUM_CHART_EVENT_SYMBOL 枚举。             |
//|                                                                  |
//| 3.  包含文件:                                                 |
#include 
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|专家初始化函数                                   |
//|该函数必须被声明,即使它是空的。                |
//+------------------------------------------------------------------+
整数 初始化时()
  {
  //--- 在此处添加您的代码...  返回0);
  }
  //+------------------------------------------------------------------+
//|专家多刻度功能                                       |
//|使用此函数代替标准 OnTick() 函数      |
//+------------------------------------------------------------------+
空白 勾选细绳象征)
  {
  //--- 在此处添加您的代码...  打印“符号上的新事件:”,象征);
  }
  //+------------------------------------------------------------------+
//| ChartEvent 函数                                              |
//|该函数必须被声明,即使它是空的。                |
//+------------------------------------------------------------------+
空白 图表事件常量 整数ID,        // 事件ID                  常量 长的&l参数,  // long 类型的事件参数                  常量 双倍的&d参数,// double 类型的事件参数                  常量 细绳和垃圾邮件)// string类型的事件参数  {
  //--- 在此处添加您的代码...  }
  //+------------------------------------------------------------------+
//|专家去初始化函数                                 |
//+------------------------------------------------------------------+
空白 解初始化常量 整数原因)
  {
  //--- 在此处添加您的代码...  }//+------------------------------------------ 结束 ------------------------------------------+

一些特点:

所有设置都可以使用#define 指令进行配置。为了使 OnTick(string symbol) 函数正确工作,您只需要指定两个参数:SYMBOLS_TRADING 和 CHART_EVENT_SYMBOL。第一个 (SYMBOLS_TRADING) 定义用于事件的交易品种列表。第二个 (CHART_EVENT_SYMBOL) 定义所有交易品种的事件类型。

SYMBOLS_TRADING 包含交易品种列表,例如:

#define  SYMBOLS_TRADING    “欧元兑美元”,“英镑兑美元”,“美元日元”,“美元兑瑞郎”

该列表必须准备为字符串,并以逗号分隔。列表以行尾结束。

SYMBOLS_TRADING 可以定义如下:

#define  SYMBOLS_TRADING    “市场观察”

这种方式意味着将使用市场观察中的所有交易品种。此方法可用于“即时”更改符号列表。只需向市场观察添加或删除所需的符号即可。

The CHART_EVENT_SYMBOL event type is defined by flag or their combination from the ENUM_CHART_EVENT_SYMBOL enumeration.查看详情这里(俄语)。

以下是事件类型的示例:

//--- 示例 1.OnTick 事件:
#define CHARTEVENT_SYMBOL CHARTEVENT_TICK
//--- 示例 2. 新柱 M1 和新柱 H1:
#define CHARTEVENT_SYMBOL CHARTEVENT_NEWBAR_H1|CHARTEVENT_NEWBAR_M1

2. 包含文件。

3.策略测试器。

这是特点。在策略测试器中,OnTick(字符串交易品种)将作用于策略测试器设置中指定的交易品种的价格变动。换句话说,它的工作原理就像 OnTick(),但也会在选定交易品种出现新报价时调用。对于与策略测试器一起使用SYMBOLS_TRADING 必须指定为交易品种列表。

它使用“间谍”(代理-指示器)。 “Spy Control panel MCM.ex5”文件必须位于 \MQL5\Indicators\ 文件夹中。

5. 必须将存档中的文件提取到 \MQL5 文件夹中。需要的文件:


附件下载

📎 code_280.zip

Source: MQL5 #280

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