Новая версия платформы MetaTrader 5 build 4000: Улучшения в торговом отчете и веб-терминале - страница 11

 
Andrey Dik #:

Артём, ты плохо прочитал моё сообщение.

В ручную сохранять в шаблоне гр. объекты можно? Можно.

Можно автоматизировать рисование гр. объектами то, что делаю вручную? Можно.

Почему нельзя делать программой то, что делается в ручную?

Причем здесь интерфейс программы? При чем здесь зависимость программы от шаблона?

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

Это не относится к обсуждаемому случаю.

 
Artyom Trishkin #:

Отвечал же.

Где? В каком сообщении ответ?

Андрей тоже задал этот вопрос:

Andrey Dik #:
Что значит не "засорять шаблон"? Что это за соблюдение чистоты шаблона? Какой шаблон считается чистым а какой грязным?

ответа так же не было

Artyom Trishkin #:

Почему он не должен строить свой интерфейс, а брать его откуда-то? Это очень странное решение.

Речь идёт про объекты, от которых зависит работа индикатора, пример с кнопкой вкл./выкл. описал выше, сохраняется состояние индикатора вкл. или выкл. при смене периода/инструмента. Что странного в таком решении?

 
Andrey Dik #:
Пример: я трейдер ручник, торгую по уровням и всяким гр. меткам, мне нужна программа, которая автоматизирует процесс создания графических объектов и сохраняет состояние чарта в шаблон, что бы я в последующем вручную открыл шаблон и продолжил работу на чарте с этими графическими объектами, необходимыми для ручного анализа и трейдинга. Поэтому интерфейс программы, лежащий в шаблоне тут вообще ни причем. Я описал реальный сценарий работы ручных трейдеров, где видно, что есть ограничения при работе с шаблонами. Это пример для ручников, и может не иметь идентичного смысла с тем что говорил предыдущий оратор, но проблема и там и тут одинаковая.

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

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

//это если я вообще правильно понял суть разговора)

 
Artyom Trishkin #:

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

Какая неправильная логика? Валить какую вину и за что? В чём нелогичность? Вы о чём вообще начали говорить?

 
Vitaliy Kuznetsov #:
Если сохранять все объекты от программ, то возникнет другая более глобальная проблема. Интерфейс и объекты могут задвоиться, не удалиться при инициализации, поскольку разные графики могут иметь разные id. Т.о. объект могут остаться висеть балластом и удалить их можно будет только вручную.

У меня стоит проверка по имени на наличие объектов на графике при инициализации программы. Для тех программ, для которых мне это нужно! Я сам так хочу! Мне так надо! Логика логичная!

(пример с кнопкой вкл./выкл., какие-то объекты удаляются при смене периода, а какие-то нет)

 
Vitaliy Kuznetsov #:

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

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

//это если я вообще правильно понял суть разговора)

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

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

Это было раз.

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

 

Что должен содержать шаблон:

1. Ручные какие-то построения

2. Программы, если они на графике


Всё, что создано программами не должно быть в шаблоне. Программа это сама создаст при инициализации.

Что если программа бьла удалена из терминала или Вы скинули шаблон тому, у кого её нет. Зачем тому человеку смотреть на объекты, которые не несут в себе ничего работающего.

Или Вы запустили шаблон через год. Зачем вам объекты, которые висят в далёком прошлом.


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


Такое мнение.

 
Andrei Iakovlev #:

Что такое "исходный шаблон"?

Почему считается, что скрытые объекты, созданные моим индикатором, будут засорять новый шаблон, который я сохраняю?

"Если Вы считаете, что интерфейсные элементы программы не засоряют шаблон, в таком случае создавайте ваши объекты с отключённым флагом hidden"
 
Vitaliy Kuznetsov #:
А частные случаи выводить в отдельный функционал

Вы и начали описывать частный возможный случай про то, как кто-то скинул кому-то не тот шаблон. В таком случае это просто ошибка.

Vitaliy Kuznetsov #:
Разработчик всегда должен учитывать удобства для большинства.

 Значит Вы пишите это, но при этом:

Vitaliy Kuznetsov #:
Всё, что создано программами не должно быть на графике. Программа это сама создаст.

Не противоречит одно другому? Может всё таки дать пользователю/программисту решать окончательно, сохранять ему или не сохранять скрытые/не скрытые объекты в шаблоне графика?

 
Slava #:
" Если Вы считаете, что интерфейсные элементы программы не засоряют шаблон, в таком случае создавайте ваши объекты с отключённым флагом hidden"

Почему с флагом hidden они внезапно становятся "мусором"? Все объекты с флагом hidden --- это "мусор засоряющий", который должен быть только удалён?

У свойства OBJPROP_HIDDEN совсем другое назначение: https://www.mql5.com/ru/docs/constants/objectconstants/enum_object_property

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