Ошибки, баги, вопросы - страница 2794
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А не может получиться так, что цикл длится дольше чем отведено времени на выполнение OnDeinit?
Ведь у вас в примере все объекты имеют префикс "trend" почему-бы не воспользоваться этим и отказаться от цикла?
Это только в примере. В индикаторе же, над которым я работаю довольно сложные имена. А пример я сделал просто для демонстрации.
Я конечно же думал раньше об этом примечании. Но потом почему-то решил что это баг терминала. За что приношу свои извинения. Получается, это моя недоработка.
Но я не знаю, что в данном случае делать. Вызывать ObjectDelete, а потом ObjectFind и дожидаться пока он отработает, чтобы узнать, удален ли на самом деле объект. Исходя из того же примечания, это слишком затратно по времени. Да и не знаю, сработает ли повторное удаление (в своем индикаторе я пытался вызывать ObjectDelete два раза подряд и безрезультатно). А функция Sleep в индикаторах не работает, чтобы дать графику немного времени на удаление каждого объекта. Возможно где-нибудь есть примеры, как это обойти?
Вы же по-моему добавляете все указатели в список. Подсистема терминала сама удаляет такие объекты, указатели на которые лежат в списке CArrayObj
После завершения работы терминала после индикатора остаются объекты на чарте. И когда я снова запускаю терминал, то эти объекты видны и портят весь вид.
После завершения работы терминала после индикатора остаются объекты на чарте. И когда я снова запускаю терминал, то эти объекты видны и портят весь вид.
Вы же по-моему добавляете все указатели в список. Подсистема терминала сама удаляет такие объекты, указатели на которые лежат в списке CArrayObj
Если утечка памяти (по указателю объект не был удален), то по завершению в журнале пишет, каких и сколько объектов не было удалено и сколько памяти не освобождено. Но у меня не было ничего подобного. Объекты удаляются, а их объекты чарта удаляются не все.
Rashid Umarov заметил, что проблема в том что график не успевает обработать такое большое количество команд на удаление объектов чарта! При чем здесь утечки памяти?Это только в примере. В индикаторе же, над которым я работаю довольно сложные имена. А пример я сделал просто для демонстрации.
А в чём проблема сделать префикс? Может надо было сначала проверить такой вариант?
Если утечка памяти (по указателю объект не был удален), то по завершению в журнале пишет, каких и сколько объектов не было удалено и сколько памяти не освобождено. Но у меня не было ничего подобного. Объекты удаляют, а их объекты чарта удаляются не все.
Rashid Umarov заметил, что проблема в том что график не успевает обработать такое большое количество команд на удаление объектов чарта! При чем здесь утечки памяти?А в чём проблема сделать префикс? Может надо было сначала проверить такой вариант?
Это мне нудно переделывать все алгоритмы именования объектов в моем индикаторе и не известно заработает ли... А там кода достаточно много, уж поверьте.
Может быть есть какой-то другой способ. Например, сначала вызвать ObjectDelete для всех объектов, а потом после задержки вызвать ObjectFind. И снова удалить те объекты, которые не удалились. И так пока их количество не станет равным 0. Но как в индикаторе сделать задержку, если функция Sleep там не работает?
Я ж написал "потенциальное". Это значит, что потом будете опять искать. Лучше сразу.
Это мне нудно переделывать все алгоритмы именования объектов в моем индикаторе. А там кода достаточно много, уж поверьте.
Может быть есть какой-то другой способ. Например, сначала вызвать ObjectDelete для всех объектов, а потом после задержки вызвать ObjectFind. И снова удалить те объекты, которые не удалились. И так пока их количество не станет равным 0. Но как в индикаторе сделать задержку, если функция Sleep там не работает?
Очень правильный подход. Мне нудно всё менять, пусть разработчики нудно всё меняют. Кто вам мешает проверить на вашем-же примере и огласить результат? Вы даже этого сделать не хотите, «Пусть пробуют они. Я лучше пережду…» © В.Высоцкий.
Очень правильный подход. Мне нудно всё менять, пусть разработчики нудно всё меняют. Кто вам мешает проверить на вашем-же примере и огласить результат? Вы даже этого сделать не хотите, «Пусть пробуют они. Я лучше пережду…» © В.Высоцкий.
Я такого не говорил, чтобы разработчики за меня что-то делали! Просто сам алгоритм именования объектов у меня не рассчитан на последующий вызов функции ObjectDeledeAll. Это только в примере простое именование "trend".