Реter Konow
Реter Konow
Реter Konow
Реter Konow
Красотаааа....))
Реter Konow
Реter Konow
Последняя панель. 3 часа работы с конструктором.
Реter Konow
Реter Konow
Я вот подумал, а что если создать движок с набором индикаторов? Пользователь установит движок на график, через GUI настроит передачу сигналов от выбранных индикаторов и подключит движок через файл подключения? В этом случае, пользователь избавиться от необходимости писать громоздкий код с if-ами и iCustom. Он просто будет получать в советник нужные ему сигналы, от нужных индикаторов, которые будут запущены в движке с установленными им настройками. Удобно ведь получится...

Например, типичная задача: пересечение Большой и Малой средних. Когда то давно я писал портянку условий, чтобы поймать это событие и использовать его в советнике. Сейчас эти условия я могу поместить в движок и он будет транслировать его независимо от кода советника. Советник же, может принимать любое событие от движка и использовать. Для этого, ему всего лишь нужно добавить небольшой блок кода и подключить к движку. Это легкая задача даже для нубов.

Постепенно, движки будут превращаться в источник сигналов и информации для советников. Также, они будут нести GUI советников.

Помимо работы с GUI и посылки сигналов, движки смогут обрабатывать массивы информации, которые им будут посылать советники. Я скоро займусь реализацией этой задачи.
Yury Kulikov
Yury Kulikov 2018.11.13
Поделюсь "печальной" историей :( https://www.mql5.com/ru/forum/6628
Пользовался YuAlert от 2012 г. до последнего ... пока не обновили МТ5 на build 1940 :)
Кроме автора ни кому это не было интересно.
Реter Konow
Реter Konow 2018.11.13
Жаль. Но у меня немного другая история. Чтобы освоить подключение к движку нужно 1 час времени и внимания. Все очень просто. Вы даже не представляете пока насколько. Скоро я продемонстрирую.
Yury Kulikov
Yury Kulikov 2018.11.13
Я тоже так думал ... чтобы проверить какую-нибудь идею или индикатор в YuAlert мне требовалось минут 10-15, не более.
Реter Konow
Реter Konow
Пример многооконного советника
Реter Konow
Реter Konow
Несколько часов работы, и панель готова. У нее есть интерфейс подключения к элементам. Каждый может подключится и передавать данные в элементы или получать их от элементов. Но, эта панель выполнена по заказу и ею может пользоваться только заказчик.
Реter Konow
Реter Konow
Удивительная вещь. Оказывается, с помощью своей технологии я могу создавать GUI-обертки программ.
Например: Рисую классный стакан и выставляю его движок с файлами подключения. Каждый сможет соединить свой советник со стаканом через файл подключения. И это не ограничивается только стаканом. Статистика, всякие таблицы. В будущем, - графики.

Даже не знаю... Есть возможность стать MQL-добродеятелем.)))

P.S. Все что от меня требуется, - только рисовать. А я очень люблю рисовать...
Реter Konow
Программа индикатор. Добавлять на график из папки индикаторов. Дабл-клик на график вызывает контекстное меню. Вкладки панели задач можно перетаскивать и менять местами. Окна сворачиваются и переходят на панель задач. Окно "Main form" имеет меню...
Реter Konow
Реter Konow
План ближайшей работы:

1. Переход на МТ5.
2. Тестирование движка в связке с пользовательской программой с простыми настройками.
3. Отладка таблиц и древовидных списков.
4. Добавление элемента CHART в конструктор.
5. Добавление возможности работы с библиотекой CGrafic через конструктор.
6. Тестирование работы движка со сложной польз.программой с таблицами и графиками.
7. Публикация бесплатного конструктора и движка в Маркете.
Реter Konow
Программа индикатор. Устанавливать в папку индикаторов. Дабл-клик на график вызывает контекстное меню. Вкладки панели задач можно перетаскивать и менять местами. Окна сворачиваются и переходят на панель задач. Окно "Main form" имеет меню. Пункты первого меню вызывают различные окна настроек...
Реter Konow
Реter Konow
Переделываю систему рисования градиента. Прежние окна выглядят по новому.
Реter Konow
Реter Konow 2018.10.08
На этот раз градиент не углубляется в серый цвет, а движется по родным оттенкам исходного цвета.
Реter Konow
Реter Konow
Тоже окно, только свернутое в панель
Реter Konow
Реter Konow
Третья вкладка:
Реter Konow
Реter Konow
Вторая вкладка
Реter Konow
Реter Konow
Графика для Rafil Nurmukhametov:
Реter Konow
Реter Konow
Забыл самое главное:

