Ошибки, баги, вопросы - страница 344

 
AlexSTAL:

либо что бы их изначально в файле не было, либо при чтении дополнительно применяйте функцию, к примеру:

Спасибо, сейчас попробую, изначально в файле замучаешься вручную их удалять. Этот файл скачивается с сайта ДЦ.

PS. Спасибо еще раз за помощь все заработало.

 

Беру помощь зала :о)

Сделал индикатор который в своём ините вызывает другой индикатор, всё работает нормально но вот при удалении пишет

2011.03.23 14:27:12     Ind Calculate Balance (EURUSD,M1)          1 leaked strings left

в коде присутствует удаление handle через в Deinite

void OnDeinit(const int reason)
  {
   for(int i=0;i<total;i++)IndicatorRelease(handle[i]);
  }

Думаю что причиной какая то мелоч, но вот что забыл сообразить не могу.

ЗЫ если увеличиваю количество вызываемых iCustom то увеличивается количество строк потери памяти.

ЗЗЫ Ind Calculate Balance (EURUSD,M1) это как раз вызываемый через iCustom индикатор.

 
Urain:

Беру помощь зала :о)

Сделал индикатор который в своём ините вызывает другой индикатор, всё работает нормально но вот при удалении пишет

в коде присутствует удаление handle через в Deinite

Думаю что причиной какая то мелоч, но вот что забыл сообразить не могу.

ЗЫ если увеличиваю количество вызываемых iCustom то увеличивается количество строк потери памяти.

ЗЗЫ Ind Calculate Balance (EURUSD,M1) это как раз вызываемый через iCustom индикатор.


Если утечка только строк, то это 100% ошибка компилятора, пожалуйста создайте заявку в сервисдеск с приложением кода для воспроизведения. Спасибо.
 
mql5:
Если утечка только строк, то это 100% ошибка компилятора, пожалуйста создайте заявку в сервисдеск с приложением кода для воспроизведения. Спасибо.
Я обычно создавал заявки с уже локализованными багами. Тут же я не пойму вообще что мне сообщает МТ.
 

нашел несоответствие справки и поведения функции

    CopyTime

в терминале установлено MAXBARS = 100000.  

при этом если правая дата (stop_time) копирования выходит за размер 100000 баров, то функция просто копирует 100000 баров и возвращает это количество.

хотя как заявлено в справке:

В случае если запрашиваются данные за пределами TERMINAL_MAXBARS (максимальное количество баров на графике), функция также вернет -1.

исправьте пожалуйста это несоответствие.


к тому же функция CopyTime начинает дико тормозить...  без явной на то причины поведения.

 
sergeev:
к тому же функция CopyTime начинает дико тормозить...  без явной на то причины поведения.

Как мне кажется, тормозит она из-за того, что лезет на сервер за историей...

Где-то я у себя использовал примерно такой код и все тормоза исчезли:

   if ( SeriesInfoInteger(Instrument, TimeFrame, SERIES_FIRSTDATE) <= SeriesInfoInteger(Instrument, 0, SERIES_SERVER_FIRSTDATE) )
      tmpBars = (int)MathMin(SeriesInfoInteger(Instrument, TimeFrame, SERIES_BARS_COUNT), BarsLimit);
   else
      tmpBars = BarsLimit;
   if (tmpBars <= 0)
      tmpBars = BarsLimit;
   int BarsCopy = CopyRates(Instrument, TimeFrame, 0, tmpBars, tmpRates);
 
Urain:
Я обычно создавал заявки с уже локализованными багами. Тут же я не пойму вообще что мне сообщает МТ.
При закрытии(выгрузке) MQL5 программы исполняющая система определила, что в памяти осталась одна (в приведённом Вами сообщении) не освобождённая строка.
 
AlexSTAL:

Как мне кажется, тормозит она из-за того, что лезет на сервер за историей...

Где-то я у себя использовал примерно такой код и все тормоза исчезли:

не. тормоза именно из-за выхода за MAXBARS.  Никакой подкачки не фиксируется. как только возвращаюсь на 99999 бар, то тормоз резко исчезает. вот так сидел и двигал мышкой, чтоб CopyTime копировал то MAXBARS, то на 1-2 бара меньше. глюк стабильно появлялся/исчезал вместе с последующим обращением к CopyTime.

поэтому уверен, что баг именно в самой CopyTime.  ну и со справкой по функции надо тоже решить.

 
mql5:
При закрытии(выгрузке) MQL5 программы исполняющая система определила, что в памяти осталась одна (в приведённом Вами сообщении) не освобождённая строка.

Составил заявку

#54981 | 2011.03.23 17:12

Утечка строк

Именно строк потому что при запуске 2 iCustom появляется 2 записи

1 leaked strings left
 

Невозможно установить таймфрейм больше 30 минут.

   Print("PERIOD_M5=",PERIOD_M5,"   PERIOD_H1=",PERIOD_H1);

2011.03.25 10:20:00 period_test (GBPUSD,D1) PERIOD_M5=5   PERIOD_H1=16385

Так же функции Period() и _Period и PERIOD_CURRENT выдают непонятно что. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5
Причина обращения: