Галерея UI написанных на MQL - страница 11

 
Janis Ozols #:

Мои интерфейсы, разумеется, были существенно проще. Я не использовал Canvas а просто строил панель из стандартных элементов управления. Чтобы другие объекты на чарте не просвечивали через них, я перерисовывал все компоненты окна раз в минуту:

Здесь Controls — массив, содержащий имена компонентов.

Если речь о визуальном просвечивании, то я не про это, а про сквозное нажатие. Там даже настройки индикаторов иногда нажимаются таким образом.

 

Я обещал раскрыть технологию авторского языка разметки KIB.

Небольшое вступление...

Среди читателей ветки наверняка найдутся люди глубоко понимающие технологию языка разметки, но скажу сразу - таким не являюсь. То есть, никогда не читал и даже не искал информацию на эту тему. Тоже самое касается визуального редактора. Не буду хвалиться невежеством, просто констатирую факт. Однако, как я к ним пришел?

Интуиция? Случайность?

Странным образом, я сначала сделал язык разметки, а потом понял что это он и есть. Понял через несколько лет после, когда уже разработал характерные для языка и интерпретатора решения.

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

Я не говорю, что это были самые лучшие решения, нет... но они были оптимальны для разработчика-одиночки не имеющего образования в программировании, который зациклен на цели и абсолютной свободе от стереотипов. И еще имеет наглость противопостовлять себя кому угодно.

Наглец? Да.

Понял что был не прав и все надо было делать иначе? - Нет. Потому что все работало и развивалось.

Считает ли что был прав? Не совсем. 

С коммерческой и профессиональной точки зрения был неправ.

С творческой - прав.


За то что был неправ коммерчески и профессионально - пострадал, потому что не стал настоящим программистом. И потому что ничего не заработал на продажах.

За то что был прав с творческой точки зрения - получил уникальный опыт в разработке и опробывании своего подхода.

А что стоит дороже?

Смотря на каком этапе жизни... Но оставим этот вопрос. У него нет однозначного ответа.


Вот парадокс - после того как я сделал язык разметки, я узнал как он работает...


Было это следующим образом:

Сначала я узнал об МТ4 и языке MQL.

Затем я узнал об графических объектах этого языка.

Потом начал их создавать...

...и первым делом решил построить визуальную студию...

...именно, первым делом.

Практически как только научился писать первые программные строки.

Вот доказательство: 2014 год.



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

Но тут дело не в графике. За ней стояла другая идея... 

Об этом далее...

 

Раз уж всплыла такая интересная тема, разрешите оффтоп.

Давным-давно начинал использовать EasyAndFastGUI, потом у меня затихло. Затем он перестал поддерживаться, перестал компилироваться и работать, устарел...

Сейчас снова появляется нужда в GUI для себя лично (я не продаю программы). За это время появлялось несколько серий статей с GUI, но уж очень объёмных и интегрированных с торговыми движками, так что трудно отделить пчёл от мёда. Либо описывающие самые основы, для самостоятельной разработки.

Нужно ваше мнение - есть ли открытый бесплатный GUI, который так же функционален, как  EasyAndFastGUI - кнопки, эдиты, табы, графики. Canvas based.

Для меня, как программиста, GUI не самоцель, я никогда не стану их разработчиком. Хотя занимался этим в молодости в Windows 1.0

 
Edgar Akhmadeev #:

Раз уж всплыла такая интересная тема, разрешите оффтоп.

Давным-давно начинал использовать EasyAndFastGUI, потом у меня затихло. Затем он перестал поддерживаться, перестал компилироваться и работать, устарел...

Сейчас снова появляется нужда в GUI для себя лично (я не продаю программы). За это время появлялось несколько серий статей с GUI, но уж очень объёмных и интегрированных с торговыми движками, так что трудно отделить пчёл от мёда. Либо описывающие самые основы, для самостоятельной разработки.

Нужно ваше мнение - есть ли открытый бесплатный GUI, который так же функционален, как  EasyAndFastGUI - кнопки, эдиты, табы, графики. Canvas based.

Для меня, как программиста, GUI не самоцель, я никогда не стану их разработчиком. Хотя занимался этим в молодости в Windows 1.0

Да, у меня именно такой. Но мне нужно время освежить память и вспомнить как создавал графическую оболочку программ людей которые ко мне обращались.

Есть ветка про это https://www.mql5.com/ru/forum/332043

Краудсорсовый GUI. Открытое бета-тестирование. - Опубликую открытый код конструктора GUI для MQL-программ. Установить советник KIB Ex5 на свободный график.
Краудсорсовый GUI. Открытое бета-тестирование. - Опубликую открытый код конструктора GUI для MQL-программ. Установить советник KIB Ex5 на свободный график.
  • 2020.02.04
  • Реter Konow
  • www.mql5.com
----------------------------------------------------------------------------------------------------------------- СБОРКА - движок GUI в пользовательском приложении. Шаг 5 - проектирование пользовательского GUI В дополнительной ветке. Шаг 6 - сохранение пользовательского GUI Вызвать дабл-кликом на график контекстное меню конструктора
 
Реter Konow #:

Да, у меня именно такой. Но мне нужно время освежить память и вспомнить как создавал графическую оболочку программ людей которые ко мне обращались.

Хорошо, если у Вас появится мотивация опубликовать работающую библиотеку.

 
Edgar Akhmadeev #:

