MT5 on mac not using all cores when backtesting

 

Hey guys,

Do you know why when backtesting only one core is being used?


 
rotemy:

Hey guys,

Do you know why when backtesting only one core is being used?


According to a post on the StrategyQuant forum, it seems that MT5 only uses one core for simple backtesting (not optimization). This is also confirmed by a post on the MQL5 programming forum. However, if you are looking to speed up optimizations considerably, you can use the MT5 Multi-threaded capability when backtesting in the Strategy Tester1.

MT5 - how to use all the cores (agents)? - StrategyQuant Forum Topic
MT5 - how to use all the cores (agents)? - StrategyQuant Forum Topic
  • strategyquant.com
I have MT5. How can I use / activate all the cores at backtesting? I have 6 cores = 12 threads. I see at the backtesting in MT5, that just 1 core is working, the remaining 11 agents are just “ready” Thanks for the answers!
 
Dao Thi Thanh Nguyet #:

According to a post on the StrategyQuant forum, it seems that MT5 only uses one core for simple backtesting (not optimization). This is also confirmed by a post on the MQL5 programming forum. However, if you are looking to speed up optimizations considerably, you can use the MT5 Multi-threaded capability when backtesting in the Strategy Tester1.

Thank you!

So basically we need to pay money to use multi cores for simple backtesting even though we have 9 free cores that are not in used, but obviously can be used?

 
My EA is running multiple currencies at the same time, is there a way to speed it up?
 
rotemy #:

Thank you!

So basically we need to pay money to use multi cores for simple backtesting even though we have 9 free cores that are not in used, but obviously can be used?

How do you come to this conclusion?

EDIT: see my next post.
 
rotemy #:
My EA is running multiple currencies at the same time, is there a way to speed it up?
You will have to optimize your code...

You cannot speed up the backtest process with more cores.

Your EA is designed to run in one thread. This means it has only one execution pointer and therefore processes one instruction at a time, on one CPU core.

If you want your EA to run on multiple cores at the same time, you will need multiple EAs. - This is some really advanced coding stuff, most will probably not be able to implement in mql.


 
Dominik Christian Egert #:
You will have to optimize your code...

You cannot speed up the backtest process with more cores.

Your EA is designed to run in one thread. This means it has only one execution pointer and therefore processes one instruction at a time, on one CPU core.

If you want your EA to run on multiple cores at the same time, you will need multiple EAs. - This is some really advanced coding stuff, most will probably not be able to implement in mql.


I understand, thank you

Reason: