Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 3
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так у тебя где-то неудалённый объект остался. Вот тебе и пишут про утечку памяти.
В узком окошке не видно всего, но 586 объектов не удалены и остаются в памяти.
В программе ничего не менялось после обновления. Попробуй у себя. Там классы из стандартной библиотеки используются.
P.S. Заменил скриншот.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5
Anatoli Kazharski, 2018.10.27 09:32
При удалении программы с графика в журнал выводятся вот такие предупреждения:
//---
Раньше такого не было. Как от этого избавиться?
В тестере тоже такое впервые вижу.
В тестере тоже такое впервые вижу.
У меня даже с маленькой структурой после вылета за пределы массива (размер массива этой структуры нулевой был при обращении) в журнал выдалось сообщение про утечку памяти на пять string объектов - в массиве всего пять структур было.
Ты свои объекты не цепляешь к массиву объектов?У меня даже с маленькой структурой после вылета за пределы массива (размер массива этой структуры нулевой был при обращении) в журнал выдалось сообщение про утечку памяти на пять string объектов - в массиве всего пять структур было.
Ты свои объекты не цепляешь к массиву объектов?Нужно сделать краткий пример для воспроизведения.
Нужно сделать краткий пример для воспроизведения.
Сложно - не у компа уже, и буду поздно.
В индикаторе к массиву структур обращался в OnItit() прежде, чем увеличил размер массива и заполнил в массиве структуры данными.
1. объявил структуру из двух полей string и bool
2. объявил массив структур
3. вызвал функцию, выводящую данные из массива структур
4. увеличил размер массива структур
5. заполнил структуры в массиве данными.
Как видно, пункт 3 должен быть после пункта 5.
Вот такое и вызвало утечку памяти из пяти string-объектов
Краткий код для воспроизведения:
//---
При удалении программы с графика:
Краткий код для воспроизведения:
//---
При удалении программы с графика:
Да, баг. У меня тоже появилось в 1930. Динамических объектов не создается, но память утекает...
А в 1918 все норм еще было.На каком советнике замеры производили?
ЗЫ
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2018.10.27 14:17
1930
Virtual
Разница в три раза, как и было с 1881. Возможно, где-то в другом месте подкрутили. Но темы OrderSend, скорее всего, не касались.
Нужно сделать краткий пример для воспроизведения.
Берём пример из описания функции StringSplit() в разделе Документация.
Запускаем:
Получаем:
Причём,
ArrayFree(result);
не решает проблему.
А вот присвоение пустых строк - решает: