设置绘图名称
在本章中前面的示例中,数据窗口中的指标缓冲区默认使用指标本身的名称进行标识。这种做法缺乏信息性。MQL5 API 提供了为每个缓冲区设置自定义名称的功能。这可通过以下两种已知方式实现:一是使用 #property指令,二是调用特殊的 PlotIndexSetString 函数。
bool PlotIndexSetString(int index, ENUM_PLOT_PROPERTY_STRING property, string value)
该函数的原型与 PlotIndexSetInteger类似,区别在于特性类型(value 参数)为string。该函数仅支持一个 PLOT_LABEL 特性(即 ENUM_PLOT_PROPERTY_STRING 枚举常量)。index索引参数中的自定义图表索引必须在 0 到 N-1 之间,其中 N 是由 #property indicator_plots N 指定的绘图总数。
使用指令时,图表索引需按 1 进行调整,因为指令中的绘图编号从 1 开始,而函数参数的编号从 0 开始。
指令 |
函数 |
说明 |
---|---|---|
#property indicator_labelN |
PlotIndexSetString(N-1, PLOT_LABEL, string) |
指定在 Data window和工具提示中显示的文本标签 |
对于需要多个指标缓冲区的图形系列(例如 DRAW_CANDLES、DRAW_FILLING、DRAW_CANDLES 等等),标签名称使用分号“;”分隔
当鼠标悬停在图表上时,标签也会显示在工具提示中。
在 IndLabelHighLowClose.mq5示例中,我们添加了两条指令(与 IndPropHighLowClose.mq5 的区别)。
#property indicator_label1 "High;Low"
|
现在,Data Window中显示指标时,其显示的值要容易理解得多。