错误、漏洞、问题 - 页 1219

 
 
sanyooooook:

检查过了,没有用。

而且酒吧的信息量更大。我想这是一个可修复的错误,而不是另一种创新。

 
Silent:

检查过了,没有用。

而且酒吧的信息量更大。我想这是一个可修复的错误,而不是另一种创新。

是的,没有它就不方便了。
 

下午好。请你告诉我,该指标是否可以画出以下东西:有一条线,它是根据例如蜡烛图的价格最大值来画的。然后,当这条线不再被画出来的时候(EMPTY_VALUE值)。然后是应该再次划定界限的时刻。这样就可以了,但前一行的结尾与当前一行的开头相连。问题:是否有办法避免这种情况,即防止线条被连接?那我需要做什么/用什么来做呢?

P.S. 据我所知,每一种绘画风格 都连接着非空值。那么,这些缺口总是连在一起的。但也许我错过了什么......

 
Tapochun:

下午好。请你告诉我,该指标是否可以画出以下东西:有一条线,它是根据例如蜡烛图的价格最大值来画的。然后,当这条线不再被画出来的时候(EMPTY_VALUE值)。然后是应该再次划定界限的时刻。这样就可以了,但前一行的结尾与当前一行的开头相连。问题:是否有办法避免这种情况,即防止线条被连接?那我需要做什么/用什么来做呢?

P.S. 据我所知,每一种绘画风格 都连接着非空值。那么,这些缺口总是连在一起的。但也许我错过了什么......

你可以为一行使用一个以上的缓冲区--你可以在下次转换时改变缓冲区的数量。

根据情况,你可能总共需要2到3个缓冲器。3,当一个片段可以由2根蜡烛组成时。

(这里有一篇非常好的文章 --可能是有用的)。

为了减少缓冲区的数量,我个人改用图形对象--将行数值保存到一个共同的非指示器缓冲区。

但用这种方法,你必须记得在开始之前就删除对象--因为当你保存模式时,图表上的所有对象也被保存。

Конструктор трейдера: Украшение индикаторов - Статьи по MQL4
  • www.mql5.com
Конструктор трейдера: Украшение индикаторов - Статьи по MQL4: особенности автоматических торговых стратегий
 
Tapochun:

下午好。请你告诉我,该指标是否可以画出以下东西:有一条线,它是根据例如蜡烛图的价格最大值来画的。然后,当这条线不再被画出来的时候(EMPTY_VALUE值)。然后是应该再次划定界限的时刻。这样就可以了,但前一行的结尾与当前一行的开头相连。问题:是否有办法避免这种情况,即防止线条被连接?那我需要做什么/用什么来做呢?

P.S. 据我所知,每一种绘画风格 都连接着非空值。那么,这些缺口总是连在一起的。但也许我错过了什么......

附加的文件:
nb8dma.mq5  4 kb
 
ALXIMIKS:

一条线可以使用一个以上的缓冲区--在下一个路口改变缓冲区的编号。

根据情况,可能总共需要2至3个缓冲器。3,当一个片段可以由2根蜡烛组成时。

(这里有一篇非常好的文章 --可能是有用的)。

为了减少缓冲区的数量,我个人改用图形对象--将行数值保存到一个共同的非指示器缓冲区。

但用这种方法,你必须记住在开始之前就删除对象--因为当你保存模板时,图表上的所有对象也会被保存。

ALXIMIKS,谢谢你的回答。不太适合你建议的方案,原因在此。

1.在我看来,用2-3个缓冲区来画一条线并不是一个好主意。即使在数据由一行传输到一个缓冲区和由第二行传输到第二个缓冲区后,你将面临这样的情况:你将不得不再次使用第一个缓冲区,并且这些行仍将连接第一和第三(如果你像我一样设置EMPTY_VALUE为空值)。

2.我已经读了你建议的文章。由于新的语言功能,其中建议的想法现在可以更有效地实现(在MQL4/5更新之后)。

3.关于图形对象的使用。使用指示器缓冲区比将数值保存到非指示器缓冲区更方便。在我看来,使用专家顾问的线条也会更容易。

4.MigVRN 下面的帖子是最好的选择,我认为。

 
MigVRN:

谢谢,这正是我所需要的!遗憾的是,帮助中没有说初始化为0可以摆脱胶水(用DRAW_LINE风格)。
 
Tapochun:
谢谢,这正是我需要的!很遗憾,帮助中没有说,零初始化可以消除胶水(对于DRAW_LINE风格)。

在帮助中说到了DRAW_FILLING风格。我只是认为在DRAW_LINE风格中是一样的。最好看看关于 DRAW_FILLING 的帮助 - 它不需要初始化为0。我理解的是任何预先设置为空的值。

   #define  INDICATOR_EMPTY_VALUE -1.0
   ...
//--- значение INDICATOR_EMPTY_VALUE (пустое значение) не будет участвовать в расчете
   PlotIndexSetDouble(индекс_построения_DRAW_FILLING,PLOT_EMPTY_VALUE,INDICATOR_EMPTY_VALUE);
 
MigVRN:

在帮助中说到了DRAW_FILLING风格。我只是认为在DRAW_LINE风格中是一样的。最好看看关于 DRAW_FILLING 的帮助 - 它不需要初始化为0。我把它理解为任何预先设置为空的值。

我不知道DRAW_FILLING,因为只有DRAW_LINE和DRAW_SECTION逻辑上适合我。但是,在这些样式中,当设置一个空值时

PlotIndexSetDouble( 0, PLOT_EMPTY_VALUE, EMPTY_VALUE );

只是相邻两行的空值相连,这并不是必须的。然而,如果你按照你建议的方式去做。

PlotIndexSetDouble( 0, PLOT_EMPTY_VALUE, 0 );

DRAW_LINE样式做了你想要的,而DRAW_SECTION样式没有,但DRAW_SECTION的帮助说两个非空的值会被连接起来!DRAW_LINE中的任何其他数值而不是0都会导致胶合。在DRAW_SECTION中,任何数值代替空白的数值仍然会导致胶合。显然,DRAW_FILLING是建立在一个不同的原则之上。