Подскажите, как обработать индикатором события с другого графика. - страница 2

 
Vitaly Muzichenko:

Небольшая проблема с количеством передаваемых параметров, но это можно решить передачей строки через разделитель, к примеру "|", а на той стороне распарсить через StringSplit

Может есть ещё варианты, может и массивом можно передавать - не пробовал, вполне устроил вариант с разбитием строки.

Ну и конечно в помощь:

Подскажите, не совсем понятно, где именно это реализовать.

Функцию BroadcastEventPB я добавляю в свой индикатор на главном графике, но откуда мне брать параметры

long lparam,double dparam,string sparam

Получается, что на каждый график мне нужно вешать отдельный индикатор, который будет передавать их через OnChartEvent?

Моя цель - кликнуть по объекту на любом из 10-20 графиков, тем самым передать имя объекта в основной (единственный) индикатор на главном графике.  Т.к. количество графиков у меня постоянно вручную меняется, то на каждый вешать индикатор это не мой вариант.

Как и глобальная переменная, потому что ее также должен установить дополнительный, сторонний индикатор.

 
Roman Starostin:

Подскажите, не совсем понятно, где именно это реализовать.

Функцию BroadcastEventPB я добавляю в свой индикатор на главном графике, но откуда мне брать параметры

Получается, что на каждый график мне нужно вешать отдельный индикатор, который будет передавать их через OnChartEvent?

Моя цель - кликнуть по объекту на любом из 10-20 графиков, тем самым передать имя объекта в основной (единственный) индикатор на главном графике.  Т.к. количество графиков у меня постоянно вручную меняется, то на каждый вешать индикатор это не мой вариант.

Как и глобальная переменная, потому что ее также должен установить дополнительный, сторонний индикатор.

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

 
Vitaly Muzichenko:

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

Я подумал о том, чтобы сделать кнопку на каждом графике и когда она нажата - значит его активировали.

Но это и без кнопки возможно. Вот видео продукта с маркета, там человек одним нажатием на bmp картинку вызывает основной индиктатор. https://youtu.be/5XZWTQFD6d0?t=56

Раз продукт на маркете, значит никаких dll и иные варианты не используются. Он смог это реализовать через стандартные средства mql4.

Вопрос - понять как...

iSO MULTI CHART CLIPPER
iSO MULTI CHART CLIPPER
  • 2019.02.11
  • www.youtube.com
ISO Chart Clipper allows you to categorize a large number of open charts without having to increase the number of monitors and easily access them all quickly...
 
Roman Starostin:

Я подумал о том, чтобы сделать кнопку на каждом графике и когда она нажата - значит его активировали.

Но это и без кнопки возможно. Вот видео продукта с маркета, там человек одним нажатием на bmp картинку вызывает основной индиктатор. https://youtu.be/5XZWTQFD6d0?t=56

Раз продукт на маркете, значит никаких dll и иные варианты не используются. Он смог это реализовать через стандартные средства mql4.

Вопрос - понять как...

Можно просто бегать по всем чартам и смотреть состояние нажатости нужной кнопки.

Но я бы скорее запустил на каждом чарте свой индикатор-помощник (это можно сделать автоматом), и отслеживать события прямо в нем.

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