Все ядра - G_CORE, P_CORE, CONTENT и SOURCE были разделены на две области - штатную и пользовательскую.
Благодаря этому разделению, все визуальные инструменты загружаются в штатную область ядер, только один раз при загрузке конструктора на график, а пользовательские окна загружаются каждый раз, когда пользователь перекомпилирует файл KIB-SOURCE. Иначе говоря, штатные окна конструктора прекрасно сосуществуют с пользовательскими окнами в одном ядре, при этом, штатные перестраиваются при перезапуске конструктора, а пользовательские, - при перекомпиляции проекта. Это тотально сокращает время перестройки ядра. Ведь если бы небыло этого разделения, - все ядро вместе со штатными окнами перестраивалось на каждой перекомпиляции польз.проекта, что в разы увеличило бы время перестройки.
Реter Konow
Реter Konow
Что было сделано за последние 2.5 месяца:
//------------------------------------------------------------------------------
1. Реализован механизм блокировки окон. Каждое окно может блокировать список выбранных для него окон, или блокировать вообще все окна. При этом, блокировка сопровождается таким же звуком как в Виндоус и таким же миганием окна.

2. Элементам могут назначаться звуки, которые они издают при нажатии или отжатии.

3. Звуки могут сопровождать открытие окна.

4. Добавлен элемент "VALUE", который может добавляться в любое место окна. В первую очередь, - в текст. Этот элемент несет параметр и передает его значение. Можно написать текст в который добавить эти элементы в места, в которых говориться о каких то переменных цифрах. Элемент VALUE будет отражать текущее значение.

5. Реализовано рисование горизонтального градиента, что значительно улучшает графику окон и элементов.

6. Реализовано цветовое приспособление элементов к градиенту поверхности на которой они находятся. Это опять же улучшает графику.

7. Реализованы визуальные инструменты, помогающие пользователю подбирать нужные картинки, звуки, шрифты, рамки, цвета.

8. Реализован симулятор изменения значений, который позовляет "оживлять" GUI в процессе его сборки. Это улучшает весь процесс работы над GUI.

9. Реализована технология "целевых" параметров. Суть в том, что через конструктор можно назначит передачу значения от любого, из почти 150-ти свойств, одного элемента, любому из 150 свойств другого элемента. Именно с помощью этой технологии и работают визуальные инструменты. Один элемент через одно из своих свойств управляет другим свойством другого элемента или группы элементов.

10. Реализована синхронизация параметров элементов. Через конструктор можно связать параметры элементов. Например, значение в поле ввода можно связать со слайдером и наобором. Параметры могут синхронизироваться между окнами. Эта технология чрезвычайно облегчает задачи пользователя. Не нужно следить за всеми параметрами всех элементов, их можно связать через конструктор и они автоматически будут синхронизироваться между собой правильно конвертируясь.

11. Доработана концепция движка и реализована его основная часть.

12. Исправлено огромное количество багов.
Реter Konow
Реter Konow
Новый визуальный инструмент конструктора. "Симулятор". Позволяет моделировать изменения значений каждого элемента в пользовательском окне. Значения, конечно, случайные и не всегда укладываются в нужный диапозон, но этот процесс помогает понять, как будут работать элементы в конечном варианте.

Так это выглядит.
Реter Konow
Реter Konow 2018.08.17
К сожалению Гиф сильно искажает графику.
Реter Konow
Реter Konow
Третья вкладка
Реter Konow
Реter Konow
Вторая вкладка