首页 技术指标 帖子

如何在MetaTrader 5中修改无缓冲指标对象

附件
50895.zip (1.29 KB, 下载 0次)

大家好,今天我们来聊聊在MetaTrader 5中如何修改那些没有源代码的指标对象。很多指标并不使用缓冲区,而是直接使用对象进行绘制。虽然如果指标使用缓冲区的话,通过iCustom函数更改输入会很简单,但如果指标只使用对象,那该怎么办呢?


为了演示这个过程,我们将使用一款名为“PZ Multidiagonals MT5”的免费市场指标。在尝试测试代码之前,您需要先从市场上安装这个指标。

我们需要一个对象前缀名称来开始操作这些对象。我们创建了一个名为 LogChartObjectNames() 的函数,用于记录在指标中存在的所有对象名称。

接下来,通过 ModifyChartObjects() 函数来操作这些对象。这个函数接受两个参数:一个是前缀名称(应该是描述性对象名称的开头部分),另一个是整数,用于指定要保留多少个未被修改的对象。


PZ Multidiagonals指标是一个趋势指标,它会自动绘制趋势线,但有时可能画得稍微多了一些。以下是默认预设的样子:


从数据显示窗口中,我们可以明显看出这个指标并没有使用缓冲区,所有的内容都是通过对象构建的。


现在,我们从一个干净的图表开始,加载这个指标“Hacking Objects.mq5”,你会看到我如何去掉了许多趋势线,只保留了我认为最相关的部分,这一切并不是通过访问输入,而是通过修改对象来实现的:




相关帖子

评论 (0)