Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Используй MQL5 Cloud Network. Это безопасно!
votor
68
votor 2015.11.09 11:15 
В МТ5 когда Expert совершает сделку, допустим на Si она отображается на всех открытых графиках si, это очень неудобно, зачем вообще так сделано? Как это исправить, чтобы отображалось только на том графике, где он запущен? Допустим у меня есть 10 "роботов" торгующих на si ( Forts ), я их запускаю каждый в своем окне, но инструмент - si у всех один. Каждый Expert - сам ведет свою позицию и знает сколько ему купить/продать надо для открытия, закрытия СВОЕЙ позиции. Т.е. на вкладке торговля может быть позиция ноль, а  Expert знает что у него -2, а у другой что у него +2. Т.е. с этим проблем нет. Но когда смотришь на график там будет все в сигналах, ото всех экспертов, ничего не поймешь... Неужто нельзя решить эту проблему?
Mikhail Filimonov
5931
Mikhail Filimonov 2015.11.09 11:26  
votor:
В МТ5 когда Expert совершает сделку, допустим на Si она отображается на всех открытых графиках si, это очень неудобно, зачем вообще так сделано? Как это исправить, чтобы отображалось только на том графике, где он запущен? Допустим у меня есть 10 "роботов" торгующих на si ( Forts ), я их запускаю каждый в своем окне, но инструмент - si у всех один. Каждый Expert - сам ведет свою позицию и знает сколько ему купить/продать надо для открытия, закрытия СВОЕЙ позиции. Т.е. на вкладке торговля может быть позиция ноль, а  Expert знает что у него -2, а у другой что у него +2. Т.е. с этим проблем нет. Но когда смотришь на график там будет все в сигналах, ото всех экспертов, ничего не поймешь... Неужто нельзя решить эту проблему?

Сделано ПРАВИЛЬНО!

Потому что на Любом компьютере, в любом терминале, если у Вас есть открытая позиция, то

она ДОЛЖНА отображаться. 

Ihor Herasko
9049
Ihor Herasko 2015.11.09 11:43  
votor:
В МТ5 когда Expert совершает сделку, допустим на Si она отображается на всех открытых графиках si, это очень неудобно, зачем вообще так сделано? Как это исправить, чтобы отображалось только на том графике, где он запущен? Допустим у меня есть 10 "роботов" торгующих на si ( Forts ), я их запускаю каждый в своем окне, но инструмент - si у всех один. Каждый Expert - сам ведет свою позицию и знает сколько ему купить/продать надо для открытия, закрытия СВОЕЙ позиции. Т.е. на вкладке торговля может быть позиция ноль, а  Expert знает что у него -2, а у другой что у него +2. Т.е. с этим проблем нет. Но когда смотришь на график там будет все в сигналах, ото всех экспертов, ничего не поймешь... Неужто нельзя решить эту проблему?

Если речь действительно про МТ5, то как же можно отобразить часть позиции, если она всего одна? В МТ4 можно было бы решить проблему, выключив отображение торговых уровней, а в каждом эксперте добавить функционал графического отображения тех ордеров, которые открыты соответствующим экспертом. 

Сама же постановка вопроса слишком узкая. Вы описали частную проблему, но не подумали о более общих случаях. К примеру, после открытия сделки Вы удалили эксперт. И что теперь должен отображать график? Те ордера, которые открыл удаленный эксперт? А как же тогда быть в случае, если на тот же график присоединен другой эксперт? 

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

Maxim Dmitrievsky
13832
Maxim Dmitrievsky 2015.11.09 12:01  
Можно в свойствах графика убрать торговые уровни, а для каждого советника выводить табличку на экран или ценовые метки
votor
68
votor 2015.11.09 12:09  

Ясно, спасибо, все понял. MT5, просто не предназначен для торговли портфелей стратегий, но это 99,9% людей-форексников и не требуется, как я понял, "скачал скальпер" кем-то написанный и гоняй на нем 100$.

 "К примеру, после открытия сделки Вы удалили эксперт. И что теперь должен отображать график? Те ордера, которые открыл удаленный эксперт? А как же тогда быть в случае, если на тот же график присоединен другой эксперт?"

Допустим удалил и что? Остаются на графике "старые" стрелки, если я на него бросил новый эксперт, то на этом же графике появляются "стрелочки" нового эксперта, но по времени они уже будут справа и с теме  не пересекаются. А вот если все же старые стрелки раздражают, то проще не закрыть эксперт, а закрыть весь график вместе с ним. И на вновь открытый занести новый эксперт. Во всяком случае должен быть выбор, так это делать или как сейчас. По скольку в MT5 объектная модель, то не вижу сложности, что вновь открытый график был бы отдельным объектом, в который нанесенный на него эксперт "писал" бы сделки, не затрагивая другие "объекты рисования", либо на выбор работа по старой модели.

votor
68
votor 2015.11.09 12:14  
Maxim Dmitrievsky:
Можно в свойствах графика убрать торговые уровни, а для каждого советника выводить табличку на экран или ценовые метки
А что значит убрать уровни? Я убрал, линии исчезли, а стрелки остались, может можно, как то эти стрелки убрать в настройках? Тогда бы я на "чистый" график наносил "вручную" из кода нужные мне стрелки
votor
68
votor 2015.11.09 12:26  
Посмотрел список объектов на графике, выяснил, что вручную можно все ненужные удалить, т.е. то что мне и нужно. Точнее не то что изначально хотел, но что вполне устроит. Раз можно удалить вручную, значит и из кода можно, осталось понять как. Наверняка ест кто-то кто знает. Причем, как и нужно "Объект стрелка" на одном графике и другом это разные не связанные объекты. Т.е. можно с одного удалить на другом оставить. Соответственно эти объекты "расставляются" MT5 отдельно изначально и достаточно где то в настройках сделать галочку - " не ставить на все графики" и все было бы как мне нужно ( и не только мне это я точно знаю). 
Maxim Dmitrievsky
13832
Maxim Dmitrievsky 2015.11.09 12:43  
votor:
А что значит убрать уровни? Я убрал, линии исчезли, а стрелки остались, может можно, как то эти стрелки убрать в настройках? Тогда бы я на "чистый" график наносил "вручную" из кода нужные мне стрелки
А стрелки должны в коде робота удаляться, это же он их выставляет.. При выгрузке робота с графика нужно прописать в OnDeinit() что бы убрал за собой..
votor
68
votor 2015.11.09 19:08  
Всем спасибо, прочел хелп и придумал как из кода удалять все ненужное на графике.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий