掌握蜡烛计数器 - MetaTrader 5的实用指标

Mike 2025.06.17 21:05 31 0 0
附件

关键功能

  1. 周选择:

    • SelectedWeek参数定义了本月的哪一周将被编号。

    • 如果SelectedWeek = 0,所有周数都会被考虑,所有蜡烛都会被编号。

    • 对于非零值,仅会编号指定周的蜡烛。

  2. 反向计数:

    • 当NumberFirstCandle = false时,编号从当天最后一根蜡烛开始,向后进行。

  3. 动态过滤:

    • 该指标根据所选周(SelectedWeek)过滤蜡烛,忽略其他蜡烛。

  4. 动态文本定位:

    • 数字根据蜡烛是看涨还是看跌而定位在蜡烛的上方或下方。

    • 文本与蜡烛之间的间距由PriceOffsetFactor参数控制。

  5. 视觉自定义:

    • 可以调整颜色、字体、文本大小和定位类型,以增强外观。

  6. 优化性能:

    • 该指标在创建新对象之前删除旧的图表对象,确保图表上没有不必要的负担。


输入参数

PriceOffsetFactor

文本与蜡烛之间的动态间距因子。

0.5

InpTextColourAbove

看涨蜡烛上方文本的颜色。

clrSpringGreen

InpTextColourBelow

看跌蜡烛下方文本的颜色。

clrMediumOrchid

InpFont

用于显示数字的字体类型。

"Arial"

InpFontSize

字体大小。

8

Anchor

文本定位的锚点类型(中心、顶部、底部等)。

ANCHOR_CENTER

NumberFirstCandle

定义计数是否从当天第一根蜡烛开始(true)还是最后一根(false)。

true

SelectedWeek

用于计数的选定周(0 = 每周)。

1



详细功能

1. 按周过滤

  • GetWeekOfMonth()函数计算每根蜡烛的月份周数。

  • 条件if(SelectedWeek != 0 && currentWeek != SelectedWeek)确保仅处理选定周的蜡烛。

2. 顺序计数

  • 每当更改日期时(candleDay != previousDay)计数会重新开始。

  • 如果NumberFirstCandle = true,计数从当天第一根蜡烛开始。

  • 如果NumberFirstCandle = false,计数从当天最后一根蜡烛开始,向后继续。

3. 文本定位

  • 如果收盘价低于开盘价(看跌蜡烛),文本定位在蜡烛上方。

  • 如果收盘价高于开盘价(看涨蜡烛),文本定位在蜡烛下方。

4. 创建和更新图表对象

  • CreateText()函数创建或更新图表上的对象。

  • 对象使用ObjectPrefix前缀唯一命名,以避免冲突。

5. 自动清理

  • DeleteObjects()函数在指标被移除或重新初始化时,移除所有由指标创建的图形对象。



列表
评论 0