Нужно ваше мнение - есть ли открытый бесплатный GUI, который так же функционален, как  EasyAndFastGUI - кнопки, эдиты, табы, графики. Canvas based.

Ко всем обращаюсь. Всем, кто испытывал опубликованные  несколькими авторами GUI. И даже к авторам.

 

И так, за графикой стояла другая идея...

Какая?

Я вывел формулу одной из идей-паразитов человеческого подсознания:

Поиск сверхзадачи --> нахождение сверхзадачи --> поиск сверхрешения --> этап 1, этап 2, этап 3... этап n

Далее логическа развилка:

1. Решение есть  --> ищем новую сверхзадачу

2. Решения нет --> делаем выбор:

   а) ищем новую сверхзадачу и (записываем проигрыш в подсознание)

   б) продолжаем искать решение прежней (кормим себя надеждой)

При любом выборе цикл повторяется.


Стоит отметить, что сверхзадача индивида не имеет жизненной актуальности и существует лишь в субъективном восприятии. Это плод воображения. Но "зараженный" человек не способен это понять. Для его подсознания сверхзадача реальна и решение абсолютно необходимо. Он бросает на его поиск силы и деньги, и в итоге впустую тратит невосполнимые ресурсы - время и здоровье. И деньги тоже.

Заразить человека идеей-паразитом достаточно легко если он изначально имеет предрасположенность.

Откуда берется предрасположенность?

От социальной незрелости. От того, что "внутренний ребенок" сильнее "внутреннего взрослого". И тогда ребенок берет вверх во внутреннем противостоянии.

Почему  "внутренний взрослый" слабее  "внутреннего ребенка"? - Потому что внутренний взрослый СОЦИАЛЬНО НЕДОФОРМИРОВАЛСЯ в процессе взросления личности.

Кто виноват? - Общество. Я говорил это ранее... Общество плодит много "недоделанных" взрослых чтобы делать из них "рабочих муравьев".

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

Но, это лишь моя теория и я ее не навязываю.



Должен признать, на тот момент мое подсознание было заражено идеей-паразитом. Да-да, то самое мифическое подсознание ищущее "Грааль" и "Утопию" было активировано когда прикоснулся к "магии" программирования. 

И какая идея залезла мне в голову? - идея "Куба". Куб свойств объектов. Я решил попробывать записать свойства всех объектов в массив и редактировать их "на лету" в циклах. С этого началась идея "Ядра-Движка". 

"Ядро" соответственно - "Куб", а "Движок" - управляющие свойствами объектов в "Кубе" алгоритмы. 

Все. После этого отказаться от этой идеи я уже не мог. 

Это было "Сверхрешение". Нужна была "Сверхзадача". "А почему бы не создать Визуальную Студию на подобии VS?" подумал я. Ну и понеслась...

Зачем, для чего, почему - было не важно. Была Сверхзадача и было Сверхрешение.

Остальное не имело значения для внутреннего ребенка - он нашел новые "идеи-игрушки" и его было не остановить.


Продолжение далее...

 
Реter Konow #:

Вот парадокс - после того как я сделал язык разметки, я узнал как он работает...


Было это следующим образом:

Продолжу с этого места.

Идея "Ядра-Движка" воникла почти сразу со строками первых кодов.

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

Этот парадокс напоминает мне что сейчас твориться с ИИ. Никакого ИИ нет - это вам скажут все ученые из международных НИИ. Они годами исследовали интеллект и врядли их можно убедить что он заключается в предсказании следующего слова на основе связанных данных статистической модели.  А если вы будете совать им под нос LLM и говорить "Разве это не сознание?! Разве это не мышление?!...", вы просто выбесите их и они вас пошлют подальше. Но ведь эта "безмозговая" штука общается с вами как человек... 

О чем это говорит? - О том, что к имитации "интеллекта" кто то нашел "короткую дорожку"...

Так же и я в программировании. Нашел "короткую дорожку" к UI.

 Не зная ООП я нашел способ создавать и обрабатывать объекты в обход сложной науки программирования. При этом, скорость работы кода была значительно выше чем у профессионально написанных интерфейсов (на том же языке), потому что алгоритмы были чрезвычайно просты и эффективны. Да, не по канонам и не по стандартам... Так же как ЛЛМ с точки зрения Природы - нелепая (непрофессиональная) копия сознания человека... Но люди же нашли способ обойти сложность Природы в вопросе имитации интеллекта...

Также и я.

Мой код почти всегда работал очень быстро, по сравнению с альтернативными решениями этого направления. При этом, я почти не старался делать его быстрее. Просто последовательно разворачивал потенциал "Сверхрешения" которое выбрал вначале.

"Распаковка" Сверхрешения всегда обеспечивала прогресс. Все получалось легко и само собой.


Но как технически пришел к языку разметки, до того как понял что именно его создаю?...

Об этом далее...

 

Такую же сверхзадачу поставил.. ээ.. не помню.. года 3 может быть назад. Создать "ИИ" бота, который будет сам придумывать торговые стратегии.

Но у меня еще была цель чтобы он бабос косил :) При этом опыт успешной торговли уже был, но другими способами.

В итоге задача оказалась действительно архисложной, видел как челики слетали с катушек на форуме, да и сейчас слетают, заходя в МО тему :)

 
Edgar Akhmadeev #:

Хорошо, если у Вас появится мотивация опубликовать работающую библиотеку.

Если появиться, то обязательно опубликую. Но обещать не могу. Постараюсь.