Открытое обращение к разработчикам - давайте "допилим" графическую часть

 

Хотел бы публично высказаться по данному вопросу.

Я понимаю, что у Вас сейчас магазин, оптимизация-визуализация и т.д., то есть работы хватает )))

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

Но! Есть одно но! Часть функционала перекочевала из MT4 и требует доработки на данном этапе, пока MT5 не вошла в массы.

А то на своём форуме программист nen возмущается, что Вы внезапно всем цветам добавили префикс clr, хотя в списке изменений Вы заранее об этом предупредили.

Ну да ладно, я по другим аспектам хотел высказаться.


1) У графических объектов есть поле "Описание". Но оно уже потеряло первоначальный смысл выводить это описание при наведении курсора на объект (тикет #47887, пока ещё публично не отклонённый). Это актуально для текста, меток, кнопок и т.д.

На скринах это хорошо видно (зачем пользователю видеть длинное сложное внутренне наименование объекта???):


Для этого нужно поле "Описание" разделить на два:

  • Текст
  • Описание (которое отображается при наведении курсора)

2) Последний созданный объект можно удалить по кнопке Backspace (тикет #44396, уже публично отложенный (можно прочитать и отвергнутый))

Представим себе ситуацию, когда на график прикреплён эксперт, который создаёт / удаляет графические объекты.

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

Вам круг не понравился и вы нажимаете Backspace, но удаляется не круг, а последний объект, созданный советником. Вы об этом можете даже и не догадываться.

Здесь то же есть простое и быстрое решение:

  1. Для графического объекта ввести свойство булево r/o "создан программным путём" (аналог OBJPROP_CREATETIME)
  2. Запретить алгоритму "Backspace" удалять объекты, созданные программным путём

Off: меня порадовал ответ в сервис-деске "просто надо помнить об этом". То есть Вы считаете, что все пользователи MT5 (не программисты) должны заранее об этом знать и всегда помнить?


3) Отображение графических объектов в общем списке


Зачем пользователю видеть все эти объекты (которые используются для интерфейсов)??

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

В данное окно нужно ввести ЧекБокс "Показать автоматически созданные объекты" (см. пункт 2), который при открытии автоматически в сброшенном состоянии.


4) Для ряда фигур (круг, прямоугольник...) два свойства "цвет заливки" и "рисовать как фон" слиплись в одно. Вы говорили, что ошиблись, но вышло уже несколько билдов....


Я не думаю, что я сказал что-то только мне нужное. Мне кажется, что это фундаментальная часть MT5 и требует скорейшей доработки.

 
AlexSTAL:

4) Для ряда фигур (круг, прямоугольник...) два свойства "цвет заливки" и "рисовать как фон" слиплись в одно. Вы говорили, что ошиблись, но вышло уже несколько билдов....

Это уже изменили - свойства разделены. Добавлено новое свойство OBJPROP_FILL


 
AlexSTAL:А то на своём форуме программист nen возмущается, что Вы внезапно всем цветам добавили префикс clr, хотя в списке изменений Вы заранее об этом предупредили.

Новые цветовые константы образованы от старых добавлением префикса clr, то есть Red -> clrRed. Это сделано для того, чтобы отделить названия цветов от нормальных слов (не портить раскраску кода).

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

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Набор Web-цветов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Набор Web-цветов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Набор Web-цветов - Документация по MQL5
 
Rosh:

Это уже изменили - свойства разделены. Добавлено новое свойство OBJPROP_FILL

По этому пункту отлично! Давайте реализуем всё таки все!

Rosh:

Новые цветовые константы образованы от старых добавлением префикса clr, то есть Red -> clrRed. Это сделано для того, чтобы отделить названия цветов от нормальных слов (не портить раскраску кода).

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

Да я то это понимаю.... Есть люди, которые живут на своей "планете"...

 

Графическую часть будем улучшать, есть масса идей.

Все упирается в недостаток ресурсов.

 

по первому вопросу

1) У графических объектов есть поле "Описание". Но оно уже потеряло первоначальный смысл выводить это описание при наведении курсора на объект (тикет #47887, пока ещё публично не отклонённый). Это актуально для текста, меток, кнопок и т.д.

уже высказывались в другой ветке. Это действительно надо.

-------------

Второй воспрос - новое свойство - кто хозяин объекта. В русле предложения это единственный выход.

Длинный список объектов тоже часто хочется отключать, то есть разделять на свои ручные и "автоматические экспертные". Свойство нужное.

 
Renat:

Графическую часть будем улучшать, есть масса идей.

Все упирается в недостаток ресурсов.

Ресурсов каких?
  1. Вычислительных
  2. Программистких (ну и слово :))
  3. В файлах
 
Девелоперских.

 
mrProF:
Ресурсов каких?
  1. Вычислительных
  2. Программистких (ну и слово :))
  3. В файлах

Скорей всего человеко-часов (или пункт 2 суровым языком статистики)...


 
Renat:

Графическую часть будем улучшать, есть масса идей.

Это хорошо... Главное, что бы эти идеи не разошлись с нашим мировосприятием ))))
 

Я бы добавил еще кое-что...

5)  Это МТ4:

 

А это МТ5:

 

В МТ4 вертикальная линия, нарисованная в основном окне, проходит через все подокна, а нарисованная в подокне видна только в нем. Я думаю, что это правильно. В МТ5 проходит через все подокна независимо от того, где она нарисована. Хотелось бы как в МТ4 или сделайте оба варианта, используя свойство OBJPROP_RAY например...

6)  Было бы неплохо в функции для работы с графическими объектами, добавить еще одно свойство, которое будет по желанию программиста включать или отключать генерацию события ChartEvent для той же программы или для всех(тут надо подумать). Чтобы программа не обрабатывала в OnChartEvent события, которые сама же создает, если этого не требуется. Или как-то еще решить этот вопрос... Очень напрягает при активной работе с графикой.