- MQL program execution environment
- How to Create an Expert Advisor or an Indicator - Algorithmic Trading, Trading Robots
- Resources
Tola Moses Hector:
The "multi-core for backtesting" claim doesn't quite fit as an improvement, because a single pass can't be parallelized across cores due to the sequential dependency of ticks.
Multi-core is particularly useful for optimization, and that already exists. That's why I don't think that point in the survey is very accurate.
Miguel Angel Vico Alba #:
[A] single pass can't be parallelized across cores due to the sequential dependency of ticks.
Not to be obtuse but when you say ticks, do you mean only ticks?
I mean... Would it be possible to enable parallelization across cores for OHLC data without blowing up the rest of the MT5 Tester?
Ryan L Johnson #: Would it be possible to enable parallelization across cores for OHLC data without blowing up the rest of the MT5 Tester?
The "ticks" part was just an example, since most of us try to get as much realism as possible in backtesting.The real issue isn't ticks vs OHLC, but the fact that a backtest is stateful: each step depends on the previous one, including the EA's internal state, positions, and events. Because of that sequential dependency, you can't split a single pass across multiple cores without very heavy state replication and synchronization. With optimization it's different, because each run starts clean and doesn't depend on the others, so parallelism actually works there.
Miguel Angel Vico Alba #:
The "ticks" part was just an example, since most of us try to get as much realism as possible in backtesting.
The real issue isn't ticks vs OHLC, but the fact that a backtest is stateful: each step depends on the previous one, including the EA's internal state, positions, and events. Because of that sequential dependency, you can't split a single pass across multiple cores without very heavy state replication and synchronization. With optimization it's different, because each run starts clean and doesn't depend on the others, so parallelism actually works there.
Thanks for clarifying. You are Metaquotes' free techie. 😉
The "ticks" part was just an example, since most of us try to get as much realism as possible in backtesting.
The real issue isn't ticks vs OHLC, but the fact that a backtest is stateful: each step depends on the previous one, including the EA's internal state, positions, and events. Because of that sequential dependency, you can't split a single pass across multiple cores without very heavy state replication and synchronization. With optimization it's different, because each run starts clean and doesn't depend on the others, so parallelism actually works there.
Ryan L Johnson #: Thanks for clarifying. You are Metaquotes' free techie. 😉
It's a pleasure to help where I can, even if it's not always possible.
In short, to close the point you raised: splitting a single pass across multiple cores would be inefficient, because the overhead of exchanging and synchronizing state between threads would outweigh the actual computation of the test itself.
1. provide more than 8 digits for custom symbols, some cryptos has more than 10 digits precision..
2. provide charts that support seconds and display time in local time
Urgently needed to stay competitive with otger modern charting solutions.
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register