Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Публикуй программы в Маркете. Зарабатывай с помощью своих знаний!
halk2009
94
halk2009 2014.08.18 01:29 

Можно ли группировать графические элементы, и отображать группы по желанию каким нибудь быстрым и удобным способом? (по типу работы со слоями Фотошопа) Если вы натыкались на подобные решения, буду очень благодарен за ссылочку! (как вариант, возможно другая платформа)

Вопрос конечно же не принципиальный, конечно же можно обойтись, НО. очень часто возникает захламлённость графиков многими графическими объектами и это немного раздражает))

fozi
2926
fozi 2014.08.18 06:35  

Все просто.

Нужно использовать шаблоны. Это встроенная функция МТ.

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

fozi
2926
fozi 2014.08.18 06:38  
halk2009
94
halk2009 2014.08.19 13:03  
Шаблон, это всё равно что параллельное окно с той же валютной парой. В одном шаблоне мы сможем нарисовать одни сигналы, в другом другие, в третьем третьи. А вот посмотреть в разном сочетании уже не получится это сделать. Ну если конечно нельзя добавить уже к загруженному шаблону ещё один. Я вот не знаю как это сделать... скорее всего это невозможно. Тут вопрос больше за удобство работы в сочетании разных сигналов/графических объектов.
halk2009
94
halk2009 2014.08.19 13:04  
fozi:

Все просто.

Нужно использовать шаблоны. Это встроенная функция МТ.

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


ответил выше.
Виктор
Модератор
6560
Виктор 2014.08.20 07:34  
halk2009:

Можно ли группировать графические элементы, и отображать группы по желанию каким нибудь быстрым и удобным способом? (по типу работы со слоями Фотошопа) Если вы натыкались на подобные решения, буду очень благодарен за ссылочку! (как вариант, возможно другая платформа)

Вопрос конечно же не принципиальный, конечно же можно обойтись, НО. очень часто возникает захламлённость графиков многими графическими объектами и это немного раздражает))



Есть одна идея, если вы сами программируете. Но это придется писать целый комплекс программ, устанавливающих объекты и управляющих их видимостью.
Поскольку вы не сообщили, как ставятся и убираются объекты, сделаем допущение, что все объекты ставит один индикатор, и вы точно знаете, как надо сгруппировать объекты.

В этом случае:
- для каждой группы объектов предусматривается внешняя булева "переменная видимости", (on/off)
- каждая группа объектов имеет в имени идентификационный префикс  
- программно предусматривается при установке объектов проверять состояние "переменной видимости" и устанавливать только те объекты, префикс которых разрешен внешней переменной

Таким образом, изменяя внешние переменные, на экране можно получить любой набор групп объектов.

По такому же принципу с использованием групповых идентификационных префиксов можно изменять видимость объектов при других вариантах  постановки объектов.

halk2009
94
halk2009 2014.08.20 13:27  
granit77:


Есть одна идея, если вы сами программируете. Но это придется писать целый комплекс программ, устанавливающих объекты и управляющих их видимостью.
Поскольку вы не сообщили, как ставятся и убираются объекты, сделаем допущение, что все объекты ставит один индикатор, и вы точно знаете, как надо сгруппировать объекты.

В этом случае:
- для каждой группы объектов предусматривается внешняя булева "переменная видимости", (on/off)
- каждая группа объектов имеет в имени идентификационный префикс  
- программно предусматривается при установке объектов проверять состояние "переменной видимости" и устанавливать только те объекты, префикс которых разрешен внешней переменной

Таким образом, изменяя внешние переменные, на экране можно получить любой набор групп объектов.

По такому же принципу с использованием групповых идентификационных префиксов можно изменять видимость объектов при других вариантах  постановки объектов.


Тяжело с программированием ) думал есть какое то готовое решение! Если честно вообще не понял о чём вы говорили) Объекты (прямые, горизонтальные, символи, фибо, и другие стандартные объекты) на график добавляются в ручную.
Виктор
Модератор
6560
Виктор 2014.08.20 18:39  
halk2009:

Тяжело с программированием ) думал есть какое то готовое решение! Если честно вообще не понял о чём вы говорили) Объекты (прямые, горизонтальные, символи, фибо, и другие стандартные объекты) на график добавляются в ручную.
Тогда остается единственный путь.

1. При ручной постановке объектов вы приписываете к имени объекта префикс группы. Например, основное имя объекта "Trendline 568456", дописываете "01", получается "01Trendline 568456". "01" - признак первой группы, "02" - второй, и так далее 

2. Заказываете во Фриланс'е индикатор, который будет на каждом тике перебирать все объекты и делать "невидимыми", придав им цвет фона, те, которые в данный момент вам не нужны. Номера групп объектов для показа указываются в параметрах (внешних переменных) индикатора. Индикатор простой, дорого не встанет. Может, кто-то и бесплатно напишет, если заинтересуется. 
Sergey Dzyublik
4618
Sergey Dzyublik 2014.08.20 19:12  
granit77:
Тогда остается единственный путь.

1. При ручной постановке объектов вы приписываете к имени объекта префикс группы. Например, основное имя объекта "Trendline 568456", дописываете "01", получается "01Trendline 568456". "01" - признак первой группы, "02" - второй, и так далее 

2. Заказываете во Фриланс'е индикатор, который будет на каждом тике перебирать все объекты и делать "невидимыми", придав им цвет фона, те, которые в данный момент вам не нужны. Номера групп объектов для показа указываются в параметрах (внешних переменных) индикатора. Индикатор простой, дорого не встанет. Может, кто-то и бесплатно напишет, если заинтересуется. 


Чуть более чем на под года уходил в С++ из MQL, но все же неужели надо все на каждом тике смотреть? А ессли:

1) Создать таблицу в которой будут находиться имена слоев (можно выделять ни более ни менее одного слоя)

2) Обрабатывать событие создание объекта (наверное оно есть, не в курсе честно говоря) и ассоциировать выделенный в таблице слой с созданным объектом 

3) Обрабатывать событие переключения слоев (при нажатии на имя другого слоя  - делать невидимыми объекты прошлого и видимыми нового слоя)

видимость - невидимость тоже под вопросом, есть иные способы достижения кроме изменения цвета фона?

4) Продумать процесс создания нового слоя и его имени

5) Продумать процесс удаления слоя и его объектов

6) Продумать процесс междуслойного копирования объетов

7) ... 

Алексей Тарабанов
7220
Алексей Тарабанов 2014.08.20 22:53  

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

1. В свойствах каждого графического объекта должна присутствовать ссылка на понятие вышестоящего уровня.

2.  Необходимо описание слоев, но не в иерархическом, а в сетевом виде. 

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий