OpenCl and the tools for it. Reviews and impressions. - page 2

 
Mathemat:

articul, you don't have to be so categorical. The world doesn't stand still. Modern monster graphics cards, based on your logic, should also be recognised as a consequence of a lack of ideas in image processing?

Sometimes I myself am glad to speed up - just to avoid waiting in code debugging for finishing heavy calculations, which are all in my code in init() (about 10 seconds). And all other calculations, which take place "on the fly", are really fast, so I don't need multithreading here.

I believe that this kind of power is necessary in order to test certain ideas. For example, it would be very interesting to look at the results of a forward test of the last 10 years for 32 currency pairs. And to really load the machine let's build the system on a small TF. Let us assume that it is M15. The optimization period is 8 weeks and Out of Sample is 2 weeks. Although, it will be more obvious at the chart:

If optimization takes 1 minute, we will spend approximately 138 hours. Number of steps (optimizations) is 8320. This is one trading strategy. And what if it is a portfolio? What if there is no system and we are searching for one? ))) From this point on it becomes clear that there is never enough power.

 
Mathemat:

I'm happy to speed up myself sometimes - just to avoid waiting during code debugging for finishing heavy calculations, which I have all in init() (about 10 seconds). And all other calculations, which take place "on the fly", really run very fast, so multithreading is not needed here.

It's probably possible to calculate them once and cache them?
 
tol64:

I believe that power of this scale is needed in testing these or those ideas {...} The number of steps (optimisations) is 8320.

Well, what if you want, for example, several hundred thousand runs? :-)
 
jartmailru:
It is probably possible to calculate them once and cache them somehow?

What is "cache" as applied to a simple MQL4?

I'm just debugging the code of the indicator. When I press F5 it recompiles again, but it only displays information after calculations, the vast majority of which are done in init().

Well, of course, you may save them into a file and read from there while debugging the code. But this is a bit cumbersome and in the wrong place.

 

Actually the idea is not so absurd, Alexey, the only question is the method of implementation.

After all, even the CPU has its own cache for a reason, and even more than one)

 

And how do you propose to do it - without referring to coding external to MQL4?

I already suggested - through files. But it's long and bothersome.

 

A cache usually implies RAM for quick subsequent data retrieval and modification.

In essence, it is a trivial database. Clearly, this will require additional capacity, but the performance gains can be substantial.

 
The only "RAM" that will survive recompilation, using MQL4 tools alone, is writing to global variables. Is that what you mean?
 

Not necessarily, for example, you could use the mapping already implemented by Junko. I'm not even talking about your specific task, just the principle itself seems quite rational to me.

 
I don't know what mapping is.
Reason: