Обсуждение статьи "Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов"

 

Опубликована статья Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов:

В статье создадим функционал отслеживания некоторых событий объектов-чартов — добавление и удаление графиков символов, добавление и удаление подокон на график, а также добавление/удаление/изменение индикаторов в окнах чартов.

Скомпилируем советник и запустим его на графике символа.

Откроем любой новый график символа — в журнале получим сообщение из обработчика OnDoEasyEvent():

OnDoEasyEvent: Open chart: AUDNZD H4, ID 131733844391938634

Добавим на открытый график новое окно любого индикатора-осциллятора — в журнале получим сообщение из обработчика OnDoEasyEvent():

OnDoEasyEvent: AUDNZD H1, ID 131733844391938634: Added subwindow 1 Momentum(14)

Добавим на открытый график любой индикатор, рисуемый в главном окне — в журнале получим сообщение из обработчика OnDoEasyEvent():

OnDoEasyEvent: AUDNZD H4, ID 131733844391938634, Main chart window: Added indicator AMA(14,2,30)

Изменим параметры осциллятора — в журнале получим сообщение из обработчика OnDoEasyEvent():

OnDoEasyEvent: AUDNZD H4, ID 131733844391938634, Chart subwindow 1: Changed indicator Momentum(14) >>> Momentum(20)

Изменим параметры индикатора в главном окне — в журнале получим сообщение из обработчика OnDoEasyEvent():

OnDoEasyEvent: AUDNZD H4, ID 131733844391938634, Main chart window: Changed indicator AMA(14,2,30) >>> AMA(20,2,30)

Удалим окно осциллятора — в журнале получим два сообщения из обработчика OnDoEasyEvent():

OnDoEasyEvent: AUDNZD H4, ID 131733844391938634: Removed indicator Momentum(20)
OnDoEasyEvent: AUDNZD H1, ID 131733844391938634: Removed subwindow 1

Удалим индикатор из главного окна — в журнале получим сообщение из обработчика OnDoEasyEvent():

OnDoEasyEvent: AUDNZD H4, ID 131733844391938634, Main chart window: Removed indicator AMA(20,2,30)

Закроем ранее открытое окно графика — в журнале получим сообщение из обработчика OnDoEasyEvent():

OnDoEasyEvent: Closed chart: AUDNZD H4, ID 131733844391938634

Как видим, все события обрабатываются верно и отсылаются в управляющую программу.

Автор: Artyom Trishkin