Обсуждение статьи "От начального к среднему уровню: Объекты и подокна (II)"

Опубликована статья От начального к среднему уровню: Объекты и подокна (II):

В этой статье объясняется, как отслеживать и обрабатывать удаление объектов с графика в MQL5 с использованием событий MetaTrader 5. При обнаружении удаления объекта, созданного индикатором, код удаляет соответствующий экземпляр, чтобы избежать несогласованностей и появления оставшихся подокон. В этом подходе используются уникальные имена и файл заголовка, при этом приоритет отдаётся простоте и предсказуемости поведения.

Если вы практиковались и изучали каждую из этих статей, то, вероятно, уже поняли, что цель языка MQL5 заключается именно в том, чтобы позволить программистам в той или иной мере контролировать поведение и работу MetaTrader 5, чтобы платформа генерировала предсказуемый результат. Это простая часть, хотя немногие действительно это понимают.

Сложная часть заключается в том, чтобы понять: не всегда вы сможете что-то сделать, не разобравшись сначала в некоторых механизмах и концепциях, которые использует MetaTrader 5. Одно из этих понятий уже объяснялось ранее и касается именно того, что мы НЕ МОЖЕМ добавить два экземпляра одного и того же индикатора на один график. Это факт, и он гарантируется внутренними механизмами MetaTrader 5. Однако, если изменить какой-либо аргумент или входной параметр индикатора, мы сможем добавить второй экземпляр на тот же график, поскольку в этом случае MetaTrader 5 будет считать, что этот второй, то есть новый, экземпляр ещё отсутствует на графике.

Хорошо, но по какой причине, по какому поводу или в связи с какими обстоятельствами вы снова об этом упоминаете? Итак, уважаемый читатель, дело в том, что в рассмотренных до сих пор кодах есть некоторые проблемы, которые могут значительно усложнить ситуацию. И эти проблемы возникают именно тогда, когда мы пытаемся что-то улучшить в самом коде. Поэтому мне нужно, чтобы вы хорошо поняли следующее: хотя коды, которые мы рассматривали до сих пор, работают — что можно проверить в каждой из статей с помощью анимаций, точно отражающих работу кода, — их изменение может привести к довольно запутанным результатам. Это связано именно с тем, что в каждом из кодов отсутствуют некоторые детали.

Чтобы это стало понятнее и проще для восприятия, воспользуемся одним из кодов, включённых в приложение к предыдущей статье. Использовав один из этих кодов, мы получим результат, который можно увидеть в следующей анимации.


Автор: CODE X