Ошибки, баги, вопросы - страница 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) Начали

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15) Массив

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15) Старый способ Итог: 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) Старый способ Итог: 1652839ms  Sec 1


 
Vladimir Pastushak:

Почему результат работы скрипта равен 1-2 секундам в отчете, а по факту больше минуты ?

То скрипт отработал и с момента старта до момента выгрузки проходит примерно минута или чуть больше.

Но скрипт упрямо пишет что работал 1 - 2 секунды, что может так затормаживать ПК ?

2020.06.01 11:34:26.680 Teste speed (EURUSD,M15) Начали

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15) Массив

2020.06.01 11:37:34.067 Teste speed (EURUSD,M15) Старый способ Итог: 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) Старый способ Итог: 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];

rez /100

Вы наверно не внимательно посмотрели скрипт

 
У кого-нибудь есть ссылка на архив билда 2470? У меня МТ не хочет обновляться - пишет, что есть новый билд, создает пустую папку liveupdate/temp в "роуминге", но потом в логе ошибка "download 'MT5CLW64' failed". Обычно гугл-драйв от  Andrey Khatimlianskii приходит на помощь ;-), но там пока только 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. Проблем не заметил.

 
fxsaber:

Перед расчетами всегда догружаю все тики, что были пропущены с момента последних расчетов, через CopyTicksRange. Проблем не заметил.

Там ничего не меняли они в форматах вызова CopyTicks (речь про него) или флаги какие-либо ?

Эксперт стал повисать, который последние лет 5 тихо копировал тики в файл в реальном времени.

 
Dmitriy Skub:

Там ничего не меняли они в форматах вызова CopyTicks (речь про него) или флаги какие-либо ?

Давно перешел на CopyTicksRange. С ним полет нормальный.

 

В билде 2470 если мы узнаем Хендл индикатора из самого индикатора, то потом невозможно удалить индикатор.

Индикатор удаляется из списка запущенных индикаторов но работает в фоновом режиме.

OnDeinit не вызывается.

Причина обращения: