Реter Konow
Реter Konow
Реter Konow
Добавил тему AI 2023. Встречайте ChatGPT.
В этой теме предлагаю обсудить шумное, возможно преждевременно раздутое, но без сомнения знаковое событие в области IT технологий. Событие, которое не в силах игнорировать даже закоренелые скептики. Ученые, программисты, артисты, предприниматели
Реter Konow
Добавил тему Искусственный интеллект 2020 - есть ли прогресс?
Очень впечатлила эта статья на хабре  https://habr.com/ru/company/smileexpo/blog/409051/  за 2017 год. Прошло 3 года и каковы подвижки? Где разговорный ИИ? Почему его еще не видно и не слышно? Такую технологию врядли можно было бы
Реter Konow
Добавил тему Представление объекта в программировании.
Эта тема будет интересна тем, кого занимают глобальные вопросы программирования. Меня мучает вопрос: " а почему общеизвестная модель Объекта в стандартной концепции ООП является каноном? " .  В смысле, Объект - сущность, которую люди описывают
Реter Konow
Реter Konow
Временно удалил Виз.редактор. В начале месяца опубликую новую версию!
Реter Konow
Добавил тему Краудсорсовый GUI. Открытое бета-тестирование.
Предлагаю сообществу конструктор GUI для MQL-программ  для свободного использования .   Конструктор GUI отдаю закрытым файлом .ex5, с целью централизовать его развитие и исключить путаницу при распостранении версий.  Движок GUI
Реter Konow
Добавил тему Закат программирования?
Часто встречаются заголовки статей, предсказывающих закат эры программирования. Мол, ИИ и нейросети не оставят шанса людям. Раньше я с насмешкой читал подобные статьи, но сейчас мне не до смеха. Ведь, Объекты (которые создает ООП) состоят из
Реter Konow
Добавил тему Алгоритмическая ''центрифуга''
По мотивам этой темы:  https://www.mql5.com/ru/forum/79324 Есть ли возможность построения стратегий автоматической сборкой конфигураций параметров? Концепция такова:  Все торговые системы используют общие группы параметров: Индикаторные
Реter Konow
Добавил тему Вопрос знатокам ООП.
Как в ООП делают цикл по объектам и их свойствам? Например, я выполняю цикл след.образом: //Цикл по объектам в поиске нужного значения конкретного свойства. for ( int a1 = 0 ; a1 < obj_total; a1++)   {    if
Реter Konow
Опубликовал код Last 10 bars table
Таблица параметров OCHL последних 10-ти баров на текущем графике и текущем таймфрейме. Также, показывает параметр tick.volume и количество пунктов каждого бара.
Реter Konow
Документация разработанного движка...
Реter Konow
Реter Konow 2019.07.25
Далее по плану, - документация к стакану цен и сам стакан. Все вместе с этой документацией будет в одном индикаторе.
При закрытии окна, его можно переоткрыть через контекстное меню, вызвав его двойным кликом на график.
Реter Konow
Реter Konow
Если кому то нужна такая видео-инструкция к программе, могу реализовать в виде индикатора, который пользователь сам добавит на график. Обращайтесь, помогу. Бесплатно.
Реter Konow
Окна с демонстрацией зацикленного видео-ряда внутри MQL-программы. Может пригодиться в документациях к программам. Очень удобно наглядно передавать инструкцию...
Реter Konow
Реter Konow 2019.07.23
Окна можно перемещать держа за любую точку.
Реter Konow
Реter Konow
Единственная причина по которой еще не опубликовал обещанный стакан в кодо-базе, так это потому, что хочу сделать его приложением принципиально нового уровня. Уровня, ранее не досягаемого ни для одного программиста на MQL. Что это значит? В первую очередь, - API. Стакан будет самостоятельной программой-индикатором, которая будет предоставлять другой программе (советнику или индикатору) подключение с двусторонней взаимосвязью. Со стороны стакана можно будет получать события кнопок и данные, а со стороны клиента будут передаваться маркеры для цен в стакане. По мимо этого, стакан должен иметь как собственную иллюстрированную документацию, так и подробную документацию API. Все это требует от меня очень серьезного подхода. Нужно было расширить методику печатания на канвасе через конструктор с установкой свойств текста, текствых блоков, раскраской ключ.слов, ссылками для перехода между обзацами, сжатие больших картинок, создание гифов и многое другое. Нужно понимать, что каждая новая идея, даже воплощаемая удачно, приносит не только вдохновение и прогресс, но и проблемы, в виде больших переделок, исправлений и новых багов. Все это забирает время. Но в итоге, стакан получится приложением MQL такого уровня, какого еще не было. А потом, постепенно, все серьезные mql-приложения станут писать на таком уровне. API, документация, взаимодействие с пользователем через интерфейс, двусторонняя передача данных + отдельные платные функции... Так мне кажется...))

