错误、漏洞、问题 - 页 1985

 
Alexey Kozitsyn:
是的,当然了。
好吧,如果是的,而且值被设置为0,那么当然就有问题了......你可以从图片中看到,每个条形图都有一个箭头,数值为0。
 
Alexey Viktorov:
如果是这样,而且数值为0,那么肯定有问题......你可以从图片中看到,每个条形图都有一个箭头,数值为0。
诀窍是empty =EMPTY_VALUE
 
Alexey Kozitsyn:
诀窍是empty =EMPTY_VALUE
Empty是空的,但PLOT_EMPTY_VALUE被分配了一个值,不会显示在图形和数据窗口中尝试将EMPTY_VALUE改为0
PlotIndexSetDouble(plot_index, PLOT_EMPTY_VALUE, 0);
 

关于交易、自动交易系统和策略测试的论坛

EA并没有进入市场。错误130。

fxsaber, 2017.09.04 17:19

void OnStart()
{
  Print(0.99872);
}

结果

0.9987200000000001
(string)NormalizeDouble(0.99872, 5) - 非常长的结果。
 
Alexey Viktorov:
Empty是空的,但PLOT_EMPTY_VALUE被分配了一个值,不会在图表和数据窗口中显示尝试将EMPTY_VALUE改为0
不,仍然有一个崩溃。现在我已经用EMPTY = EMPTY_VALUE这个常量代替了EMPTY_VALUE。现在好多了。但在改变TF的时候,图表上仍然有垃圾。我设置EMPTY = 0。这甚至更好,但同样地,当TF经常变化时,图表中就会出现垃圾。一般来说,我必须向CD写一个应用程序。
 
Alexey Kozitsyn:
不,仍然有一个错误。现在我已经在代码中用常数EMPTY = EMPTY_VALUE 取代了EMPTY_VALUE。现在好多了。但在改变TF的时候,图表上仍然有垃圾。我设置EMPTY = 0。这甚至更好,但同样地,当TF经常变化时,图表中就会出现垃圾。一般来说,我必须向CD写一个应用程序。

这到底是怎么回事?我说的是完全不同的东西。嗯,在紧要关头,而不是重新设置缓冲区。

ArrayInitialize(массив, 0);

你可以把它设置为...

ArrayInitialize(массив, EMPTY_VALUE);
 
Alexey Viktorov:

这到底是怎么回事?我说的是完全不同的东西。嗯,在紧要关头,而不是重新设置缓冲区。

你可以把

这是关于一次性改变代码中的所有初始化。你写的代码在你需要的地方被初始化。ArrayInitialize() 是在OnDeinit()中运行的,但我已经描述过结果了。
 

Alexey Kozitsyn:
...

ArrayInitialize()在OnDeinit()中运行,但我已经在上面描述了结果。

尝试OnInit()。
 
Anatoli Kazharski:
在OnInit()中尝试。

在第一次运行时,OnCalculate()中有初始化(prev_calculated == 0)。你认为把它移到OnInit()会有什么变化吗?好吧,我当然会尝试,但这是超出幻想范围的事情......。

削减。正如我所说,在OnDeinit()中,数组被初始化,在下次启动时不再使用(改变输入参数)。如果这样做(初始化一个不用作缓冲区的数组)有帮助的话--这也会是一个MT的bug。结果会发现,不仅数组没有被使用,而且它们(没有被标记)仍然可以被初始化,而且会影响显示...

 
fxsaber:
(string)NormalizeDouble(0.99872, 5)是一个很长的结果。

下午好!

谢谢你的留言,我们将检查