来自一个 "傻瓜 "的问题 - 页 268

 
DC2008:

我不确定,但可能是因为这个。

我没有ArrayResize,对于INDICATOR_DATA和INDICATOR_CALCULATIONS的大小由终端设置,并从第0条开始画


然后发现所有ArrayInitialize(array,EMPTY_VALUE);对零条也不起作用?



 
Silent:

我没有ArrayResize,终端为INDICATOR_DATA和INDICATOR_CALCULATIONS设置了尺寸,并从第0条开始画

也许你不知道,但数组是动态的,每个时间段都有不同的条数!从一个时间段切换到另一个时间段会改变数组的大小(这是没有你参与的),你会看到垃圾。

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Silent:

然后发现所有ArrayInitialize(array,EMPTY_VALUE);对零条也不起作用?

在你的例子中,它是数组的最后一个元素(尽管它在第0条),因为默认索引是从左到右。

 
DC2008:

你可能不知道,但数组是动态的,每个时间段有不同的条数!从一个时间段切换到另一个时间段会改变数组的大小(这是在你没有参与的情况下完成的),你会看到垃圾。

这似乎是符合逻辑的。那么在inite中初始化指标缓冲区就完全没有意义了,一切都应该在OnCalculate中完成。

DC2008

在你的例子中,它是数组的最后一个元素(尽管它在0条上),因为默认设置是从左到右索引。

对了,我还没有翻开它。

 
谢谢大家!
 

修正了一个错误,翻转了数组,对ArrayInitialize进行了乱七八糟的处理(暂时搁置)...。

在Inite,似乎不可能摆脱垃圾。即使PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars);也不会阻止它;它可能出现在图表的开始或结束。

我会把它放在拖车里,也许开发者会看一下。

PS,但在删除指标和/或重新编译后,在图表上的同一位置出现垃圾--这是一个罐子。

如此之美...


附加的文件:
 
Silent:

修正了一个错误,翻转了数组,对ArrayInitialize进行了乱七八糟的处理(暂时搁置)...。

在Inite,似乎不可能摆脱垃圾。即使PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars);也不会阻止它;它可能出现在图表的开始或结束。

我会把它放在拖车里,也许开发者会看一下。

PS,但在删除指标和/或重新编译后,在图表上的同一位置出现垃圾--这是一个罐子。

如此美丽...

就这样,它似乎按照你的需要工作。

void OnDeinit(const int reason)
  {
   ArrayResize(USDBuffer,1);
   ArrayResize(EURBuffer,1);
   ArrayResize(GBPBuffer,1);
   return;
  }
 
DC2008:

就这样,它似乎在按照你想要的方式工作。

不,这也是乱扔垃圾,你可以从左上角 的数字中看出。

只有在将这些单元格加载到OnCalculate中后,它才能发挥作用

   ArrayInitialize(USDBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(EURBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(GBPBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,countBars);

你的版本似乎是正确的。这些垃圾是由于数组的自动渲染造成的。而且似乎连它为什么会重复都很清楚。

如果终端改变大小,例如从1 000到10 000,它分配了同一块未清理的内存,而且不管你重新加载多少次指标--从第1 001到第9999个单元格仍然是左端值。

我还有一个问题:为什么在f_comment函数中改变了一些东西(改变了颜色),而随后的编译变化却没有应用到终端的重启指标上。

附加的文件:
 
是否可以在一个单独的窗口中建立一些仪器参数的蜡烛图?例如,经纪人 "Otkritie "有仪器RTS-9.13,为它建立一个买入订单 的图表,其值显示在 "市场概览 "窗口中。
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
vicleo:
是否可以在一个单独的窗口中建立一些仪器参数的蜡烛图?例如,经纪人 "Otkritie "有仪器RTS-9.13,为它建立一个买入订单 的图表,其值显示在 "市场概览 "窗口中
经纪人和问)。