Canvas is cool! - page 48

 
Nikolai Semko:

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

Note the speed and size of the code.
And that's all without Direct X

Oooh, that's cool. A pointless but very interesting way of visualisation!
 
Nikolai Semko:

Thank you all!


The code for this 3D graphics and rotation control fits all in this function:

The input to this function is only an array of prices. Even a schoolboy can understand the code. The one-dimensional price array is converted into a 3-dimensional array of points. In the XY plane the price is represented in the polar coordinate system, where the distance r=sqrt( x 2+y 2) to the centre (0,0) is the price value.

The colour selection is the responsibility of this function:

whose input p is a number from 0 to 1, and whose output is the selected gradient colour. The skeleton of the colour pattern itself in this case consists of 6 colours (array Col)

With colour you have complete freedom, color how you want and what you want.

Thanks for the code! I am little versed in these beauties, and thanks to your findings in this area, the ideas that seemed to be unpayable are becoming quite feasible. As soon as I have time, I will apply the code to visualize activation of decision tree leaves.

By the way, do you have any developments on interacting back to the graph? Suppose we have built a 3d graph based on optimization results and then select areas we are interested in using the mouse, break the graph into polygons and save the desired areas into an array as a set of EA parameters and optimization results. Such an approach would give a real sense of visualization of the optimization results as compared to the version by MQ.

 
Maxim Romanov:
Oooh, now that's cool. A pointless but very interesting way to visualise it!

Yes, I've written about it here before. ))

 
Can Digger be done on canvas?
 
Nikolai Semko:

Another useless craft, but beautiful ))

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

I think it's quite interesting.

Now you have to cut it lengthwise and get the profile.

 
Nikolai Semko:

Yes, I've written about it here before. ))

I did a similar thing in excel, but I liked the fact that you can rotate)
 
Aleksey Vyazmikin:

Thank you for the code! I don't know much about these beautiful things, and thanks to your research in this area, ideas that seemed unaffordable become quite feasible. As soon as I have time, I will apply the code to visualize activation of decision tree leaves.

By the way, do you have any developments on interacting back to the graph? Suppose we have built a 3d graph based on optimization results and then select areas we are interested in using the mouse, break the graph into polygons and save the desired areas into an array as a set of EA parameters and optimization results. This approach would give a real sense of visualization of the optimization results as compared to the version by MQ.

I almost wrote about this an hour ago.
Create the structures or arrays of structures you need and pass them via resources to MT for sharing.@fxsaber has a lot of libraries on this topic.

Or we can use the standard indicators for access through iCustom. Also a normal variant. You can also transfer any structures and their arrays through union to these buffers and the only thing you need on the receiving side is a class-reader.

 
Maxim Romanov:
I did a similar thing in Excel, but I liked the fact that you can rotate)

you can't do anything close to the performance and graphics in slow Excel. Especially if you have millions of values.

 
Nikolai Semko:

you can't do anything close to the performance and graphics in slow Excel. Especially if you have millions of values.

No, of course, everything was static there. And yes, when you make 28 tools for a million values, you can wait a couple of minutes for the graph to be rendered
 
Nikolai Semko:

I almost wrote about it an hour ago.
Create the structures or arrays of structures you need and pass them via resources to MT to share. @fxsaber has plenty of libraries on this subject.

Or use the standard indicators not buffers for access via iCustom. This is also a normal variant. You can also pass any structures and their arrays to these buffers via union, and the only thing you need on the receiving side is a reader class.

Well, I don't understand how on the diagram the selected area (and how to select it by a broken curve) can be linked to the data array? I'm not asking about the rest of the stuffing of the data itself.