PriceChannel - MetaTrader 5 库

PriceChannel 所选期间内的最高和最低价格。
这个跨平台库允许计算 PriceChannel,而无需将其归因于标准柱,即按价格变动。
因此,PriceChannel 可以在任何时间范围内计算,包括一秒时间范围。它也可以作为逐笔报价的通道。
// PriceChannel库操作示例 输入 整数期间 =1; // 通道周期 输入 布尔值价格渠道 =真的;// 启用/禁用通过库计算 PriceChannel #定义PRICECHANNEL_LOW_PRICE 出价 // 最低价柱的出价/要价/最后价 #包括//https://www.mql5.com/en/code/23418 // 最后 iPeriod 柱的最高价格 双倍的获得高(常量 整数i 期间 ) { 静止的 双倍的高点[]; 高复制(_象征,PERIOD_CURRENT,0、 iPeriod、高点); 返回(高点[数组最大值(高)]); }// 最后一个 iPeriod 柱的最低价格 双倍的降低(常量 整数i 期间 ) { 静止的 双倍的低点[]; 低拷贝(_象征,PERIOD_CURRENT,0、iPeriod、低点); 返回(低点[数组最小化(低)]); }双倍的总和=0;空白 勾选() { 静止的 常量 整数条形间隔 =周期秒数(PERIOD_CURRENT); 静止的PRICECHANNEL PriceChannel(inPeriod);// 创建一个具有预定义周期的 PriceChannel 对象 静止的 整数条形计数 =0; 静止的 日期时间上一个时间 =0; 如果(在价格频道) PriceChannel.NewTick();// 考虑新的刻度 如果(时间当前() / BarInterval != PrevTime / BarInterval)// 新栏 计数条++; 如果(柱数 > MAX_BARS)// 当相关历史记录累积完毕后开始计算 总和 += inPriceChannel ? PriceChannel.GetHigh() - PriceChannel.GetLow()// 通过库计算 PriceChannel : GetHigh(inPeriod) - GetLow(inPeriod); // 通过标准方法计算PriceChannel 上一个时间 =时间当前(); }双倍的 测试仪() { 返回(和); }
该 EA 将在测试器中显示相同的结果:标准结果和通过库得到的结果。
标准计算
优化完成,总通过次数200优化完成于6分钟55秒 最短路径0:00:01.061, 最长传球0:00:03.432, 平均通过率0:00:02.066
通过图书馆
优化完成,总通过次数200优化完成于2分钟57秒 最短路径0:00:00.764, 最长传球0:00:01.982, 平均通过率0:00:00.862
附件下载
📎 pricest_base.mqh (1.2 KB)
📎 pricest.mqh (5.67 KB)
📎 pricest_copy.mqh (5.67 KB)
📎 highest.mqh (0.33 KB)
📎 lowest.mqh (0.34 KB)
📎 pricechannel.mqh (2.51 KB)
📎 pricechannel_example.mq5 (1.52 KB)
Source: MQL5 #23418
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
