Canvas - это круто! - страница 48

 
Nikolai Semko:

https://www.mql5.com/en/code/27662

обратите внимание на скорость и размер кода. 
И это все без Direct X

Оооо, вот это круть. Безсмысленный, но очень интересный способ визуализации!
 
Nikolai Semko:

Спасибо всем!


код этой 3D графики и управление вращением умещается весь в этой функции:

На входе этой функции только массив цены. В коде сможет разобраться даже школьник. Одномерный массив цены преобразуется в в 3 мерный массив точек. В котором измерение z- это по сути номер элемента массива, В плоскости XY цена представлена в полярной системе кооднитат, где расстояние r=sqrt( x 2+y 2) до центра (0,0) это и есть значение цены.

За выбор цвета отвечает эта функция:

на входе которой p - это число от 0 до 1, а на выходе выбранный градиентный цвет. Сам скелет цветового шаблона в данном случае состоит из 6 цветов (массив Col)

С цветом полная свобода, раскрашивайте как хотите и что хотите

Спасибо за код! Я в этих красивостях мало разбираюсь, а благодаря Вашим изысканиям в этой области идеи, казавшиеся невоплатимыми, становятся вполне реализуемыми. Как только появится время, то займусь применением кода для визуализации активации листьев дерева решений.

Кстати, а есть ли у Вас наработки по обратному взаимодействию с графиком? Допустим построили 3d график по результатам оптимизации, а потом берем и мышкой выделяем области, которые нам интересны, разбиваем как бы график на полигоны, и вот понравившиеся участки сохраняем в массив в виде набора параметров советника и результатов оптимизации. Такой подход дал бы настоящий смысл визуализации результатов оптимизации, по сравнению с вариантом от MQ.

 
Maxim Romanov:
Оооо, вот это круть. Безсмысленный, но очень интересный способ визуализации!

Да, я здесь уже писал об этом. ))

 
А Digger на canvas можно сделать?
 
Nikolai Semko:

Очередная бесполезная поделка, но зато красивая ))

https://www.mql5.com/en/code/27641

А мне кажется, что весьма интересно.

Сейчас надо разрезать её вдоль и заполучить профиль.

 
Nikolai Semko:

Да, я здесь уже писал об этом. ))

Я делал подобное в экселе, но мне понравилось именно, что вращать можно)
 
Aleksey Vyazmikin:

Спасибо за код! Я в этих красивостях мало разбираюсь, а благодаря Вашим изысканиям в этой области идеи, казавшиеся невоплатимыми, становятся вполне реализуемыми. Как только появится время, то займусь применением кода для визуализации активации листьев дерева решений.

Кстати, а есть ли у Вас наработки по обратному взаимодействию с графиком? Допустим построили 3d график по результатам оптимизации, а потом берем и мышкой выделяем области, которые нам интересны, разбиваем как бы график на полигоны, и вот понравившиеся участки сохраняем в массив в виде набора параметров советника и результатов оптимизации. Такой подход дал бы настоящий смысл визуализации результатов оптимизации, по сравнению с вариантом от MQ.

я уже писал почти об этом букватьно час назад.
Создаем нужные вам структуры или нужные массивы структур и передаем их через ресурсы в МТ для совместного доступа. У @fxsaber полно библиотек по этой тематике.

Или используем штатные индикаторыне буферы для доступа через iCustom. Тоже нормальный вариант. Вы в эти буферы можете также передавать любые струкруры и их массивы через union, а на приемной стороне нужен лишь класс-считыватель.

 
Maxim Romanov:
Я делал подобное в экселе, но мне понравилось именно, что вращать можно)

в тормозном экселе ничего близкого по производительности и по графике не сделать. Особенно если у вас миллионы значений.

 
Nikolai Semko:

в тормозном экселе ничего близкого по производительности и по графике не сделать. Особенно если у вас миллионы значений.

Нет конечно, там в статике все было. А значений да, когда делаешь 28 инструментов по миллиону значений, можно и пару минут подождать, пока график отрисуется
 
Nikolai Semko:

я уже писал почти об этом букватьно час назад.
Создаем нужные вам структуры или нужные массивы структур и передаем их через ресурсы в МТ для совместного доступа. У @fxsaber полно библиотек по этой тематике.

Или используем штатные индикаторыне буферы для доступа через iCustom. Тоже нормальный вариант. Вы в эти буферы можете также передавать любые струкруры и их массивы через union, а на приемной стороне нужен лишь класс-считыватель.

Ну вот я не понял, как на графике выделенный участок (и как его выделить по ломанной кривой) связать с массивом данных? Про остальной фарш самих данных не спрашиваю.

Причина обращения: