图表标识
在 MetaTrader 5 中,每个图表均在独立窗口中运行,并拥有唯一标识符。对于熟悉 Windows 操作原理的程序员,需要澄清的是,该标识符并非系统窗口句柄(但 MQL5 API 可通过 CHART_WINDOW_HANDLE特性获取窗口句柄)。我们知道,除了显示报价的图表主工作区外,还有一些额外区域(子窗口)用于显示具有indicator_separate_window特性的指标。所有子窗口均属于图表组成部分,且属于同一个 Windows 窗口。
long ChartID()
该函数返回当前图表的唯一标识符。
我们将介绍的多数函数均需以图表 ID 作为参数,但你可以为当前图表指定 0,而无需调用ChartID函数。在 MQL 程序之间传递标识符时,使用 ChartID是合理的,例如在同一个图表或不同图表上交换消息(自定义事件)时。指定无效的图表 ID 将导致 ERR_CHART_WRONG_ID (4101) 错误。
图表 ID 在会话之间通常保持不变。
我们将在研究获取 图表列表的方法后,在示例脚本 ChartList1.mq5中演示 ChartID 函数以及标识符的具体形态。