1 EA is always executed on 1 thread (so 1 core).
With one core active the trades are executed in order, but when more than one core is active they are not.
Not sure what you are talking about ?
1 EA is always executed on 1 thread (so 1 core).
Not sure what you are talking about ?
I'm not at all sure what I'm talking about either :).
But I'm looking here to try to understand:
https://www.mql5.com/en/articles/341
Doesn't the example in that webpage show 1 EA being optimized on multiple cores?
If I run one EA with two local cores enabled, they both seem to do something (they both show progress on the Agents tab). But maybe they are both doing the same thing?
Thanks.

- 2012.02.07
- MetaQuotes Software Corp.
- www.mql5.com
I'm not at all sure what I'm talking about either :).
But I'm looking here to try to understand:
https://www.mql5.com/en/articles/341
Doesn't the example in that webpage show 1 EA being optimized on multiple cores?
If I run one EA with two local cores enabled, they both seem to do something (they both show progress on the Agents tab). But maybe they are both doing the same thing?
Thanks.
That's 1 EA running 2 times (or more) independently with different input parameters. An EA instance is "monolithic", running on 1 thread (core).
The only to use multi-threading inside an EA is with OpenCL, mql by itself doesn't allow it.
That's 1 EA running 2 times (or more) independently with different input parameters. An EA instance is "monolithic", running on 1 thread (core).
The only to use multi-threading inside an EA is with OpenCL, mql by itself doesn't allow it.
OK, I think it's becoming clearer now. Thank you.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I'm trying to understand if I can use multiple cores on this EA:
I read an array of trades from disk:
Buy ENQ on March 1
Buy ENQ on March 10
Buy ENQ on March 17
.....
Etc.
... and then loop through them, calling OrderSend() for each
With one core active the trades are executed in order, but when more than one core is active they are not.
Basically, I don't understand how the processor divides the work among the cores and would appreciate a pointer to that.
Thanks in advance.