错误、漏洞、问题 - 页 2763

 

为什么脚本的结果在报告中是1-2秒,而在一分钟以上?

#include <(MyLib)\CGraphicObjects\CMyButton.mqh>CMyButton but;

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print("Начали");
// ===================================================================
   int total = 10000;
   for(int i = 0; i < total; i++)
      but.Create("Push" + (string)i, 32, 32, 30, 30);
// ===================================================================
   ulong mass[100];
   ArrayInitialize(mass, 0);
// ===================================================================
   for(int k = 0; k < 100; k++)
     {

      ulong  start = GetMicrosecondCount();

      for(int i = 0; i < total; i++)
         color col = but.ColorBG();

      mass[k] = GetMicrosecondCount() - start;
     }
// ===================================================================
   Print("Массив");
   ulong rez = 0;
   for(int i = 0; i < 100; i++)
      rez += mass[i];

   Print("Старый способ Итог: " + IntegerToString(rez / 100)+" Sec "+ IntegerToString(rez / 100/1000000));

  }
//+------------------------------------------------------------------+

脚本起作用了,从开始到卸货大约需要一分钟或更长时间。

但脚本顽固地写道,它只工作了1-2秒,是什么让电脑如此缓慢?

2020.06.01 11:34:26.680 Teste speed (EURUSD,M15) Start

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15)

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15) Oldest way Total: 1870971ms Sec 1

2020.06.01 11:39:32.283 Teste speed (EURUSD,M15)

2020.06.01 11:42:24.664 Teste speed (EURUSD,M15) Array

2020.06.01 11:42:24.664 Teste speed (EURUSD,M15) Old way Totals: 1652839ms Sec 1


 
Vladimir Pastushak:

为什么脚本的结果在报告中是1-2秒,而在报告中却超过了一分钟?

脚本起作用了,从开始到卸货大约需要一分钟或更长时间。

但脚本顽固地写道,它只工作了1-2秒,是什么让电脑如此缓慢?

2020.06.01 11:34:26.680 Teste speed (EURUSD,M15) Start

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15)

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15) Oldest way Total: 1870971ms Sec 1

2020.06.01 11:39:32.283 Teste speed (EURUSD,M15)

2020.06.01 11:42:24.664 Teste speed (EURUSD,M15)

2020.06.01 11:42:24.664 Teste speed (EURUSD,M15) Old way Total: 1652839ms Sec 1


因为它打印的是一个循环迭代的时间,而不是脚本的运行时间。

 
开发人员,对图表上的交易 做点什么吧。当有很多的时候,你就看不到图表了,你必须每次都用新的交易来删除它。
 
Alexey Viktorov:

因为它打印的是每次循环迭代的时间,而不是脚本的运行时间。

该脚本循环处理10,000个对象100次,共计1,000,000个。

我使用mass[k]来记录每次循环的时间。

然后计算出平均通过率

ulong rez = 0。

for(int i = 0; i < 100; i++)

rez += mass[i];

绛红/100

你一定没有仔细看剧本

 
有没有人有Build 2470档案的链接?我的MT不想更新--它说有一个新的构建,在 "漫游 "中创建了一个空的liveupdate/temp文件夹,但随后在日志中出现错误 "下载'MT5CLW64'失败"。通常情况下,Andrey Khatimlianskii 的google drive会来救援;-),但到目前为止,只有2460。
 

这到底是什么?

2020.06.01 12:20:03.695 Ticks 'BR-7.20' container read error [The operation completed successfully. (0)

总的来说,在最后一个版本中,CopyTicks有一些错误。

 
Dmitriy Skub:

一般来说,在最后一个版本中,CopyTicks有一些错误。

在计算之前,我总是通过CopyTicksRange加载所有的ticks,这些ticks在上次计算后被错过。我没有注意到任何问题。

 
fxsaber:

在计算之前,我总是使用CopyTicksRange加载自上次计算以来遗漏的所有刻度。我没有注意到任何问题。

他们有没有改变CopyTicks的调用格式或任何标志?

EA开始挂起,在过去的5年中,它一直在悄悄地将刻度线实时复制到一个文件中。

 
Dmitriy Skub:

他们没有改变CopyTicks的调用格式或任何标志?

我很早就改用CopyTicksRange了。有了它,飞行就正常了。

 

在Build 2470中,如果我们从指标本身了解到指标的Handle,那么就不可能删除该指标。

该指标被从运行中的指标列表中删除,但在后台工作。

OnDeinit不被调用。