IsNewBar - MetaTrader 5 库
СIsNewBar 类对于在新柱出现时进行计算的 EA 交易的高效工作是必要的。
通常 IsNewBar() 函数用于此类操作而不是类。但是这样的函数包含静态变量,因此我们不能多次调用该函数。为了能够在 Expert Advisor 的代码中重复重用此类函数,将其设为类成员会容易得多。在本例中,这是使用 IsNewBar.mqh 完成的。
库代码应包含在全局级别的文件内容中,使用#包括指示:
#include
然后,必须在 Expert Advisor 的 OnTick() 块中声明所需数量的 СIsNewBar 类变量:
静止的CIsNewBar NB1,NB2;
之后我们可以调用 IsNewBar() 函数
布尔值是新栏(细绳象征, // 货币符号 ENUM_TIMEFRAMES大体时间)// 计算图表时间范围
在 EA 交易代码中:
如果(NB1.IsNewBar(象征(),PERIOD_D1))// 检查新柱 { /* 这里是交易信号1接收块代码 */ }
以下是在 OnTick() 函数中包含 СIsNewBar 类的可能代码示例:
//+------------------------------------------------------------------+ //|专家勾选功能 | //+------------------------------------------------------------------+ 空白 勾选() {//---- 双倍的i关闭1[1],i关闭2[1];//---- 静态变量的声明 静止的 布尔值重新计数1=真的,重新计数2=真的; 静止的CIsNewBar NB1,NB2;//+---------------------------------------------------------+ //|检测市场进入信号 | //+---------------------------------------------------------+ 如果(NB1.IsNewBar(象征(),PERIOD_D1) ||重新计数1)// 检查新柱 { 重新计数1=错误的; //---- 复制数组中新出现的数据 如果(复制关闭(象征(),PERIOD_D1,1,1,i关闭1)<=0) {重新计数1=真的;返回;} /* 这里是交易信号1接收块代码 */ } 如果(NB2.IsNewBar(象征(),PERIOD_H4) ||重新计数2)// 检查新柱 { 重新计数2=错误的; //---- 复制数组中新出现的数据 如果(复制关闭(象征(),PERIOD_H4,1,1,i关闭2)<=0) {重新计数2=真的;返回;} /* 这里是交易信号2接收块代码 */ }
附件下载
📎 isnewbar.mqh (1.41 KB)
📎 isnewbar_example.mq5 (1.73 KB)
Source: MQL5 #768
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
