Дело всё в том, что при смене таймфрейма создаётся совершенно новый экземпляр индикатора, а старый удаляется.
в индикаторе, классы созданные через оператор new и не удаленный через delete в секции DeInit() почему то остаются в висеть в памяти, при каждом переключении ТФ, будет увеличиваться кол-во объектов занимающих память (те которые не удалил через delete), поля классов (переменные) будут инициализированные нулем, указатели на классы тоже начинаются с №1, т.е. указатели объектов тоже обнулятся
странно, в теории если новый экземпляр индикатора, то он новый и все для него должно быть заново создано, включая распределение памяти
в индикаторе, классы созданные через оператор new и не удаленный через delete в секции DeInit() почему то остаются в висеть в памяти, при каждом переключении ТФ, будет увеличиваться кол-во объектов занимающих память (те которые не удалил через delete), поля классов (переменные) будут инициализированные нулем, указатели на классы тоже начинаются с №1, т.е. указатели объектов тоже обнулятся
странно, в теории если новый экземпляр индикатора, то он новый и все для него должно быть заново создано, включая распределение памяти
Объекты, созданные через new, самому удалять нужно.
Artyom Trishkin: Объекты, созданные через new, самому удалять нужно.
я в курсе, я к тому, что "не клеится" концепция создания нового экземпляра индикатора при переключении ТФ - чтобы был новый экземпляр, система должна удалить (уничтожить) первый экземпляр индикатора и запустить новый экземпляр индикатора с "чистого листа" - такого не происходит, значит удаляется только секция данных и стек, тогда не понятно, где находятся в памяти классы
я в курсе, я к тому, что "не клеится" концепция создания нового экземпляра индикатора при переключении ТФ - чтобы был новый экземпляр, система должна удалить (уничтожить) первый экземпляр индикатора и запустить новый экземпляр индикатора с "чистого листа" - такого не происходит, значит удаляется только секция данных и стек, тогда не понятно, где находятся в памяти классы
Если вдумчиво прочитать про удаление объектов вручную, то всё впишется в концепцию.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Дело всё в том, что при смене таймфрейма создаётся совершенно новый экземпляр индикатора, а старый удаляется.
в индикаторе, классы созданные через оператор new и не удаленный через delete в секции DeInit() почему то остаются в висеть в памяти, при каждом переключении ТФ, будет увеличиваться кол-во объектов занимающих память (те которые не удалил через delete), поля классов (переменные) будут инициализированные нулем, указатели на классы тоже начинаются с №1, т.е. указатели объектов тоже обнулятся
странно, в теории если новый экземпляр индикатора, то он новый и все для него должно быть заново создано, включая распределение памяти
Там ответ от сервисдеск на последней станице. Правда не из одной буквы.
Артём, да мне и той информации что я уже получил достаточно. В тех двух буквах, нового уже быть не может, я уже всё понял...
в индикаторе, классы созданные через оператор new и не удаленный через delete в секции DeInit() почему то остаются в висеть в памяти, при каждом переключении ТФ, будет увеличиваться кол-во объектов занимающих память (те которые не удалил через delete), поля классов (переменные) будут инициализированные нулем, указатели на классы тоже начинаются с №1, т.е. указатели объектов тоже обнулятся
странно, в теории если новый экземпляр индикатора, то он новый и все для него должно быть заново создано, включая распределение памяти
Объекты, созданные через new, самому удалять нужно.
я в курсе, я к тому, что "не клеится" концепция создания нового экземпляра индикатора при переключении ТФ - чтобы был новый экземпляр, система должна удалить (уничтожить) первый экземпляр индикатора и запустить новый экземпляр индикатора с "чистого листа" - такого не происходит, значит удаляется только секция данных и стек, тогда не понятно, где находятся в памяти классы
я в курсе, я к тому, что "не клеится" концепция создания нового экземпляра индикатора при переключении ТФ - чтобы был новый экземпляр, система должна удалить (уничтожить) первый экземпляр индикатора и запустить новый экземпляр индикатора с "чистого листа" - такого не происходит, значит удаляется только секция данных и стек, тогда не понятно, где находятся в памяти классы