指标: Heikin Ashi Lines

 

Heikin Ashi Lines:

显示 Heikin Ashi 的更简单方法

Heikin Ashi Lines

Author: FMIC

 
   // 定义 OnCalculate 循环顺序宏
      #ifdef __MQL4__   //适用于 MQL4(作为系列)
         #define  MOnCalcNext(  _index          ) ( _index--             )
         #define  MOnCalcBack(  _index, _offset ) ( _index + _offset     )
         #define  MOnCalcCheck( _index          ) ( _index >= 0          )
         #define  MOnCalcValid( _index          ) ( _index < rates_total )
         #define  MOnCalcStart \
            ( rates_total - ( prev_calculated < 1 ? 1 : prev_calculated ) )
      #else             //适用于 MQL5(作为非系列)
         #define  MOnCalcNext(  _index          ) ( _index++             )
         #define  MOnCalcBack(  _index, _offset ) ( _index - _offset     )
         #define  MOnCalcCheck( _index          ) ( _index < rates_total )
         #define  MOnCalcValid( _index          ) ( _index >= 0          )
         #define  MOnCalcStart \
            ( prev_calculated < 1 ? 0 : prev_calculated - 1 )
      #endif

为什么不使用 ArraySetAsSeries() 呢?这样就可以在两种语言版本中都使用相同的宏了。

我并不是在批评,只是好奇而已。

我想这对你来说可能更方便吧。

 
难以置信地
[删除]  
Vladislav Boyko #: 为什么不使用 ArraySetAsSeries() 呢?这样就能让两种语言版本都使用相同的宏了。我不是在批评,只是好奇。我想这对你来说可能更方便吧。

我选择使用宏,是为了让决策在编译时完成,而不是像ArraySetAsSeries() 那样在运行时完成——尽管后者能带来一些额外的效率提升。

在这种情况下,鉴于这是一个非常简单的指标,两者实际上并没有太大区别,但对于更复杂的指标来说,差异就显而易见了。

[删除]  
Roberto Jacobs #: 难以置信

很抱歉,我没太明白您帖子的意思。能详细说明一下吗?

 
Fernando Carreiro #:

我选择使用宏,这样决策就在编译时完成,而不是像ArraySetAsSeries() 那样在运行时完成——这只是为了追求一点额外的效率。

在这种情况下,鉴于这是一个非常简单的指标,两者实际上并没有太大区别,但对于更复杂的指标来说,差异就显而易见了。

谢谢!

 
谢谢你,费尔南多,这对新手来说真的帮了大忙。另外,也谢谢你提供的“ 公开项目” 小贴士。我之前甚至都不知道有这个功能,不知怎么的,我竟然错过了这个功能。希望我能找到一些关于如何使用这个功能的文档。
[删除]  
Vladislav Boyko #: 谢谢!
linfo2#: 谢谢 你,费尔南多,这对新手来说非常有帮助。另外也感谢你提供的“ 公开项目” 提示。我之前甚至都不知道有这个功能,不知怎么的,我竟然错过了这个功能。希望我能找到一些关于如何使用这个功能的文档。

不客气!

 

我一直在查阅平盘足(Heiken-Ashi)的计算方法,关于最高值,说明中提到“当期最高价、开盘价或收盘价中的最大值”;关于最低值,则提到“当期最低价、开盘价或收盘价中的最小值”。 这不就等于说最高价和最低价与K线重合了吗?如果是这样,你将它们以线形显示的构想既简单又精妙,既能一目了然地看出平滑均线(Heiken-Ashi)的趋势,又无需舍弃常规K线图。

此处由版主应用了自动翻译。在英语论坛上,请使用英语发帖。

[删除]  
@Daniel Eduardo San Martin #: 这不就相当于说高点和低点与K线重合了吗?

大多数情况下确实如此,但当平滑足(Heikin Ashi)开盘价(移动平均线)超出普通K线的最高价/最低价时,该点位即成为平滑足的最高价/最低价。

 
Fernando Carreiro #:

很抱歉,我没太明白您帖子的意思。能详细说明一下吗?

我觉得你的代码非常棒,功能也很强大。我没有下载mq5文件。
对于你分享的MT4代码,我直接复制粘贴到MetaEditor的MQL5编辑器中,保存为mq5格式,一切运行都很顺畅。