EventChartCustom - пользовательское событие для чужого графика. - страница 3

 
Думаю что нет жесткой взаимосвязи очереди событий и графика. То есть очередь событий - это глобальная, на уровне терминала, очередь событий. Эту глобальную очередь событий можно представить как перрон на вокзале. На перрон может быть подана или электричка или пассажирский дальнего следования. Часть очереди с перрона сядет в электричку, часть в следующий пассажирский состав. При этом могут остаться на перроне бомжи - потерявшиеся события.
 
barabashkakvn:
Думаю что нет жесткой взаимосвязи очереди событий и графика. То есть очередь событий - это глобальная, на уровне терминала, очередь событий. Эту глобальную очередь событий можно представить как перрон на вокзале. На перрон может быть подана или электричка или пассажирский дальнего следования. Часть очереди с перрона сядет в электричку, часть в следующий пассажирский состав. При этом могут остаться на перроне бомжи - потерявшиеся события.

Зачем что-то додумывать, если есть документация?

EventChartCustom

Генерирует пользовательское событие для указанного графика.

Возвращаемое значение

Возвращает true в случае удачной постановки пользовательского события в очередь событий графика – получателя события. В случае ошибки возвращает false, для получения кода ошибки используйтеGetLastError(). 

 Нет тут ни какой "общей очереди". Просто забыли проверить наличие графика.

 
komposter:

Зачем что-то додумывать, если есть документация?

 Нет тут ни какой "общей очереди". Просто забыли проверить наличие графика.

Проверка есть. При вызове EventChartCustom с несуществующим id чарта функция возвращает false и выставляется ошибка 4101.
 
antt:
Проверка есть. При вызове EventChartCustom с несуществующим id чарта функция возвращает false и выставляется ошибка 4101.

Я не проверял, опирался на слова барабашки:

barabashkakvn:
Как оказалось события отсылаются и соответственно получаются корректно и точно, если только не ошибиться с идентификатором чужого графика-приёмника. EventChartCustom  при указании несуществующего идентификатора графика ошибки не выдаёт.

 Видимо, ошибся он.

 

Нашёл почему возникли сомнения в корректности отправки событий. У меня был момент, когда при получении идентификатора графика приёмника я получал "0" и я не делал проверку полученного значения. Естественно подставляя в EventChartCustom знание id=0 я не получал ошибки, так как при id=0 событие отправляется текущему графику. Я же пытался получить это событие в другом графике, графике-приёмнике и не понимал почему событие отправляется но не приходит.

Теперь проверка стоит. И ещё - проверил отправку события с заведомо ложным id - сразу получил ошибку.  Спасибо всем оппонентам участвующим в диспуте.

 

Интересно, можно ли из эксперта сненерировать EventChartCustom, а поймать его в индикаторе, коорый вызывается из экспера через iCustom?

Я попробовал, у меня не получается. Сам эксперт и перехватывает все события.

 
. ... Rick D. ... .:

Интересно, можно ли из эксперта сненерировать EventChartCustom, а поймать его в индикаторе, коорый вызывается из экспера через iCustom?

Я попробовал, у меня не получается. Сам эксперт и перехватывает все события.

Читайте документацию:

https://www.mql5.com/ru/docs/eventfunctions/eventchartcustom

Примечание

Эксперт или индикатор, прикрепленный к указанному графику, обрабатывает данное событие при помощи функции OnChartEvent(int event_id, long& lparam, double& dparam, string& sparam).

Попробуйте использовать ChartIndicatorAdd().

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
//|                                            ButtonClickExpert.mq5 | //|                        Copyright 2009, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Expert initialization function                                   |...
 
. ... Rick D. ... .:

Интересно, можно ли из эксперта сненерировать EventChartCustom, а поймать его в индикаторе, коорый вызывается из экспера через iCustom?

Я попробовал, у меня не получается. Сам эксперт и перехватывает все события.

Ваш индикатор не имеет чарта. Поэтому он не получает событий.

Причина обращения: