ZigZagExtremaOnArray - MetaTrader 5 库






整数 计算时(常量 整数费率_总计, 常量 整数先前计算的, 常量 日期时间&时间[], 常量 双倍的&打开[], 常量 双倍的&高的[], 常量 双倍的&低的[], 常量 双倍的&关闭[], 常量 长的&tick_volume[], 常量 长的&体积[], 常量 整数&传播[]) { 整数to_copy = (rates_total - prev_calculated) * (prev_calculated < rates_total) + (1) * (prev_calculated == rates_total); 复制缓冲区(RSI 句柄,0,0,to_copy,ExtRSIBuffer); //--- ZigZagExtremaOnBuffer.mqh 计算函数 ZZOnBuffer(rates_total, prev_calculated, ExtRSIBuffer, ExtOutputBuffer, InpSearchMode, InpDepth, InpDeviation, InpBackstep); 返回(费率_总计); }
要仅获取高点或仅低点,需要添加一个 EnSearchmode 类型的输入:
//+------------------------------------------------------------------+ //|之字折线计算 | //+------------------------------------------------------------------+ 整数ZZOnBuffer(常量 整数费率, //在非指标数组上,Arraysize 可以用作 'rates_total' 常量 整数计算出, 常量 双倍的&src[], //计算源缓冲区 双倍的&dst[], //计算缓冲区的目标缓冲区 EnSearchMode mode_search, //将输出缓冲区设置为仅高、仅低或两者 常量 整数&深度, 常量 整数&偏差, 常量 整数后退一步(&B) //ZZ输入参数 ) { ... ...
仅高点:
高点和低点都在一个缓冲区中:
它不限于指标缓冲区,您可以在任何数组上使用它,只需将“rates”设置为数组的长度而不是 rates_total。
该函数可以处理的绝对最小柱数为 100。因此,尽管您可以在数百个柱的数组上使用此计算函数,但在指标缓冲区中,rates_total 通常为几千。
附件下载
📎 zigzagextremaonbuffer.mqh (8.26 KB)
📎 testrsizzxonbuffer.mq5 (3.32 KB)
Source: MQL5 #39114
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
