错误、漏洞、问题 - 页 438

 
joo:
也许仅仅是代码中存在 "睡眠"(与不存在 "睡眠 "相比)就会在某种程度上影响整体的执行时间,但 "睡眠 "在测试器中不计入的事实--那是肯定的。
嗯,我不是这里的专家...在处理带有 参数的Sleep()函数 时延迟了半分钟,损失了17个测试日--这些都是事实。
 

该代码挂断了终端。

   MqlRates s1[];

   int count=TerminalInfoInteger(TERMINAL_MAXBARS);
   int s1_copied=CopyRates(Symbol(),Period(),0,count,s1);
   if(s1_copied<=0)
      Print("Ошибка копирования ценовых данных ",GetLastError());
   else Print("Скопировано ",ArraySize(s1)," баров");

   Comment(ArrayMaximum(s1,0,WHOLE_ARRAY));

   ArrayFree(s1);

原因是什么呢?

 
Graff:

该代码挂断了终端。

原因是什么呢?

对于初学者来说。
 int count=TerminalInfoInteger(TERMINAL_MAXBARS);
 Print("count=",count);

终端 是否没有设置 为无限制?

 
uncleVic:
对于初学者来说。

解除限制不是在终端设置 中吗?


最大条数被设置为5000。这个值可以减少吗?
 
Graff:
最大的条数是5000。这个值可以减少吗?

我认为你不能少做(我不确定)。

Print(count)显示什么?

 
uncleVic:

我不认为更少是可能的(我不确定)。

那么,Print(count)会返回什么?

2011.06.30 21:41:29 MultiInstruments3 (EURUSD,M5) 复制了5000根柱子。
2011.06.30 21:41:29 MultiInstruments3 (EURUSD,M5) count=5000

在评论-1

我试着用另一个符号,但它没有在评论中显示出来 -1

备注:几秒钟后冻结。我从int OnInit()开始编写代码

 
joo:
是的,而且在测试器中是有效的,因为在测试器中睡眠被忽略了。

睡眠测试仪完全准确地模拟了睡眠

在这个例子中,由于处理整数值时的算术溢出,只是出现了17.5天的等待。测试人员正好等了那么久。

因此,在测试人员或MQL5执行环境中没有错误,但有一个明显的错误是由程序员造成的。

 

Renat:

也就是说,测试人员或MQL5执行环境没有错误,但 程序员却有明显的错误

这是很清楚的。

雷纳特

睡眠在测试器中得到了完全和相当准确的模拟。

由于在处理整数值时的算术溢出,等待时间为17.5天。这正是测试者所等待的时间。

嗯,这就对了。而我错误地认为睡眠只是被忽略了。

因此,例如,如果我在测试模式 下的Expert Advisor中设置睡眠(3个月),测试者将简单地快进3个月的历史?- 这很好。

 
是的,它将倒退。只是该函数的极限是49天,直到毫秒计数器满。

在等待期间,测试者继续完全模拟交易环境,包括所有对以前下的订单的处理。MT5中的测试器非常详细。
 
Graff:
2011.06.30 21:41:29 MultiInstruments3 (EURUSD,M5) 复制了5000根柱子。
2011.06.30 21:41:29 MultiInstruments3 (EURUSD,M5) count=5000

在评论-1

我试着用另一个符号,但它没有在评论中显示出来 -1

备注:几秒钟后冻结。我将运行int OnInit()中的代码

是的,我们甚至没有注意到那头大象。

这句话让我非常怀疑。

   Comment(ArrayMaximum(s1,0,WHOLE_ARRAY));

阵列最大值

搜索一个一维数字数组 中的最大项。

阵列最大值(
array[],// 要搜索的数组
intstart=0//我们从哪个索引开始搜索。
intcount=WHOLE_ARRAY,// 要检查的索引数
);


而在我们的案例中。

   MqlRates s1[];

我认为编译器不应该跳过这一点。你有什么?连一个警告都没有?如果没有,请向服务台提出请求。好吗?

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.