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


CTEMAOnRingBuffer 类设计用于计算技术指标三重指数移动平均线 (三重指数移动平均线,TEMA)使用算法环形缓冲区。
班级CTEMAOnRingBuffer :民众CArrayRing
标题
#include CTEMAOnRingBuffer.mqh 类的文件必须放置在需要在 MQL5\Include\ 中建立的 IncOnRingBuffer 文件夹中。描述中附加了两个文件,其中包含该文件夹中的类所使用的示例。具有以下类别的文件环形缓冲区, 德玛 和 移动平均线 也必须在此文件夹中。
//--- 初始化方法: 布尔值初始化( // 如果出错则返回 false,如果成功则返回 true 整数 期间 =12, // TEMA 周期 ENUM_MA_METHOD方法 =模式_EMA,// 平滑方法 整数 缓冲区大小=256, // 环形缓冲区的大小 布尔值 as_series =错误的 // true,如果是时间序列,否则 - false );
//--- 基于时间序列或指标缓冲区的计算方法: 整数MainOnArray( // 返回已处理元素的数量 常量 整数 费率_总计, // 数组的大小 常量 整数 先前计算的,// 上次调用时处理的元素 常量 双倍的& 价格[], // 用于计算的数组 );
//--- 基于数组的单独系列元素进行计算的方法 双倍的主要值( // 返回集合元素(柱)的 TEMA 值 常量 整数 费率_总计, // 数组的大小 常量 整数 先前计算的,// 处理后的数组元素 常量 整数 开始, // 从数组的重要数据开始的地方 c昂斯特 双倍的价值, // 元素(柱)值 c昂斯特 整数 指数 // 元素(柱)索引 );
//--- 访问数据的方法: 整数 酒吧要求(); // 返回绘制指标所需的柱数 细绳 姓名(); // 返回指标的名称 整数 时期(); // 返回周期 整数 尺寸(); // 返回环形缓冲区的大小 双倍的 MA(整数指数); // 返回移动平均值,索引就像时间序列一样 双倍的 德玛(整数指数);// 返回DEMA值,索引就像时间序列
可以像从通常的数组中一样从环形缓冲区中获取指标的计算数据。例如:
//--- 具有 TEMA 指标计算方法的类: #includeCTEMAOnRingBuffer 主题; ...//+------------------------------------------------------------------+ //|自定义指标迭代函数 | //+------------------------------------------------------------------+ 整数 计算时(常量 整数费率_总计, // 数组价格[]的大小 常量 整数先前计算的, // 上次调用时处理的柱 常量 整数开始, // 从重要数据开始的地方 常量 双倍的& 价格[]) // 用于计算的数组 {//--- 基于时间序列的指标计算: tema.MainOnArray(rates_total,prev_calculated,price); ...//--- 使用“tema”环形缓冲区中的数据, // 例如,复制指标缓冲区中的数据: 为了(整数i=开始;i 已停止();i++) TEMA_Buffer[i] = tema[rates_total-1-我];// TEMA 指标线...//--- 返回下一次调用的 prev_calculated 值: 返回(费率_总计); }
计算 TEMA 时还计算移动平均线 和德玛执行相同的参数。我们可以使用MA方法从MA环形缓冲区和DEMA中获取数据(整数 指数)和 DEMA(整数 索引)分别为:
//--- 使用移动平均线和 DEMA 环形缓冲区中的数据, // 例如,将它们复制到指标缓冲区中: 为了(整数i=开始;i已停止();i++) { MA_Buffer[i] = dema.MA(rates_total-1-我); // 移动平均线指标 DEMA_Buffer[i] = dema.DEMA(rates_total-1-我);// DEMA 指标线 }
请注意,环形缓冲区中的索引与时间序列。
Test_TEMA_OnArrayRB.mq5 的工作结果,环形缓冲区大小为 256 个元素 编写代码时的发展MetaQuotes 软件公司, 整数 和 哥斯拉被使用。 📎 cdemaonringbuffer.mqh (7.98 KB) 📎 cmaonringbuffer.mqh (14.9 KB) 📎 ctemaonringbuffer.mqh (8.44 KB) 📎 carrayring.mqh (6.64 KB) 📎 test_tema_onarrayrb.mq5 (3.03 KB) 📎 test_tema_onvaluerb.mq5 (3.44 KB) Source: MQL5 #1417

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