Расширяем возможности задания внешних параметров экспертов и индикаторов

 

Брейнштормим идею.

Хочу, чтоб внешние параметры стали удобней.

Чтоб вместо колоночного вида "Имя - Значение"  была не таблица, а форма.
Чтоб во внешних параметрах были элементы Чекбоксы (вместо выпадающего true/false), датапикеры, групы, таблицы и тэ дэ.
Чтоб было добавлено красивое описание
Чтоб были разделения по группам параметров
Чтоб у параметров были диапазоны значений.
Чтоб в зависимости от выбранных значений появлялись или скрывались лишние поля
Чтоб параметры не растягивались в длинную простыню, а выглядели компактно.


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

-----

Второе.

Концепция должна быть удобна для программиста.

Открытые сорцы в кодебазе.
Все пожелания будут реализоватываться и публиковаться в новой версии.
Очень наглядное и простое задание таблицы параметров (в виде XML структуры)
Минимум правки для интеграции в готовом эксперте. (добавка только по одной строчке в OnChartEvent и OnInit).

Не противоречивая работа в тестере (старый стиль МТ парамтетров также остаются рабочими)


-----

План минимум - продукты пишушиеся на заказ или публикуемые в маркете по дефолту с этой возможностью.



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


 


<group name="Trade">
        <struct name="Symbol" head="true" type="array">
                <Edit string Name="EURUSD" />
                <EditSpin double Lot=0 prec="2" />
        </struct>
</group>
<group name="Risk">
        <struct name="Pair" head="true">
                <Edit string Name="" />
                <EditSpin int Lot=1 />
        </struct>
        <Edit double TP=50 desc="Take profit" min="" max="" />
        <Slider int BE=1 desc="Breakeven" min="" max="" step="" />
        <Combobox ENUM_PRICE_TYPE MAType=PRICE_CLOSE desc="Tral step" />
        <Combobox int Step=2 desc="Tral step" />
                "Low"=1
                "Medium"=2
                "High"=3
        </Combobox>
        <struct name="Date" head="false">
                <DateTime datetime From=2016.01.01 />
                <DateTime datetime To=2016.12.31 />
        </struct>
        <Check bool bRev=true desc="Revers signal"/>
</group>
 

Сначала подумал что это предложение к MQ - сделать окно внешних свойств в таком стиле, с возможностью рулить отображением.

Перечитал.  

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

Ну а еще можно добавить такие штуки как

- связанные элементы управления, выбирая один из режимов комбобоксом, или радиокнопкой -прячется/показывается определенное количество контролов.
- мастер/wizard , выбираешь первый этап, заполняешь, на основе первого шага разворачивается второй этап и тд. +показывается прогресс 3 шаг из 7 и т.д. и можно вернуться на любой шаг назад.
- табы,
- тултипы
- встроенную валидацию значений (в xml прописываются предзаданные именованные правила либо регулярка) с выводом сообщения о ошибке (поле необходимо заполнить, неправильный email, и т.д.)
- поддержку интернационализации в названии полей, ошибок и прочего

прототипы рисовать лень, сорри. но в принципе вещи вроде понятные
 
Сделать в MT коннект с СОМ-объектами, и все подобные (и многие другие) проблемы будут автоматически решены.
Причина обращения: