Of course, you can't run a single test on multiple cores because this is a sequential process. Every single tick/bar should be processed after all preceding ones in their respective order. This can not be executed in parallel.
That's ok, but partially correct and does not answer to the question :-) , of course ticks are processed sequentially by OnTick() event handler, but suppose that i have 10 operations to do every single tick... can i dispatch those 10 operations on different threads? (one operation--> on thread...) .... one way could be call scripts; scripts are executed on separated thread, but i don't think is possible to call script from EA, what is possible to do is call functions included in classes (i done it but doesn't increase performances and ea still work on a single core).
MQL does not support parallelism inside. You have no means to run multiple functions of the same EA/script on separate threads/cores.
If you do not plan to distribute your EA on the market, you could create a custom .dll file (in c++ for instance) that will handle the parallelism.
In MQL you can import the .dll file and use it as a library.
you can use a server computer with multiple processors.
example one computer has 100 processors
please read the question before answering :-)
did you tried? if yes did you had all cores working in single test? (not optimization)