用途:该技能用于创建和调试 MetaTrader 5 的自定义 MQL5 指标,重点解决显示、缓冲区管理与实时更新中的常见问题。触发场景包括编写 MQL5 指标、使用 OnCalculate、处理指标缓冲区,以及排查指标显示或缓冲区异常。
主要能力:提供经过实战验证的模式,包括为小于 1.0 的小数值显式设置显示刻度(IndicatorSetDouble(INDICATOR_MINIMUM, 0.0); IndicatorSetDouble(INDICATOR_MAXIMUM, 0.1););用 SetIndexBuffer 区分可见缓冲区(INDICATOR_DATA)与隐藏计算缓冲区(INDICATOR_CALCULATIONS);通过静态变量做新K线检测以避免滚动窗口漂移;计算预热位置(underlying_warmup + own_warmup)并配合 PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, StartCalcPosition);以及用 ArraySetAsSeries(buffer, false) 保持正向索引。
使用方式:按参考文档中的显示刻度、缓冲区模式、重算、完整模板与调试清单组织代码;常见排错对应关系为:指标窗口空白需显式设置刻度,数值随时间漂移需用新K线检测配合隐藏缓冲区,绘图起点错位需修正 PLOT_DRAW_BEGIN,数组索引反向需关闭序列模式,缓冲区数量不匹配需让 #property indicator_buffers 与 SetIndexBuffer 一致,指标不更新需让 OnCalculate 返回 rates_total,性能问题则只从 prev_calculated 之后重算。
适用场景:生产级 MQL5 指标开发与调试。
限制:资料未提供具体版本、依赖、安装命令或收费信息;该技能被描述为可自我演进,遇到真实且可复现的问题时应直接修正文件。