Once again, about multithreading - page 6

 
dd:

so it's not just the warrant send, there are a bunch of other checks being done. But all of them are queued up until one function finishes, the other is not executed ....

I described it all in the terms of the problem. And it's a complex task. DLL or chats or whatever - what interests me is the scenario in which I can parallelize these tasks and keep running in the tester to understand the situation ...

You must decide whether you came for the light, or to tell everyone what must work and how it must work.

I have no desire to go on solving your problem, you know better what must be done and how it must be done.

Good luck!

 
Andrey Khatimlianskii:

You have to decide whether you are here for the light or to tell everyone what should work and how it should work.

I have no desire to continue solving your problem; you know better what needs to be done and how to do it.

Good luck!

no practical advice has been offered on the terms of the problem... Good night to you too...
 
Andrey Khatimlianskii:

You have to decide whether you are here for the light or to tell everyone what should work and how it should work.

I have no desire to continue solving your problem; you know better what needs to be done and how to do it.

Good luck!

my dear dear, my beautiful sunshine, have you read the problem? it is clearly described there - in the loop, besides the Send order in one second, a lot of other tasks have to be done - for example to close 500 000 orders or not to close - check ... 0.1 lot, 50 000 deposit, are you good with maths? And yes, it's synthetic. But your advice is worthless.
 
dd:

It takes me 5 days to run this strategy in the tester with 24 cores at my disposal. And only one core works. Not to mention the fact that the log, no one needs a stupid log for that time may get bloated into a couple of terabytes. And all this without optimizations. And this stupid log can't be disabled in any way ...

How do you think if I accelerate the process so say - 4 schedules, each at its core - an increase in this point 4 times. Plus a separate process for closing 1000 trades, say, or breaking this process down to 5 or 10 threads - a 10x increase. Plus a separate process for opening positions by signals ...

I think multiple and times ...

But every millisecond + lag to broker + lag from broker to exchange (if it's not a kitchen) is a huge loss. It is strange that this is not understood in Siberia...

One pass in the tester in 5 days? This is an outstanding case))

 
Dmitry Fedoseev:

One pass in the tester in five days? This is an outstanding case))

well, when you have one trade and wait five minutes nothing outstanding ... but when there are thousands of them per second, nothing outstanding :)
 
dd:
Well, when there is one transaction and we wait five minutes for nothing outstanding ... but when there are thousands of them per second, nothing remarkable :)

Run optimisation, at least 24 passes and all cores will be busy. Therefore, there is no point in paralleling anything in a single pass.

 
Dmitry Fedoseev:

Run optimisation, at least 24 passes and all cores will be busy. Therefore, there is no point in paralleling anything in a single pass.

You're confusing the cold with the hot. I will start optimization when I need it. Right now I want to achieve optimal code execution with the current EA, which has a bunch of actions at every second. Don't confuse parallelism in "optimization" and parallelism in a single EA ... These are two big differences. You are always trying to say that you may run one and the same script in parallel ... I'm not arguing with that and nobody is arguing with that. This topic is about something else - how to use multiple cores in execution of one script.
 
dd:
This topic is about something else - how to use multiple cores in the execution of a single script.
The code must already be written to use multiple threads! There is no other way.
 
Aliaksandr Hryshyn:
The code should already be written to use multiple threads!
No question, and I'm asking for a poke in the nose how to do it. But after reading, not just this thread, I realised that it's not that simple. I have described my task as clearly as possible - and I would like to hear the recipe.
 
dd:
no questions asked, and I'm asking for a poke at how to do it. But after reading, not just this thread, I realised that it's not that simple. I have described my task as clearly as possible - and I would like to hear the recipe.
There may be different recipes, the most ideal, according to the wording of the problem, is the use of dll with his writing calculations in the indicators. But this is complicated and not worth it... But you need to know exactly what kind of code you have there.