多货币 OnTick(字符串符号)事件处理程序 - MetaTrader 5 专家
这是 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 文件夹中。需要的文件:
附件下载
Source: MQL5 #280
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
