Связанные с событиями свойства графика
Четыре типа событий способны генерировать очень много сообщений и потому по умолчанию отключены. Для их активации или последующего отключения следует установить соответствующие свойства графика с помощью функции ChartSetInteger. Все свойства имеют логический тип: true — включено, false — выключено.
Идентификатор |
Описание |
---|---|
CHART_EVENT_MOUSE_WHEEL |
Отправка на график сообщений CHARTEVENT_MOUSE_WHEEL о событиях колёсика мыши |
CHART_EVENT_MOUSE_MOVE |
Отправка на график сообщений CHARTEVENT_MOUSE_MOVE о перемещениях мыши |
CHART_EVENT_OBJECT_CREATE |
Отправка на график сообщений о создании графических объектов CHARTEVENT_OBJECT_CREATE |
CHART_EVENT_OBJECT_DELETE |
Отправка на график сообщений об уничтожении графических объектов CHARTEVENT_OBJECT_DELETE |
Если какая-либо MQL-программа изменяет одно из этих свойств, оно влияет на все другие программы, выполняющиеся на том же графике, и продолжает действовать даже после завершения исходной программы.
По умолчанию все свойства имеют значение false.
Дополним индикатор EventAll.mq5 из предыдущего раздела 4-мя входными переменными, позволяющими включить на выбор любые из данных типов событий (в дополнение к остальным, неотключаемым). Кроме того опишем 4 вспомогательных переменных, чтобы иметь возможность восстановить настройки графика после удаления индикатора.
input bool ShowMouseMove = false;
|
При запуске запомним текущие значения свойств и затем применим настройки, выбранные пользователем.
void OnInit()
|
Свойства восстанавливаются в обработчике OnDeinit.
void OnDeinit(const int)
|
Запустите индикатор с разрешенными новыми типами событий. Будьте готовы к большому количеству сообщений о перемещениях мыши. Вот фрагмент журнала:
CHARTEVENT_MOUSE_WHEEL 5308557 -120.000000 ''
|
Специфику информации по каждому типу события мы раскроем в соответствующих разделах далее.