错误、漏洞、问题 - 页 1047

 
FAQ:
新的这个按钮,在朋友圈显示新闻。即使你关闭了 "在饲料中显示",当已经断开连接的新闻项目出现时,它仍然会亮起。
是的,也有这种情况。
 

至少,你需要在*需要终端重启 的窗口中设置最大条数。

有很多代码需要处理...

 

MQ演示服务器。

在设置中 - 每个窗口的最大条数=100000

2013.08.22 10:37:55     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:52     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:44     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:41     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:41     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:38     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:30     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:27     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:27     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:27     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:25     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:24     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:21     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:21     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:19     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:12     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:09     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:09     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:09     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:06     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100001;  ArrSize(close) ==100001
2013.08.22 10:37:02     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:59     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:59     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:56     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:38     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:36     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:32     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:18     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100168;  ArrSize(close) ==100168
 
MetaDriver:

是的,没错,我试过了,得到了那个 "哎呀"--纯粹的错误,为服务性的。

即(据我所知)无辜的、毫无戒心的指标被调用,rate_total==100000,CopyRates(,,100000,)请求导致弹出(array out of range in ...) - 终端已经只有50000可用。

我也想起了。

当我在三页纸中被告知Bars工作正常。我不假思索地调换了最大杆,并试图检查。因为我没有看到联系,所以我没有写,没有重新加载终端,我都是瞎编的......

我不使用Bars,但也许这就是问题所在。因为我在第二天无法重现它。而我只是没有再进入设置,我一直都是无限制的。

这只是为开发人员准备的,可能是有用的。

 
Silent:

我也想起了。

当我在三页纸上被告知Bars是好的。我不假思索地调换了最大杆,并试图检查。因为我没有看到连接,所以我没有写,没有重新加载终端,它都是由...

我不使用Bars,但也许这就是问题所在。因为我在第二天无法重现它。而只是没有再进入设置,我总是无限制的。

这只是为开发者提供的信息,可能是有用的。

我很久没有使用常规的prev_calculated,我声明全局的prev_calc,并用它来计算(我生活得很快乐,很胖:)

当然,这个错误必须得到修复。至少,如果rate_total没有变化,那么就把prev_calculated重置为零,但如果变化为一个较小的值,那么你必须这样做。

 
Urain:

我很久没有使用常规的prev_calculated,我在全局范围内声明prev_calc,并将其考虑在内(我生活得很快乐,很胖:)。

...

谢谢,这是为文件准备的 :)

 
Silent:

谢谢你,这将在文件中列出 :)

它在ServiceDesk中。
 
Urain:
这是在ServiceDesk。

他们已经被告知了一切。

你只是一个太成熟的程序员,不懂得欣赏你的建议的价值。对我来说,作为一个永远的傻瓜--这是在发现的边缘:)所以进入(个人)文件。

 
Silent:

他们已经被告知了一切。

你只是太老的程序员,不懂得欣赏你的建议的价值。对我来说,作为一个永恒的傻瓜--这是在发现的边缘:)所以在(个人)文件。

好吧,在你的个人文件中,那么,有这个。

if(prev_cal>rates_total-1)prev_cal=0;

如果历史被修剪到窗口中的最大条数,并且rate_total变得更小,则强制开始重新计算。

这个错误并不严重(它将在下一个tick上被纠正),但是在历史被修剪的同一个tick上,由于不匹配,图表将出现偏移,重新计算将被循环条件所阻止,因为prev_cal>rates_total,这意味着将没有进入循环。

 
Urain:

那么,在个人文件中,有这样的内容。

如果历史被修剪到窗口中的maxbars,并且rate_total变小,则强制开始重新计算。

这个错误并不严重(它将在下一个tick上被纠正),但是在历史被修剪的同一个tick上,由于不匹配,图表将出现移动,重新计算将被循环条件所阻止,因为prev_cal>rates_total,因此将没有进入循环。

好的,谢谢。