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

 
Mihail Matkovskij:

А в каких случаях listOfTrendLines.Add может не сработать? Просто мне они не известны. Хоть я и придерживаюсь того принципа, где "лишних проверок не бывает" (с). Но можно гипотетически предположить , что это может дойти до паранойи. Ладно еще метод Create класса графического объекта может не сработать. Но он всегда отрабатывает чётко, если код написан грамотно и программа дает объектам нормальные имена. Но допустим, в его использовании могут быть косяки... Но как метод Add может вернуть фальшь в нормальных условиях. Или функция ArrayResize (которая, к стати, используется в данном методе), как она может вернуть результат отличный от new_size. Разве что только памяти не хватит... :) Но где вы видели современную систему с дефицитом памяти?!... :)

Vps обычно.
P.s. мне кажется ты не справедливо с Алексеем обошолся все таки именно он дал первый и правильный совет и как бы то ни было именно он тебе помог 
 
Mihail Matkovskij:

Подставил функцию ObjectDeleteAll сначала в свой пример:

Затем в индикатор.

Оказалось использовать ObjectDeleteAll в моём проекте проще простого. Для удаления всех объектов достаточно было поменять префикс всего 3 раза и, соответственно, 3 раза вызвать ObjectDeleteAll. И, в результате, график чист. В языке MQL5 много тонкостей. Но вместе с тем он является очень продуманным.

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

Интересно, а вы посмотрели документацию или просто взяли описание функции из моего сообщения?

Я так подозреваю, что у вас графические объекты это только трендовые. Если это так, то зачем вам префикс? Там ведь есть ещё удаление по типу объекта

int  ObjectsDeleteAll(
   long  chart_id,            // идентификатор графика
   int   sub_window=-1,       // индекс окна
   int   type=-1              // тип объекта для удаления
   );

соответственно ничего не надо было менять в проекте, а просто написать

ObjectsDeleteAll(0, 0, OBJ_TREND);
)))))))))))))
 
Aleksei Beliakov:
Vps обычно.
P.s. мне кажется ты не справедливо с Алексеем обошолся все таки именно он дал первый и правильный совет и как бы то ни было именно он тебе помог 

И в чём же несправедливость стесняюсь спросить?... По моему, я нормально отношусь к Алексею. А ты что его родственник?

 
Alexey Viktorov:

Интересно, а вы посмотрели документацию или просто взяли описание функции из моего сообщения?

Я так подозреваю, что у вас графические объекты это только трендовые. Если это так, то зачем вам префикс? Там ведь есть ещё удаление по типу объекта

соответственно ничего не надо было менять в проекте, а просто написать

)))))))))))))

Это лишь частный случай. Префикс - общий и универсальный. При том, что удаление всех трендовых линий коснётся и не принадлежащих программе объектов.

 
Alexey Viktorov:

Интересно, а вы посмотрели документацию или просто взяли описание функции из моего сообщения?

Я так подозреваю, что у вас графические объекты это только трендовые. Если это так, то зачем вам префикс? Там ведь есть ещё удаление по типу объекта

соответственно ничего не надо было менять в проекте, а просто написать

)))))))))))))

Конечно же, я смотрел документацию. И да, всё можно! Но я сделал так... И что, это не работает или каким-то образом мешает?...

А в проекте, там всё куда сложнее. Говорил выше об этом...
 
Artyom Trishkin:

Это лишь частный случай. Префикс - общий и универсальный. При том, что удаление всех трендовых линий коснётся и не принадлежащих программе объектов.

Согласен. chart_id: 0 (текущий график). Значит только на этом графике. А если там будут другие программы, то можно добавить ID к каждому имени объекта и вызвать ObjectsDeleteAll  с соответствующим префиксом и функция ничего путать не будет. Вот, почему я говорил в сообщениях выше, что именование объектов у меня сложное и мне нужно было подумать, прежде чем использовать данную функцию. Но Алексей на меня обиделся, еще и его друг... Зря!

 
Mihail Matkovskij:

Это почему? chart_id: 0 (текущий график). Значит только на этом графике. А если там будут другие программы, то есть еще такое понятие, как ID. Если его добавлять к каждому имени объекта, то функция ObjectsDeleteAll ничего путать не будет. Вот, почему я говорил в сообщениях выше, что именование объектов у меня сложное и мне нужно было подумать, прежде чем использовать данную функцию. Но Алексей на меня обиделся, еще и его друг... Зря!

Мозг-то включите перед тем как ответить :)

ID, вписанный в имя объекта - это и есть некий префикс, по идентификации которого и удаляются объекты программы.

А теперь поглядите на какой код я писал свой ответ Алексею, и как его код удалит только нужные вам объекты, в которых НЕ будет вписан идентификатор, и который оставит на графике "чужие" объекты, не принадлежащие программе?

Ответ мой был Алексею на этот код с таким сообщением Алексея:

соответственно ничего не надо было менять в проекте, а просто написать

ObjectsDeleteAll(0, 0, OBJ_TREND);
)))))))))))))
 
Artyom Trishkin:

Мозг-то включите перед тем как ответить :)

ID, вписанный в имя объекта - это и есть некий префикс, по идентификации которого и удаляются объекты программы.

А теперь поглядите на какой код я писал свой ответ Алексею, и как его код удалит только нужные вам объекты, в которых НЕ будет вписан идентификатор, и который оставит на графике "чужие" объекты, не принадлежащие программе?

Ответ мой был Алексею на этот код с таким сообщением Алексея:

Отредактировал. Вы правильно ответили. Это я немного перепутал. Другое хотел сказать.

 
Mihail Matkovskij:

Но Алексей на меня обиделся, …

Не дождёшься… Я только за справедливость. Не надо выставлять свои огрехи, а они бывают у всех и у меня тоже, за баги терминала.

Есть один свежий пример: Некоторое время назад я с удовольствием пользовался такой примочкой, правый клик на переменной, «Перейти к определению» и чтобы вернуться на ту самую переменную я нажимал клавишь на крыске «Назад». Но вот сегодня заметил что это перестало работать. Причина??? Вчера обновился до 2530… Я даже высказался в адрес разработчиков нецензурной лексикой, но вдруг вспомнил что ещё и крыску пришлось поменять. Открыл МЕ 2474 и опа………………… и там не работает. А если-бы мне сразу пришла СМС'ка в голову написать всё что я подумал о разработчиках? Как-бы это выглядело.

Это я к тому, что не надо спешить, прежде чем писать о багах, поищите огрехи в своём коде.

 
Alexey Viktorov:

Не дождёшься… Я только за справедливость. Не надо выставлять свои огрехи, а они бывают у всех и у меня тоже, за баги терминала .

А кто выставляет?  https://www.mql5.com/ru/forum/1111/page2795#comment_17290368 . Надеюсь, прочли на этот раз внимательно?... Сколько мне еще раз нужно повториться, чтобы до вас наконец дошло и вы не писали здесь ерунду?!