Управление состоянием объекта

Среди общих свойств объектов имеется несколько, управляющих состоянием объектов. Все такие свойства имеют логический тип, то есть могут быть включены (true) или выключены (false), и потому требуют использования функций ObjectGetInteger и ObjectSetInteger.

Идентификатор

Описание

OBJPROP_HIDDEN

Запрет на показ имени графического объекта в списке объектов в одноименном диалоге (вызывается из контекстного меню графика или по Ctrl+B).

OBJPROP_SELECTED

Выделенность объекта

OBJPROP_SELECTABLE

Доступность объекта для выделения

Значение true для OBJPROP_HIDDEN позволяет скрыть ненужный для пользователя объект из списка. По умолчанию true устанавливается для объектов, которые отображают события календаря, историю торговли, а также для созданных из MQL-программ. Для того чтобы увидеть такие графические объекты и получить доступ к их свойствам, нужно нажать кнопку Все в диалоге Список объектов.

Скрытый в списке объект остается видимым на графике. Чтобы скрыть объект на графике, не удаляя его, можно воспользоваться настройкой Видимости объектов в разрезе таймфреймов.

Пользователь не может выделять и менять свойства объектов, для которых OBJPROP_SELECTABLE равно false. Объекты, созданные программно, по умолчанию запрещены для выделения. Как мы видели в скриптах ObjectCornerLabel.mq5 и ObjectAnchorLabel.mq5 в предыдущих разделах, потребовалось явным образом установить OBJPROP_SELECTABLE в true, чтобы разблокировать возможность включить также и OBJPROP_SELECTED — таким способом мы подсветили точки привязки на объекте.

Обычно MQL-программы разрешают выделение своих объектов только в том случае, если эти объекты служат элементами управления. Например, трендовая линия с предопределенным именем, которую пользователь перемещает по желанию, может означать условие отправки торгового приказа при пересечении её ценой.