Does Meta Trader 4 support DUAL, QUAD or more CORES processors ?

 

What is better for the META TRADER 4 transaction server AMD or INTEL processor?
What MEMORY MODULES are better for META TRADER 4 DDR3 or DDR2 ?


Please for the answers for above 3 questions.

 
puncher:
Please for the answers for above 3 questions.

"Does Meta Trader 4 support DUAL, QUAD or more CORES processors?"

The long answer is complex, but the best short answer is no. The only processor-intensive part of MT4 in normal usage is the strategy tester, and that is single-threaded and will not take advantage of multiple cores.

Processing of the start() function in EAs is done in per-EA threads, and should scale out nicely across multiple cores. (However, MT4's trading operations are single-threaded. Multiple EAs can run at the same time in terms of having their start() function called, but cannot trade at the same time. See https://www.mql5.com/en/articles/1412)

Processing of indicators is done in a single thread per chart (I think). Therefore, complex indicator calculations on multiple charts will be spread across multiple cores, but complex calculations from multiple indicators on the same chart will not see a performance gain from multiple cores.



"What is better for the META TRADER 4 transaction server AMD or INTEL processor?"

No significant difference (to MT4 compared to any other application running on the computer).



"What MEMORY MODULES are better for META TRADER 4 DDR3 or DDR2 ?"

No significant difference (to MT4 compared to any other application running on the computer).

 

I understand than better to have Intel Pentium IV 3.6 GHz than Intel Core i5 2.66 GHz - have I right ?

 
puncher:

I understand than better to have Intel Pentium IV 3.6 GHz than Intel Core i5 2.66 GHz - have I right ?



That would be true if the single-threaded IPC (instructions per clockcycle) for the P4 was the same as the IPC for the Core i5. Or more technically, if the IPC of the P4 was no less than 0.74x (=2.66/3.6) that of the IPC of the Core i5 cpu.

I went from P4 to Core 2 Duo years ago and the performance delta was certainly greater than 0.74x (in favor of the Core 2 Duo). The performance delta has only improved in going from Core 2 Duo to Core i5, making the P4 even less favorably a selection.

But as jjc rightly points out, the vast majority of mt4 usage scenarios turn out to not be compute bound. I ran 11 (eleven) live accounts simultaneously off of a single 800MHz P3 laptop for nearly 2 yrs and did not have cpu resource issues.

Backtesting is a whole other story because it is single-threaded and usually compute bound. If you really want to speed things up you get a quad-core or hex-core cpu and setup as many simultaneous instances of MT4 as you have cores (or threads if hyper-threading is a factor) and manually split-up your backtesting parameter space across the multiple terminals for backtesting in parallel.

For live trading I'd have no problem using a P4, it will sit there at less than 10% cpu utilization rate anyways. For backtesting I'd get the Core i5.

 

Ok, I see that for back tests better one will be Core i3 or i5 but for real management the single Core will be enough.

Thank you.

 
jjc:

"Does Meta Trader 4 support DUAL, QUAD or more CORES processors?"

The long answer is complex, but the best short answer is no. The only processor-intensive part of MT4 in normal usage is the strategy tester, and that is single-threaded and will not take advantage of multiple cores.
...

1005phillip

Backtesting is a whole other story because it is single-threaded and usually compute bound. If you really want to speed things up you get a quad-core or hex-core cpu and setup as many simultaneous instances of MT4 as you have cores (or threads if hyper-threading is a factor) and manually split-up your backtesting parameter space across the multiple terminals for backtesting in parallel.

Given above, is possible to explain below when tester on optimisation run? NOTE:all cpu panes had same 2 bits: "(Node 0)" and "terminal.exe:2524" as shown for CPU 1. thanks in advance...

 

Sure, basically the linear calculations flow goes trough the cpu, by default a application can utilize as many cores as you have. i assume for temperature reasons, the the execution flow gets splited up across the cores. (they are not executed simultaneously, but one after one). This has some disatvantages:

1) Informations stored in the L1 cache are not shared between the cores.

2) AFAIK (lecture was long time ago) each cpu has a pipeline, where future calculations gets prepared or a part of them precalculated. Of course this pipeline is also not shared between cores. (Hyperthreaded cores share the same L1 and pipeline)

In conclusion i have seen a slightly increase in performance when binding MT4 to one core. (Could be done in the Task Manager-> Process Tab-> right click on terminal.exe-> Set CPU affinity)

i hope i was able to explain myself

Best regards

//z

 

@zzeugg

Your answer is interesting indeed. I am inspired to head off to Intel to learn more about the i5-2500 and learn more about what exactly is going on.

Thank you for your time taken. I'll do that single CPU affinity setting, at the moment all 4 are enabled. Will note the times and "...be prepared to be amazed!"

If notable info forthcoming, will post again. :)

Cheers

 
Yes, I set my affinities as well :)))) good info.
 

I ran a program http://www.tmurgent.com/download/Factorial.zip on the i5-2500 with various affinity perms.

The system had other apps running, most notable was chrome with 22tabs = crap test environment but nevertheless...

The program does 400 runs of 64000 factorial 500 times.

On completion it presents stats on middle third of these 400 runs.

tbh, seems a mute point given below results. Not a great test environment what with other apps going but think I'll stick with all core affinity settings (default) and just forget this issue - ;)

Each tester optimisation run using various affinities gives (almost) random timings. Even if kill off CT each time and rerun optimisation with same settings etc.

Think I've spent more time than will ever notice in speed increases (if any) by affinity tweaks - imho

after all, the i5-2500K is currently running at 3325MHz on 4GB 1600MHz ram and for me at least, this is a warp speed box... Especially when cmpd to my (thankfully) dead AMD Athlon (pseudo 2.8MHz :)

Affinity Middle Third Stat (ms)
0..393.7915
094.6226
193.5837
293.4591
394.7057
1,293.5006
1,2,393.4175
0,1,293.9577
 

I have been using one trick to make MT4 work faster on multi-core CPU machines.

This might help you as well.

https://www.mt4copier.com/improve-mt4-trade-copier-speed/
Reason: