Обсуждение статьи "Визуализируй это! Графическая библиотека в MQL5 как аналог plot из R" - страница 6

 
Nikolai Semko #:

Артем, это реально не тривиальные задачи, которые требуют новых нейронных связей. Например в SVG есть такое понятие как viewBox. Уже кучу видосов посмотрел как он работает, кучу документации прочитал, кучу кода написал, а до сих пор иногда впадаю в ступор. Нужных нейронных связей до сих пор нет, хотя уже несколько раз казалось, что во всем разобрался. 

Ну мы всё равно в тебя верим ;)
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Визуализируй это! Графическая библиотека в MQL5 как аналог plot из R"

Anatoli Kazharski, 2023.07.31 17:39

...

Я имел в виду учитывать всё, что находится под холстом, включая и сам график (цвет фона) и цвет его элементов (бары, линии ask/bid и т.д.).

В процессе перемещения этого холста с прозрачным фоном с нарисованными на нём полупрозрачными элементами все пиксели должны отрисовываться корректно. 

Сейчас это не так:


Вот пример, когда один холст (с синим кругом) находится над другим холстом (синий прямоугольник с картинкой) и здесь тоже не учитывается, что нарисовано на холсте, который ниже:


 
Anatoli Kazharski #:

Не удалось найти поиском iDot() или 3DStars, чтобы посмотреть код.

Я имел в виду учитывать всё, что находится под холстом, включая и сам график (цвет фона) и цвет его элементов (бары, линии ask/bid и т.д.).

В процессе перемещения этого холста с прозрачным фоном с нарисованными на нём полупрозрачными элементами все пиксели должны отрисовываться корректно. 

Сейчас это не так:


https://www.mql5.com/ru/forum/227736/page72#comment_25130501

Здесь тоже цвета смешиваются с фоном
https://www.mql5.com/ru/forum/451355/page5#comment_48450810
 
Nikolai Semko #:
https://www.mql5.com/ru/forum/227736/page72#comment_25130501

Здесь тоже цвета смешиваются с фоном
https://www.mql5.com/ru/forum/451355/page5#comment_48450810

Спасибо! Это очень крутые примеры! Значит я ошибался.

Я пока не смотрел подробно код, но почему в стандартном CCanvas прозрачность рисуется не так, как ожидается?

 
Anatoli Kazharski #:

Спасибо! Это очень крутые примеры! Значит я ошибался.

Я пока не смотрел подробно код, но почему в стандартном CCanvas прозрачность рисуется не так, как ожидается?

Там многое, что не так. 
Ощущение, что просто не допилили по причине увольнения программиста, который этим занимался. Возможно ошибаюсь.
 
Nikolai Semko #:
Там многое, что не так. 
Ощущение, что просто не допилили по причине увольнения программиста, который этим занимался. Возможно ошибаюсь.

Николай, а ты можешь сделать список того, что и как желательно изменить в стандартном CCanvas? По твоему мнению. Как есть сейчас, и как должно быть. И почему.

 
Artyom Trishkin #:

Николай, а ты можешь сделать список того, что и как желательно изменить в стандартном CCanvas? По твоему мнению. Как есть сейчас, и как должно быть. И почему.

нужен новый класс, в котором будет меньше функций, чем в CCanvas. Лучше этот класс максимально приблизить к JS canvas, в котором не очень много функций по сути, для простоты изучения и принятия, так как вся айтишка двигается в сторону вэба.
но это в идеале. 
сам бы, наверное, мог написать подобное, но заняло бы не меньше полгода full-time
хотя лично мне далеко не все нравится в JS Canvas, но для стандартизации было бы правильно реализовать что-то подобное с небольшими изменениями, чтоб обойтись без парсинга стрингов.

ЗЫ но для нормальной работы нужно переделать событийную модель MT5, так как она просто ужасная

Холст в MT5 по идее должен работать в два раза производительней, чем JS canvas. Но для этого (для нелагающего интерфейса) много что нужно менять внутри MT5, на что Ренат в жизни не пойдет. 

HTML Canvas Reference
HTML Canvas Reference
  • www.w3schools.com
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
 
Nikolai Semko #:

нужен новый класс, в котором будет меньше функций, чем в CCanvas. Лучше этот класс максимально приблизить к JS canvas, в котором не очень много функций по сути, для простоты изучения и принятия, так как вся айтишка двигается в сторону вэба.
но это в идеале. 
сам бы, наверное, мог написать подобное, но заняло бы не меньше полгода full-time
хотя лично мне далеко не все нравится в JS Canvas, но для стандартизации было бы правильно реализовать что-то подобное с небольшими изменениями, чтоб обойтись без парсинга стрингов.

ЗЫ но для нормальной работы нужно переделать событийную модель MT5, так как она просто ужасная

То понятно, что всё "под нож", но всё же вопрос был немного в другом. Что желательно поменять/доработать в уже существующем классе...

 
Artyom Trishkin #:

То понятно, что всё "под нож", но всё же вопрос был немного в другом. Что желательно поменять/доработать в уже существующем классе...

сглаженные методы привести в чувство. Сейчас вроде есть даже функции в CCanvas, которые недокументированы.

 
Nikolai Semko #:

сглаженные методы привести в чувство. Сейчас вроде есть даже функции в CCanvas, которые недокументированы.

Правда? Не обращал внимания... Надо будет поглядеть на досуге...