ЗЫ. Рекламные баннеры забыл добавить. Теперь это уже легко сделать.
Реter Konow
Реter Konow
Вот пример сжатия гифа. Здесь гиф состоит из 17 картинок размером 800х600 пикселей каждая. Мне удалось их так сжать, что 17 картинок занимают около 320 кб. То есть, ~80 000 ячеек int в массиве. Совсем немного для гифа таких размеров. Это означает, что и картинки я могу также. Конyhечно, они сжимаются компилятором при добавлении в программу через директиву #resource, но когда я создаю загрузочный файл для движка, мне необходимо выбрать из всех ресурсов конструктора только нужные для движка изображения, и следовательно, приходится брать их и сжимать самому. Иначе, в движке нужно каждый раз писать эту дерективу для каждой картинки или лейбла из конструктора, а это слишком утомительно.
Реter Konow
Реter Konow
Я разработал свои гифы. Повторяющиеся видео-фрагменты внутри MQL - программы. Они работают на канвасе моих окон и добавляю я их туда из КИБ-кода. Производство гифа происходит следующим образом:

Сначала подготавливаются картинки. Для короткого гифа нужно 8-10 картинок одного размера. Картинки редактируются в сторонней программе обработки фото или графическом редакторе. Далее, я сохраняю их в формате bmp в папке Images. Потом, запускаю специальный скрипт, который сжимает картинки по моему алгоритму и производит гиф. Гиф загружается ресурсом в программму и проигрывается на канвасе специальным алгоритмом. Все.)

Ниже показан один из гифов которые я добавил в документацию своего движка.

Должен сказать, что сжатие гифа достаточно мощное, и 10 картинок гифа в сумме занимают меньше места чем одна исходная картинка. Далее, приведу еще пример.
Реter Konow
Это пример документации, которую сейчас создаю. При первом открытии могут возникнуть красные квадратики, но при наведение на скрол бар или переоткрытии вкладки, это не повторяется. Думаю, как исправить...
Реter Konow
Реter Konow
Да, так у меня бывает. Начал делать стакан цен и в итоге переделал массу вещей в конструкторе и движке, а стакан ещё не закончил.))

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

Это огромный шаг вперёд, к студии.

Ещё один шаг вперёд, вместо двух файлов подключения польз.приложения к движку, теперь используется один, и самое важное, его печатает сам движок.
Реter Konow
Реter Konow
Окно документации стакана цен (создано на языке разметки KIB).
Реter Konow
Реter Konow 2019.05.23
Осталось окно с документацией API и наконец сделаю первую публикацию в кодо-базу.
Реter Konow
Реter Konow
В каждом движке будет два вспомогательных окна: с документацией того приложения, которое выполнено в движке (стакан цен, торговая панель, новостной Календарь и т.д.) и инструкция подключения через АPI для пользователей.
Реter Konow
Реter Konow
Теперь движок сам печатает файл своего API. Опция находится в его меню. Помимо этого, сейчас реализую окно с инструкцией подключения через API для пользователей. Окно будет вызываться также из контекстного меню движка.

Таким образом, вместо трёх файлов, теперь будет распространяться только один, - движок, и он сам будет печатать файл своего API.