功能与特点
这款指标在图表上绘制了两条线:一条代表最高价,另一条代表最低价,计算基于用户定义的输入。其主要特点包括:
-
自定义时间周期:用户可以选择时间周期(例如,日线、小时线),使用 TimeFrame 输入,默认设置为 PERIOD_D1(日线)。该指标确保所选时间周期不小于图表当前时间周期,以保持数据准确性。
-
价格计算选项:Price 输入允许用户选择三种模式:
-
低/高 (DHL_LOWHIGH):绘制指定时间周期的最高和最低价格。
-
开盘/收盘 (DHL_OPENCLOSE):绘制开盘/收盘价格的最大值和最小值。
-
收盘/收盘 (DHL_CLOSECLOSE):绘制最高和最低收盘价格。
-
-
前一周期选项:Previous 输入(默认:true)允许用户显示前一周期的高低点,有助于历史分析。
-
视觉定制:该指标使用实心银色线条表示高低点,线宽为1,确保清晰可见而不至于图表过于拥挤。
工作原理
该指标通过初始化两个缓冲区(HighBuffer 和 LowBuffer)来存储和显示高低价格水平。在初始化阶段(OnInit),它设置这些缓冲区并验证时间周期。核心逻辑位于OnCalculate 函数中,该函数处理每个K线的数据:
-
数据准备:时间、开盘、收盘、高、低价格的数组被设置为系列,以便反向索引。
-
时间周期对齐:该指标使用 iBarShift 计算K线偏移,以将数据与所选时间周期对齐。
-
价格计算:
-
对于 DHL_LOWHIGH,直接使用 iHigh 和 iLow 获取最高和最低价格。
-
对于 DHL_OPENCLOSE 和 DHL_CLOSECLOSE,它在时间周期内识别最高/最低的开盘或收盘价格,使用 iHighest 和 iLowest。
-
-
前一周期处理:如果 Previous 被启用,计算将移至前一周期,以提供历史背景。
-
优化:该指标将计算限制在新或更新的K线(limit),以确保效率,避免冗余处理。
实际应用
每日高低指标非常适合采用基于关键价格水平策略的交易者,比如:
-
支撑与阻力:识别每日或自定义时间周期的高低水平,以进行突破或反转策略。
-
趋势分析:将当前价格动作与之前的高低进行比较,以评估市场方向。
-
风险管理:基于重要价格点设置止损或获利水平。

使用说明
-
安装:将该指标添加到您的MetaTrader 5平台,方法是将代码复制到MQL5/Indicators文件夹中并编译。
-
配置:
-
设置所需的 TimeFrame(例如,PERIOD_D1 用于日线级别)。
-
根据您的策略选择 Price 模式(DHL_LOWHIGH、DHL_OPENCLOSE 或 DHL_CLOSECLOSE)。
-
启用或禁用 Previous 选项,以切换当前和前一周期的数据。
-
-
图表应用:将指标附加到任何图表。它将显示两条银色线,表示高低水平。

结论
每日高低指标是MQL5交易者的一个简单而强大的工具,提供时间周期和价格计算方法的灵活性。其轻量设计和高效处理使其适合新手和经验丰富的交易者,帮助他们提升技术分析能力。
反馈
如果您有建议或遇到问题,请在MQL5 CodeBase页面留言或通过联系我。您的反馈对改进此工具至关重要!
联系我: MQL5链接