Ошибки, баги, вопросы - страница 2297
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
спасибо, но не увидел там ответов на мои вопросы.
Не понимаю, почему деструктор не вызывается при A *a= new A;
https://www.mql5.com/ru/docs/basis/variables/object_live
Все объекты, созданные выражением указатель_объекта=new Имя_Класса, обязательно должны быть впоследствии уничтожены оператором delete(указатель_объекта). Если по каким то причинам такая переменная по окончании работы программы не была уничтожена оператором delete, то об этом будет выведено сообщение в журнал "Эксперты". Можно объявить несколько переменных и всем им присвоить указатель одного объекта.
Прошу MQL проверить функцию OnTimer().
Почему-то она не работает в тестере стратегий для МТ4 (Ошибок нет, просто ничего внутри этой функции не выполняется), при этом в онлайне все Ок.
Для МТ5 функция работает как в тестере, так и в онлайне.
Спасибо!
В OnInit только два числа сравниваются, а времени на Incorrect-проход уходит больше, чем на полноценный проход! Как так?
Запускаем на полную Оптимизацию вот такой советник
Получаем результат работы 8-ми Агентов
Теперь такой советник
Наконец, такой
Два вывода
По второму пункту явно какая-то ошибка. Мне выгоднее по времени делать пустой прогон, нежели выскакивать из OnInit. Просьба поправить, т.к. почти полностью теряются преимущества Incorrect-Init и ExpertRemove.
Вкладка Избранное с советниками/индикаторами/скриптами и счетами запоминается только после выхода из Терминала. Из-за этого нештатный выход (электричество кончилось) сбрасывает эту вкладку. Возможно ли ее сохранять при изменении?
Иногда возникает четкое понимание, что было бы очень удобно, если бы в Избранное можно было бы добавлять папки.
Тогда попробуйте так:
Результат:
1:POINTER_AUTOMATIC
1:POINTER_DYNAMIC
2:POINTER_DYNAMIC
2:POINTER_AUTOMATIC
Спасибо! Вполне себе решение.
только так наверное лучше, чтоб компилятор не ругался:
Это чтож получаеся - баг что-ли?
При создании экземпляра класса через new не вызывает деструктор.
И что - это единственное решение создавать специальный класс для вызова деструктора? Или все же можно обойтись без этого?
Создаем оператором new, а удаляем оператором delete
Вопрос в том, что бы поместить delete в деструктор, но при создания экземпляра класса через new (A *a=new A;) деструктор не вызывается.
Можно ли, а если да, то как, вывести в любом индикаторе ЗигЗаг соответствующие значения ценовых экстремумов High и Low,
обеспечив им стабильную привязку и непосредственную близость к образовавшимся вершинам и низинам?
Смотрите пример из OBJ_TEXT
https://www.mql5.com/ru/docs/basis/variables/object_live
Спасибо.
Да здесь как раз об этом написано.
Значит не баг, а такая особенность, в результате чего получаестя замкнутный круг.
Если я хочу автоматизировать процесс удаления динамического объекта, то деструктор вызывается только при delete, поэтому бесполезно delete засовывать в сам деструктор.
Но автоматику можно реализовать через другой экземпляр другого класса, как подсказал @A100 здесь.
Спасибо за подсказку. Уже замаялся читать и пробовать, пробовать и читать. Работающий бы пример какой-то с ЗигЗагом увидеть...
Такой, как на моём аватаре с зигзагом, но с ПРАВИЛЬНОЙ привязкой верхних экстремумов, поскольку с привязкой нижних всё в порядке!
Способ привязки через k=(WindowPriceMax()-WindowPriceMin())/30 при больших изменениях размеров окна себя не оправдывает, надо бы что-то другое...
В примере OBJ_TEXT и верхняя и нижняя привязка. Перейдите по ссылке, запустите пример ...
Значит не баг, а такая особенность, в результате чего получаестя замкнутный круг.
Вам уже ранее подсказали, что способ решения контроля за выделенными неуправляемыми ресурсами - это использования умных указателей. Полная аналогия с С++.
Возможно проблема в том, что решение не преподнесли на блюдечке, ну уж извините...
Забить в поисков сайта "shared_ptr" и перейти по первому же результату может каждый, это не сложно, настоятельно рекомендую попробовать.