Индикаторы МТ5 не поддерживают DevOps? Как обеспечить поддержку?

 

Воспользовавшись майскими праздниками решил внедрить в разработку советников и индикаторов МТ5 подход DevOps,  т.е. перейти на сквозной операционный процесс разработки, тестирования и запуска в продакшн.  Для этого настроил один терминал как среду разработки, второй терминал как среду тестирования и определил оставшиеся 8м терминалов как продакшн-терминалы, где работают советники и индикаторы. Так же создал vs-скрипты для копирования разработок между средами и финального копирования в продакшн-терминалы.  Для применения обновлений на проде после копировоания скрипт на продакшн терминалы перезапускает все 8 терминалов.


Однако вскоре после прехода на сквозной операционный процесс выяснилось что советники и скрипты полностью поддерживают DevOps , а вот индикаторы МТ5 НЕ поддерживают такой процесс.

Т.е. после перезапуска терминала с обновленным индикатором, в уже установленном ранее на графиках индикаторе не происходит 100% обновления - так закладка "Inputs" обновляется полностью, а вот состав индикаторных буфферов и их цветов на закладке  "Colors" НЕ обновляется. При этом если появились новые индикаторные буфферы, то они терминалом корректно не отрисовываются.

 

Скрин-шот с примером:

На терминале открыт график с 2мя одинаковыми индикаторами, при этом:

  • в 1м подокне находится индикатор, который находился на этом графике До обновления индикатора и перезапуска терминала,
  • В 2м подокне  находится индикатор, который  был добавлен на график как новый после перезапуска терминала.

Так же Справа открыто  меню свойств закладки "Colors" первого индикатора из 1го подокна, и Слева добавлен скрин меню этой же закладки индикатора из 2го подокна.

 

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

 

По сути такое поведение индикаторов в МТ5 это приводит к невозможности проведения значимого обновления индикаторов в рабочих терминалах на основе DevOps , современного операционного процесса разработки программных продуктов. При значительных обновлениях в коде индикатора на продакшн-терминалах  на открытых графиках все индикаторы необходимо обновлять вручную.

 

Возможно кто-то из продвинутых пользователей может подсказать является ли эта проблема перманентной, или где-то в настройках *.ini возможно задать такой параметр, что при перезапуске МТ5 терминал подражает все индикаторы как в первый раз?

 

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

у вас "индикатор" это только часть поддерживаемой сущности, которая включает также шаблоны и профили. CI/CD подлежат шаблоны и профили, включающие в себя индикаторы и советники. Они неразрывны в эксплуатации

 
Maxim Kuznetsov #:

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

у вас "индикатор" это только часть поддерживаемой сущности, которая включает также шаблоны и профили. CI/CD подлежат шаблоны и профили, включающие в себя индикаторы и советники. Они неразрывны в эксплуатации

А какое отношение к индикаторным буферам имеет шаблон?
 
Sergey Gridnev #:
А какое отношение к индикаторным буферам имеет шаблон?

в том что ТС плачет про вкладку Colors (и отображения буферов) которая как-раз в нём на недо-xml описывается. А сами шаблоны используются в частности при перезагрузке терминала

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

 
Maxim Kuznetsov #:

в том что ТС плачет про вкладку Colors (и отображения буферов) которая как-раз в нём на недо-xml описывается. А сами шаблоны используются в частности при перезагрузке терминала

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

Так же не понимаю про какие шаблоны вы говорите, возможно вы путаетет понятие "шаблона" с "чартом"(в меню называется "Profile") - так как при своей  работе терминал МТ5 автоматически сохраняет только объекты под названием "чарты"(набор файлов *.chr, составляющий т.н. " Profile" терминала), и не сохраняет никакие шаблоны (файлы *.tpl).

Если вы именно это имели ввиду - то часть настроек индикаторов записывается в  *.chr, то это в целом это более - менее объясняет причины такого поведения индикаторов. Однако это мало что дает в прикладном плане, так как файлы  "чартов" по сути слабо-структурированный текст, и проводить массовое редактировоание данных файлов из внешних vs-скриптов тоже невозможно, так как в скриптах нет информации о внутренней специфики доработанных индикаторов.  

 

Хотя проблема явно относится к багам, нет уверенности, что MQ её заметит в этой ветке.

Предлагаю продублировать описание проблемы в последнем релизном анонсе - https://www.mql5.com/ru/forum/444094.

До тех пор, видимо, наиболее прямолинейный выход - устанавливать на рабочую машину не только обновленные mql-программы, но и обновленные chr-файлы.

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

Новая версия платформы MetaTrader 5 build 3660: Улучшения и исправления - В MetaTrader 5 будет выпущена обновленная версия MetaTrader 5. Обновлены переводы пользовательского интерфейса на португальский.
Новая версия платформы MetaTrader 5 build 3660: Улучшения и исправления - В MetaTrader 5 будет выпущена обновленная версия MetaTrader 5. Обновлены переводы пользовательского интерфейса на португальский.
  • 2023.03.23
  • www.mql5.com
В ней мы внесли ряд исправлений и улучшений в работу платформы. в некоторых случаях приводившие к некорректному формированию журнала платформы. Обновление будет доступно через систему Live Update. кто не успеют внедрить ИИ будут отставать в геометрической прогрессии
 
Stanislav Korotky #:
Хотя проблема явно относится к багам, нет уверенности, что MQ её заметит в этой ветке.

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

Благодарю за советы по tpl, сейчас разбираюсь как устроены эти файлы. Основная проблема коненчо то, что сохранение chr-файлов невозможно из программного кода, и располгаются они вне рамок файловой песочницы. 

 
Gladiator WXT #:


Основная проблема коненчо то, что сохранение chr-файлов невозможно из программного кода, и располгаются они вне рамок файловой песочницы. 

В принципе, туда можно сделать симлинк.

 
Gladiator WXT #:

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

Благодарю за советы по tpl, сейчас разбираюсь как устроены эти файлы. Основная проблема коненчо то, что сохранение chr-файлов невозможно из программного кода, и располгаются они вне рамок файловой песочницы. 

Возможно сохранение tpl-файла, а затем его программно можно применить к чарту (ChartApplyTemplate), что эквивалентно изменению chr-файла.

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