Новая версия платформы MetaTrader 5 build 4000: Улучшения в торговом отчете и веб-терминале - страница 10
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
это чтобы Ваша программа подчищала за собой весь мусор.
Ещё раз, какой мусор? С какой стати скрытые объекты, созданные моим индикатором, считаются мусором? И что такое "подчищала за собой"? Когда и почему она должна "подчищать за собой"?
Ведь шаблон этот может быть загружен и для любой иной программы.
Для какой иной программы? Я всё это время говорю про шаблон графика: https://www.mql5.com/ru/forum/454903/page6#comment_49894010
Если же Вам так необходимо сохранять в шаблоне (и именно в шаблоне) какие-либо графические элементы от своей программы
Не только от "своей программы" я сохраняю скрытые объекты в шаблоне графика, но и сами программы (индикаторы) при этом.
Ещё раз, какой мусор? С какой стати скрытые объекты, созданные моим индикатором, считаются мусором? И что такое "подчищала за собой"? Когда и почему она должна "подчищать за собой"?
Для какой иной программы? Я всё это время говорю про шаблон графика: https://www.mql5.com/ru/forum/454903/page6#comment_49894010
Не только от "своей программы" я сохраняю скрытые объекты в шаблоне графика, но и сами программы (индикаторы) при этом.
Программа должна подчищать за собой рабочее пространство при выгрузке.
Вот и сделайте так, чтобы Ваша программа при запуске сама строила свои интерфейсные объекты, а не использовала их, беря из шаблона графика. Потому, что этими элементами Вы засоряете шаблон. Программа, сохранённая в шаблоне, должна самостоятельно строить свой интерфейс в момент запуска.
Потому, что правило хорошего тона при программировании - это чтобы Ваша программа подчищала за собой весь мусор. Ведь шаблон этот может быть загружен и для любой иной программы. И для чего тогда ей на графике нужны элементы GUI от программы, которую она "в глаза не видела"?
Если же Вам так необходимо сохранять в шаблоне (и именно в шаблоне) какие-либо графические элементы от своей программы, то, как и сказал Слава, сохраняйте их без установленного флага HIDDEN, а при запуске устанавливайте его программно. Хотя, конечно, это странно, что не программа восстанавливает собственное окружение сама, а складирует его в непредназначенные для этого места.
Артём, логика не понятна в твоих словах.
Да, программа должна подчищать за собой при деинициализации с чарта, т.е. чистить чарт.
Но при чем здесь шаблон? Шаблон для того и создан, что бы в нём сохранять слепок работающих программ и графических объектов.
Что значит не "засорять шаблон"? Что это за соблюдение чистоты шаблона? Какой шаблон считается чистым а какой грязным?
Пример, специально написанной для этих целей программой создаю шаблон - сложную композицию из графических объектов и индикаторов и скриптов, что бы в последующем в ручную этот шаблон использовать. Но так как задумано сделать полностью не получится, потому что есть ограничения и блюдение "чистоты шаблона".
Не придираюсь, рассуждаю сугубо с практической точки зрения.
Не могу запустить терминал не в режиме портабле. То есть в аппдату хранение папки mql5 никак не переходит. Что и где можно подправить?
Постоянно каталог файлов mql5 в папке программфайлес.
Артём, логика не понятна в твоих словах.
Да, программа должна подчищать за собой при деинициализации с чарта, т.е. чистить чарт.
Но при чем здесь шаблон? Шаблон для того и создан, что бы в нём сохранять слепок работающих программ и графических объектов.
Что значит не "засорять шаблон"? Что это за соблюдение чистоты шаблона? Какой шаблон считается чистым а какой грязным?
Пример, специально написанной для этих целей программой создаю шаблон - сложную композицию из графических объектов и индикаторов и скриптов, что бы в последующем в ручную этот шаблон использовать. Но так как задумано сделать полностью не получится, потому что есть ограничения и блюдение "чистоты шаблона".
Не придираюсь, рассуждаю сугубо с практической точки зрения.
Мухи - отдельно, котлеты - отдельно.
В шаблоне сохранена работающая программа. Этого достаточно для того, чтобы программа была запущена при применении шаблона графика.
Почему в шаблоне должны лежать элементы интерфейса этой программы? Почему программа должна зависеть от шаблона?
Программа должна подчищать за собой рабочее пространство при выгрузке.
Согласен, так она и делает, но я же не удаляю её с графика, а сохраняю её тоже в шаблон.
Вот и сделайте так, чтобы Ваша программа при запуске сама строила свои интерфейсные объекты, а не использовала их, беря из шаблона графика. Потому, что этими элементами Вы засоряете шаблон.
"этими элементами Вы засоряете шаблон" -- опять засоряю, опять мусор. В 4-ый раз спрашиваю: "Почему считается, что скрытые объекты, созданные моим индикатором, будут засорять новый шаблон, который я сохраняю? Почему они считаются мусором?"
Вы можете ответить на этот вопрос?
Программа, сохранённая в шаблоне, должна самостоятельно строить свой интерфейс в момент запуска.
Только так и никак иначе? А почему так? При смене периода/инструмента значит должны удаляться вообще все объекты программмы? Это утверждение по-мойму совершенно ошибочно.
Зачем мне создавать заново объекты, которые уже были созданы, и для которых мне надо менять только свойства?
А если мне именно требуется сохранить какие-то свойства объекта? Например для кнопки вкл./выкл., которая сохраняет свой цвет при смене периода. Если она была красной напр. до смены периода, значит после смены индикатор не будет производить свои расчёты, пока кнопка не станет зелёной.
Почему в шаблоне должны лежать элементы интерфейса этой программы? Почему программа должна зависеть от шаблона?
Потому что так хочет/так надо пользователю, который сохранил такой шаблон.
Согласен, так она и делает, но я же не удаляю её с графика, а сохраняю её тоже в шаблон.
"этими элементами Вы засоряете шаблон" -- опять засоряю, опять мусор. В 4-ый раз спрашиваю: "Почему считается, что скрытые объекты, созданные моим индикатором, будут засорять новый шаблон, который я сохраняю? Почему они считаются мусором?"
Вы можете ответить на этот вопрос?
Только так и никак иначе? А почему так? При смене периода/инструмента значит должны удаляться вообще все объекты программмы? Это утверждение по-мойму совершенно ошибочно.
Зачем мне создавать заново объекты, которые уже были созданы, и для которых мне надо менять только свойства?
А если мне имеено требуется сохранить какие-то свойства объекта? Например для кнопки вкл./выкл., которая сохраняет свой цвет при смене периода. Если она была красной напр. до смены периода, значит после смены индикатор не будет производить свои расчёты, пока кнопка не станет зелёной.
Отвечал же.
Естественно. Индикатор при смене символа/периода графика полностью выгружается и запускается новый индикатор. Совершенно новый - не тот, что был на графике. Почему он не должен строить свой интерфейс, а брать его откуда-то? Это очень странное решение.
Мухи - отдельно, котлеты - отдельно.
В шаблоне сохранена работающая программа. Этого достаточно для того, чтобы программа была запущена при применении шаблона графика.
Почему в шаблоне должны лежать элементы интерфейса этой программы? Почему программа должна зависеть от шаблона?
Артём, ты плохо прочитал моё сообщение.
В ручную сохранять в шаблоне гр. объекты можно? Можно.
Можно автоматизировать рисование гр. объектами то, что делаю вручную? Можно.
Почему нельзя делать программой то, что делается в ручную?
Причем здесь интерфейс программы? При чем здесь зависимость программы от шаблона?
Пример: я трейдер ручник, торгую по уровням и всяким гр. меткам, мне нужна программа, которая автоматизирует процесс создания графических объектов и сохраняет состояние чарта в шаблон, что бы я в последующем вручную открыл шаблон и продолжил работу на чарте с этими графическими объектами, необходимыми для ручного анализа и трейдинга. Поэтому интерфейс программы, лежащий в шаблоне тут вообще ни причем. Я описал реальный сценарий работы ручных трейдеров, где видно, что есть ограничения при работе с шаблонами. Это пример для ручников, и может не иметь идентичного смысла с тем что говорил предыдущий оратор, но проблема и там и тут присутсвует.
Потому что так хочет/так надо пользователю, который сохранил такой шаблон.
Ну тогда, при неправильной логике работы Вашей программы, не стоит валить вину на других, в частности - на разработчиков терминала. Сами придумывайте костыли для того, чтобы Ваша программа работала нелогично.