Обсуждение статьи "Управление оптимизацией (Часть I): Создание графического интерфейса"

 

Опубликована статья Управление оптимизацией (Часть I): Создание графического интерфейса:

В данной статье описывается процесс создания расширения для терминала MetaTrader. Предлагаемое решение помогает автоматизировать процесс оптимизации путем запуска оптимизаций в других терминалах. На базе данной статьи будет написано еще несколько статей, развивающих затронутую тему. Расширение написано с использованием языка C# и шаблонов программирования, что демонстрирует помимо основной задачи данной статьи возможность терминала к расширению изначально заложенных в него возможностей путем написания собственных модулей, а также то, как просто можно создавать пользовательскую графику в языке с наиболее удобным для этого функционалом.

Для начала стоит определиться с тем, что для работы с проектом потребуется установить на компьютер IDE (Integrated Development Environment) Visual Studio, конкретно данный проект был создан с использованием версии Community 2019 года. Также во время установки студии нужно установить .Net 4.6.1 — с его использованием написано данное дополнение. Также стоит сказать, что для того чтобы читатели, недостаточно сведущие в языке C#, могли быстро вникнуть в суть вопроса, я постараюсь подробно описывать некоторые специфические моменты данного языка и используемые мною приемы во время программирования.

Так как графический интерфейс наиболее удобно создавать с использованием языка C#, а терминал MetaTrader поддерживает удобный способ стыковки с данным языком, то стоит воспользоваться представленной возможностью. К тому же не так давно на форуме появилось несколько статей на тему создания графического интерфейса с использованием C#. Данные статьи хорошо демонстрируют способ создания графических интерфейсов на баз технологии Win Forms и стыковочной dll-библиотеки, которая через механизмы рефлекции запускает графику. Решение, использованное автором данных статей, достаточно хорошо, однако для текущей статьи я решил воспользоваться более современной версией написания графических интерфейсов — через технологию WPF, и в результате удалось обойтись без стыковочной библиотеки, уместив все в одну единственную dll-библиотеку. Для решения поставленной нами задачи требуется создать тип проекта, который позволял бы хранить в себе графические объекты, описанные с использованием WPF технологии, и компилирующийся в динамическую библиотеку (*.dll файл), который позже можно было бы подгрузить в терминале. Такой тип проекта существует, это WpfCustomControlLibrary — данный тип проектов специально был разработан для создания пользовательских графических объектов, примером того может служить библиотека, рисующая графики. Мы же будем использовать ее для собственных целей, а именно — создания нашего расширения для терминала MetaTrader. Для создания данного проекта требуется выбрать его из списка проектов в IDEVisual Studio, как показано на скриншоте:


Автор: Andrey Azatskiy

 

Можно вопрос?

А смысл в этом какой?

Что мешает запустить просто два терминала и в них запустить оптимизацию?

Оба терминала обращаются к одним и тем же агентам. Выигрыша в скорости ожидать не приходится.

Смысл то какой?

 
Сергей Таболин:

Можно вопрос?

А смысл в этом какой?

Что мешает запустить просто два терминала и в них запустить оптимизацию?

Оба терминала обращаются к одним и тем же агентам. Выигрыша в скорости ожидать не приходится.

Смысл то какой?

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

К тому же после оптимизации отчеты обоих оптимизаций хранятся в одном месте что удобно для работы с ними.

 

Здравствуйте!

Можно вопрос?

Версию Community 2015 года можно использовать?

 
Irina Dymura:

Здравствуйте!

Можно вопрос?

Версию Community 2015 года можно использовать?

Здравствуйте, думаю да, вполне.

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