The MetaTrader 4 software is a popular user friendly electronic trading platform released in 2005. Even now in 2012 the software is still running the trading algorithms on only one thread, so my goal was to develop a framework that can utilize the power of recent GPGPUs using parallel programming. This means the CPU will become free of the trading calculations but the number of completed simulations will be expected to increase by a factor of 10 or more in the same time. During the the work, I have studied the basic stock exchange processes to understand user needs, and also studied both the Nvida CUDA technology and the programming interface of MetaTrader 4. I have analyzed the possibilities and made conclusions about the idea of developing a GPU accelerated trading algorithm test engine.
The result of my work is a simulation engine that can do backtests on historic price data, and can do this using hundreds of parallel threads. The simulation results can be exported for later analysis. The measurements verify that that using the GPGPU for this kind of tasks is indeed a good idea that saves time and even electric energy for the user.
The final conclusion is that to achieve the possible speedup offered by GPGPU technology the developed framework has to be standalone and independent from MetaTrader 4 and user-friendliness has to be restricted to maximize performance.