首页 技术指标 帖子

蜡烛图大小指标解析 - MetaTrader 5 交易必备

附件
18269.zip (2.74 KB, 下载 0次)

今天我们来聊聊蜡烛图的大小指标,这个指标能帮助我们更好地理解市场的波动。蜡烛图的大小是通过以下公式计算得出的:"被减数"减去"减数"。这里的"被减数"和"减数"可以是四个值中的任何一个:开盘价、最高价、最低价或收盘价。

在输入参数中,我们可以限制显示的蜡烛图数量 (InpNumberOfBars),即使新的蜡烛图开盘,这个数量也不会改变。


蜡烛图与图形对象的同步

图形对象管理

图形对象的名称保存在m_arr_names[]数组中,数组的大小等于InpNumberOfBars的输入值。为什么我们使用数组而不是简单的字符串变量呢?这其实是为了将来做准备。

形成对象名称

与'index'蜡烛图对应的对象名称是通过以下公式生成的:

name[index] = m_prefix + ("high_""low_") + TimeToString(time[index])

需要删除所有对象的情况

在以下情况下指示器会被卸载

  • 从图表中移除指示器;
  • 关闭终端(如果指示器在图表上运行);
  • 加载模板,如果指示器在此图表上运行;
  • 关闭正在运行指示器的图表;
  • 更改配置文件,如果指示器在上一个配置文件的图表上运行;
  • 更改符号和/或图表的时间框架;
  • 更改指示器输入。

因此,我们需要完全删除创建的图形对象:

  • 在 OnDeinit() 中进行删除;
  • 在 OnInit() 中进行(以防有未删除的孤立对象);
  • 在 OnCalculate() 中,当 prev_calculated==0 时进行处理。

  我们还会清空 m_arr_names[] 数组:

  • 在 OnCalculate() 中,当 prev_calculated==0 或 prev_calculated!=rates_total 时清空。

保持图形对象数量恒定:

当新的蜡烛图出现时,prev_calculated!=rates_total 条件会触发。这种情况下,我们会删除所有对象,并清空m_arr_names[]数组。


    相关帖子

    评论 (0)