欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

查看 OnCalculate 参数中的值 - MetaTrader 5脚本 - MT4/MT5资源

author emer | 684 人阅读 | 0 人评论 |

View the Value in OnCalculate Parameters - indicator for MetaTrader 5

View the Value in OnCalculate Parameters - indicator for MetaTrader 5

这是一个针对初级指标程序员或其他人的实用程序, 想要查看 OnCalculate 和其他一些提供的值 功能。
指标显示:
1) 最近一次 OnCalculate 调用提供的最新值。
2) 上次 OnCalculate 调用的先前值。
3) 第一次执行 OnCalculate 时的第一个值。
4) 每个数组的系列值,as_series 或 not_series,能够通过单击显示屏来更改系列值。

版本 1.10 添加了动态更改阵列是否设置为系列的功能 - 只需单击文本即可。  此外,窗口条形图和第一个可见条形图的值会随着图表的变化而动态设置。  ON/OFF 显示指示下一次 OnCalculate 执行时其设置将发生什么,以及最近一次执行时发生的情况。

版本 1.20 添加了选择让指标将数组设置为 as_series 或 not_series 的功能,也只需单击文本即可。  指标现在还显示时间数组的两端和 iMA 缓冲区的两端。  这些更改旨在使 as_series 和 not_series 数组之间的区别变得明显。  此外,现在使用 OnTimeEvent 处理程序根据需要刷新显示,而不是对每个报价进行显示。  这将执行 OnCalculate 的时间从大约 300 毫秒减少到不到 1 毫秒 - 检查执行时间的代码已留在 OnCalculate 中,只需取消注释即可显示执行毫秒数。

此图显示了 OnCalculate_Values 实用程序显示的值。  请注意由“/”分隔的三个值,分隔“最近值”、“前一个值”和“第一个值”。  OnCalculate 值在每个 OnCalculate 事件中设置为“as_series”或“not_series” - 当“设置数组”为“ON”时,否则,它们将保留为终端默认值。    请注意括号中数组名称后面的值, 该值指示该值来自哪个柱 - 索引“0” 值,或“最大索引处的值”。

View the Value in OnCalculate Parameters - indicator for MetaTrader 5

该代码实现了单个指标线,即 iMA 提供的每个柱的开盘价图;目的是提供一个缓冲区以使用“BarsCalculated”函数并在设置为“as_series”或“not_series”时显示指标的显示。 单击 iMA_Val[0] 仅将 iMA 缓冲区设置为 as_series 或 not_series 单击时一次;每次调用 OnCalculate 时,不会设置 iMA 指标数组。

数组集合保存显示中每个显示对象 (OBJ_LABEL) 的属性:

View the Value in OnCalculate Parameters - indicator for MetaTrader 5

“ArrayGetAsSeries”函数用于确定 OnCalculate 参数中的数组是否为时间序列数组,并且显示屏显示结果(As_Series 或 Not_Series) - 显示屏显示这些数组最初不是系列,或者从一次调用到设置为系列后的下一个调用(SetAsSeries 函数仅在打开时将它们设置为系列,它让它们在关闭时恢复为默认值 - 它不会将“作为系列”设置为 false)。

3 个成员数组 ary_OnCalcVals 保存 1) 最近的值、2) 上一个值和 3) 在 OnCalculate 参数中找到的第一个值。  CopyNewToOld 和 MoveNewTo 函数获取每个显示参数的当前值,并将其放置在 ary_OnCalcVals 提供的历史存储中。


附件下载

📎 oncalculate_values.mq5 (73.28 KB)

Source: MQL5 #23841

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录