Algo Trading Infrastructure

 

Good Afternoon,

I would like to know what is the best computer set up for algorithmic trading.

I recently developed an algorithm but now I'm in the process of parameter selection which will require me to backtest 28 different currency pairs simultaneously. Ideally I would like to conduct this on every tick and use multiple indicators to filter out potential trades. I recently purchased an iMac 24 with 1TB and 16GB of unified memory although it is not processing historical data as fast as I thought. I currently use the Mac version of MT5 and downloaded every tick information through this platform. When using normal indicators with 'open prices only' I can backtest 12 months of data within 10 seconds although the moment I use custom indicators such as KAMA or Money Flow Index, it takes longer than 45mins. The weird thing is, other custom indicators don't slow the backtest at all like the Aroon and Efficiency Ratio. 

How can I speed up the speed of these backtests? Specifically when using certIain custom indictors. Some of them don't impact speed whereas others make it take 1000x longer. Should I download Parallels and use the MT5 Windows version? Should I be using an SSD to improve RAM? Or should I purchase another computer? Are there other solutions? Or is this the best I can do?


Much appreciate the help in advance!

 
Back test will do your code throught the each detail in the ticks data.
So, if you looked again to your code then it might contains huge steps.. 
So it is Normal to get more time in back test. 

In addition, if you have the source code for any custom indicator then you can anyhow to include in the EA itself, this could improve the test speed. 

Also, some back tests can be done ALL in one time by downloading the historical data one time only (in your case 28 currency pairs) but not using the standard meta trader back tester. So you can back test EURUSD, GBPUSD, USDJPY, GBPNZD and EURGBP all in one time by opening more than one meta trader. 
Note that is a hard process and very heavy on the PC/Laptop. 
 
LetsNetwork: How can I speed up the speed of these backtests? S
  1. EAs : Don't do per tick what you can do per bar, or on open.
    If you are waiting for a level, don't reevaluate, wait until price reaches it (or a new bar starts, and you recalculate.)
    If you are waiting for an order to close, only look when OrdersTotal (or MT5 equivalent) has changed.
              How to get backtesting faster ? - MT4 - MQL4 programming forum (2017)

  2. Indicators: Code it properly so it only recomputes bar zero (after the initial run.)
              How to do your lookbacks correctly. (2016)
              3 Methods of Indicators Acceleration by the Example of the Linear Regression - MQL5 Articles. (2011)
    Or, reduce Tools → Options (control+O) → Charts → Max bars in chart to something reasonable (like 1K.)

Reason: