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
How do you do that?
Just reproduced the brakes when 6/8 Agents were running.
Just reproduced the brakes when 6/8 Agents were running.
I.e. problem when CPU is loaded.
MQ-Demo, 20 charts, b2656. Only Terminal is running on the machine, Tester is not running.
Just reproduced the brakes when 6/8 Agents were running.
I.e. the problem is when the CPU is loaded.
Is this new information for you?
Is this new information for you?
I don't fully understand why it's impossible to get around these CPU load lags. Probably incompetent to do so.
However, below is a clean test that shows the problem of price data relevance in MT5. I have provided the code with comments. Briefly, the ticks are taken via SymbolInfoTick/stack and checked against each other. Particularly, to avoid gaps and large lags between identical ticks from different sources.
Result (only one MT5-b2656 running on the machine, CPU load around zero, one chart, Tester not used).
Please confirm the playback.
Intermediate total for a fast unloaded machine.
Question to the Developers.
Suppose SymbolInfoTick was executed for 5 ms. Will the tick correspond to the current time, or 5 ms before that?
The SymbolInfoTick brakes are closed. The upshot is this.
If the CPU is overloaded (like Optimize not even on all cores), SymbolInfoTick may take up to tens of milliseconds to complete. There is no answer why this most popular function in the Terminal doesn't snapshot regularly. If possible, make snapshots of it. And do not forget that even at zero CPU load the OnTick function may work tens of milliseconds later than a tick that comes to the Terminal.
All in all, rather sad, but it can't worry those who trade primitively.
The SymbolInfoTick brakes are closed. The upshot is this.
If the CPU is overloaded (like Optimize not even on all cores), SymbolInfoTick may take up to tens of milliseconds to complete. There is no answer why this most popular function in the Terminal doesn't snapshot regularly. If possible, make snapshots of it. And do not forget that even at zero CPU load the OnTick function may work tens of milliseconds later than a tick that comes to the Terminal.
All in all, quite unfortunate, but it cannot bother those who trade primitively.
For those who trade "not primitive": the hardware has to be up to the task.
"not even on all cores" - are you talking about "6/8"? i.e. 6 processes, and each of them 100% loads one CPU core for the duration of the test? And there are only 4 physical cores? And sincerely surprised that on such background the test "lags"?
If this is indeed your level of understanding, then: "Learn, learn and learn again".
If you want to rape CPU with 16-20 threads - buy CPU with 20 physical cores at least.
For those trading "not primitive": the hardware has to be up to the task.
"not even on all cores" - are you talking about "6/8"? I mean 6 processes, and each of them 100% loads one CPU core for the whole test time? And there are only 4 physical cores? And sincerely surprised that on such background the test "lags"?
If this is indeed your level of understanding, then: "Learn, learn and learn again".
If you want to rape CPU with 16-20 threads - buy CPU with 20 physical cores at least.
I'm sure I can prove that getting your current prices is very slow. The CPU load creates such sluggishness only because of incorrect implementation of the most important function in MQL5.
I'm sure I can prove that your implementation of getting the current prices is very slow. The CPU load only creates such slows down due to incorrect implementation of the main function in MQL5.
Test code:
Prove it.