创建自定义指标
指标是最常见的 MQL 程序之一。它们是简单而强大的技术分析工具。其主要使用机制是通过公式处理原始价格数据,从而创建派生时间序列。这样就可以对市场过程的特定特征进行评估和可视化。任何时间序列,包括通过指标计算获得的序列,都可以作为输入传递给另一个指标,依此类推。许多众所周知的指标的公式(例如 MACD)实际上包含对多个相关指标的调用。
终端用户无疑熟悉众多内置指标,同时也知道可以使用 MQL5 语言扩展可用指标列表。从用户角度来看,MetaTrader 5 平台内置的指标与使用 MQL5 语言编写的自定义指标在操作方式上完全相同。
通常,指标会以线条、直方图或其他图形形式在价格图表窗口中显示其计算结果。每个此类图表都是基于计算出的时间序列进行可视化的,这些时间序列存储在指标内部称为指标缓冲区的特殊数组中:可在终端的Data Window中与 OHLC 价格一同查看。然而,除缓冲区功能外,指标还可以提供额外功能,甚至可能完全不使用缓冲区。例如,指标经常用于解决需要创建 图形对象管理图表及其 特性以及与用户交互的问题(请参阅 OnChartEvent函数)。
在本章中,我们将学习在 MQL5 中创建指标的基本原理。这类指标通常被称为“自定义指标”,因为用户可以从零开始编写,也可以基于现有的源代码进行编译。在下一章中,我们将探讨通过编程方式管理自定义指标和内置指标的相关问题,这将帮助我们构建更复杂的指标,并为基于指标的交易信号以及 EA 交易的过滤奠定基础。
再后面的内容中,我们将掌握以 资源形式将指标集成到可执行 MQL 程序中的技术。