Обсуждение статьи "Рецепты MQL5 - обработка типичных событий графика"

 

Опубликована статья Рецепты MQL5 - обработка типичных событий графика:

В своей статье я хотел бы описать возможности и прикладной аспект обработчика OnChartEvent() относительно типичных (стандартных), уже определённых разработчиком MQL5, событий. В статейном материале форума MQL5 и в Code Base уже есть примеры использования этого обработчика.

Тем не менее, своей целью вижу анализ возможностей данного инструмента событийно-ориентированного программирования (СОП). Полагаю, что данный обработчик может быть успешно использован как для полностью автоматизированных, так и для полуавтоматических торговых систем.

1. Событие ChartEvent

Итак, для начала давайте разберёмся, что представляет собой данный вид события.

Согласно документации событие ChartEvent может появиться при работе с графиком, а именно:

  • нажатие клавиатуры, когда окно графика находится в фокусе;
  • создание графического объекта;
  • удаление графического объекта;
  • щелчок мыши на графическом объекте, принадлежащего графику;
  • перемещение графического объекта при помощи мыши;
  • окончание редактирования текста в поле ввода графического объекта LabelEdit.

Таким образом, данное событие вносит интерактивность и позволяет взаимодействовать с графиком. Причём, такое взаимодействие может быть результатом как работы "ручками" (ручная торговля), так и каких-то алгоритмических действий (механическая торговля).

Разработчик классифицирует событие ChartEvent по видам, которые задаются перечислением ENUM_CHART_EVENT.



Автор: Dennis Kirichenko

 

Можно ли в MQL5 обрабатывать событие двойного клика?

Я пробовал использовать стандартную библиотеку в MQL4, но она всегда возвращает событие одинарного щелчка.

 

Спасибо за эту полезную статью и за всю серию кулинарных книг.

Только я заметил, что в этой статье все строковые комментарии в коде на русском языке...:(

 
robualdo:

Спасибо за эту полезную статью и за всю серию кулинарных книг.

Только я заметил, что в этой статье все строковые комментарии в коде на русском...:(

Извините, это исправлено, теперь код с английскими комментариями.
 
konung:
Извините, это исправлено, теперь код с английскими комментариями.
Отлично. Спасибо!
 

Сэр.

Пожалуйста, помогите!

Мне нужно синхронизировать 3 графика. какое событие использовать и как установить?

Сейчас я использую глобальный объект, установленный на одном графике, и использую один таймер для одного графика, а затем использую OnTimer() для проверки значения глобального объекта, но есть некоторые задержки. Но есть некоторые задержки.


Возможно ли использовать только один глобальный таймер, а затем реагировать на него на нескольких графиках с помощью OnTimer() ?

必应词典 - 中国领先的中英文在线词典
  • cn.bing.com
必应词典为您提供synchronized的释义,美[ˈsɪŋkrəˌnaɪz],英[ˈsɪŋkrənaɪz],v. 同时化;【物】同步;【影视】声;使同时; 网络释义: 同步的;同步化;同步方法;
 
okwh #:

Сэр.

Пожалуйста, помогите!

Мне нужно синхронизировать 3 графика. какое событие использовать и как установить?

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


Возможно ли использовать только один глобальный таймер, а затем реагировать на него на нескольких графиках с помощью OnTimer() ?

Я знаю, можно использовать CharEvent.... не таймер

 
Огромная благодарность за ваш труд и примеры с кодами. Очень признателен. Решил в MQL5 разбираться для своих нужд. И тут ваша статья весьма кстати. Удивлен, что так мало просмотров и комментариев к такой качественной статье. Мне "глаза раскрыли" на работу с событиями графика, мыши, клавиатуры и других. Большое спасибо вам и здоровья!