使用环形缓冲区绘制 OsCD 的类 - MetaTrader 5脚本


COsMAOnRingBuffer 类旨在计算技术指标移动平均线振荡器 (震荡指标的移动平均线,OsMA)使用算法环形缓冲区。
班级COsMAOnRingBuffer :民众CArrayRing
标题
#include COsMAOnRingBuffer.mqh 类的文件应放置在需要在 MQL5\Include\ 中建立的 IncOnRingBuffer 文件夹中。描述中附加了两个文件,其中包含该文件夹中的类所使用的示例。文件与环形缓冲区,平滑异同移动平均线和移动平均线 类也应该位于此文件夹中。
//--- 初始化方法: 布尔值初始化( // 如果出错则返回 false,如果成功则返回 true 整数 快速_周期 =12, // 快速移动平均线平滑的周期 整数 慢速周期=26, // 缓慢移动平均线平滑的周期 整数 信号周期=9, // 信号移动平均线平滑的周期 ENUM_MA_METHOD快速方法 =模式_EMA,// 快速移动平均线平滑方法 ENUM_MA_METHOD慢速方法 =模式_EMA,// 慢速移动平均线平滑方法 ENUM_MA_METHOD信号方法=模式_SMA,// 信号移动平均线平滑方法 整数 大小缓冲区 =256, // 环形缓冲区的大小,存储数据的数量 布尔值 as_series =错误的 // 如果是时间序列则为 true,如果输入数据的通常索引则为 false );
//--- 基于时间序列或指标缓冲区的计算方法: 整数MainOnArray( // 返回已处理元素的数量 常量 整数 费率_总计, // 数组的大小 array[] 常量 整数 先前计算的,// 上次调用时处理的元素 常量 双倍的&大批[] // 输入值的数组 );
//--- 基于数组的单独系列元素的计算方法 双倍的主要值( // 返回奥斯玛设定元素的值 常量 整数 费率_总计, // 数组的大小 常量 整数 先前计算的,// 处理后的数组元素 常量 整数 开始, // 从数组的重要数据开始的地方 常量 双倍的价值, // 数组的重要元素 常量 整数 指数 // 元素索引 );
//--- 访问数据的方法: 整数 酒吧要求(); // 返回绘制指标所需的柱数 细绳姓名() // 返回指标的名称 细绳快速方法() // 以文本行的形式返回快速行的平滑方法 细绳慢速方法() // 以文本行的形式返回平滑慢行的方法 细绳信号方法() // 以文本行的形式返回信号线的smoothong方法 整数 快速周期() // 返回快速线的平滑周期 整数 慢周期() // 返回平滑慢线的周期 整数 信号周期() // 返回信号线的周期平滑 整数 尺寸(); // 返回环形缓冲区的大小
可以像从通常的数组中一样从环形缓冲区中获取指标的计算数据。例如:
//--- 具有指标计算方法的类奥斯玛:#include奥斯玛 OnRingBuffer.mqh>C奥斯玛OnRingBuffer osma; ...//+------------------------------------------------------------------+ //|自定义指标迭代函数 | //+------------------------------------------------------------------+ 整数 计算时(常量 整数费率_总计, 常量 整数先前计算的, 常量 整数开始, 常量 双倍的&价格[]) {//--- 基于价格时间序列的指标计算: osma.MainOnArray(rates_total,prev_calculated,price); ...//--- 使用“osma”环形缓冲区中的数据, // 复制指标缓冲区中的数据: 为了(整数i=开始;i1-我]; // 指标直方图 //--- 返回下一次调用的 prev_calculated 值: 返回(费率_总计); }
请注意,环形缓冲区中的索引与时间序列。
Test_OsMA_OnArrayRB.mq5 的工作结果,环形缓冲区大小为 256 个元素。 编写代码时的发展MetaQuotes 软件公司, 整数 和 哥斯拉被使用。 📎 cosmaonringbuffer.mqh (8.35 KB) 📎 cmacdonringbuffer.mqh (9.86 KB) 📎 cmaonringbuffer.mqh (14.9 KB) 📎 carrayring256.mqh (4.1 KB) 📎 test_osma_onvaluerb.mq5 (3.64 KB) 📎 test_osma_onarrayrb.mq5 (3.11 KB) Source: MQL5 #1367

Test_OsMA_OnValueRB.mq5 的工作结果,环形缓冲区大小为 256 个元素。附件下载
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
