MQL4 - 如何隐藏指标行的某些部分?

时间:2018-04-23 07:04:03

标签: mql4

我正在制作自定义指标。 我想展示理论上的刹车线。就像,直线水平线段。目前,我使用 DRAW_SECTION 的语义工作,除了 - 显然 - 我的所有细分都已连接。

有没有办法隐藏我不需要的部分线?
或者有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

两种情况:

1

SetIndexStyle( i, DRAW_NONE );其中i是您的缓冲区号码。

2

#property indicator_buffers 3
   IndicatorBuffers(4);
其中
3是要显示的多个缓冲区,
4是缓冲区的总数。即使您无法在图表上看到缓冲线,仍然可以通过iCustom( _Symbol, 0, indicator_name, ..., 3, shift );进行访问 其中3是对缓冲区#4的从零开始的引用。

答案 1 :(得分:0)

MQL4指标中有一种方法:

如文档所述,有一个特殊值 == EMPTY_VALUE 可以完全满足此目的。

  

EMPTY_VALUE 常量通常对应于图表中未显示的指标的值。

只需在指标代码中指定合理的分配 - 分配中的每个栏 BreakOutBUFFER[i] = ( isHereBreakOut( i ) ) ? aLevel : EMPTY_VALUE;

通过预先初始化的ArrayInitialize( BreakOutBUFFER, EMPTY_VALUE );并仅重新分配那些您的BreakOut逻辑为POSACK的单元格,但这不是首选的方式,因为第一个早或晚来(自动或not)ArrayResize()将扩展此Buffer,如下所示:

  

...元素将添加到数组的末尾,它们的值将是未定义的,在大多数情况下将不等于init_value。

使用预先设置的EMPTY_VALUE初始化程序

但.... ...

显然,我的选择是采用前一种方式