MT4 or MT5 for trading Forex Algorithm trading?

Why MetaTrader 4?

There are many software that we can use to build and implement Trading Robots..MT4 is the most suitable for someone new to algorithmic trading.

Advantages

  • Free This is the most important reason.
  • Free data  This is the second most important reason. We can get free live data from the Broker and historical data is available from Metaquotes and online sources like Dukascopy. Many other trading software require us to buy past and live data from either the broker or external vendors. This is not only costly but it is inconvenient (especially when starting out).
  • Access to different markets We can test and trade FX, Equities Indices, Equities (Stock), Commodities and Fixed Income. (Other than FX the rest are CFDs)
  • Ease of learning the coding language The MQL4 language is similar to C++. There are many libraries and resources available online to guide new coders.

Disadvantages

  • Lowest bar is 1min   Fortunately with a bit of magic (coding) we can create charts of a lower than 1min timeframe,

  • Cannot backtest strategy that trades multiple instruments  If your strategy requires you to fire trades on multiple instrument, it cannot be backtested on one EA. However, it can be run live using one EA.
  • Difficulty doing statistical analysis  It is difficult to incorporate statistical elements in the EA. However, we can carry out statistical analysis on the data using excel or other statistical software.


Why not MT5?

The main reason we use Metatrader 4 over Metatrader 5 is because most brokers support the former
but not the latter.
Some differences between MT4 and MT5:
1) Different coding language (MQL4 vs MQL5). MQL5 is more difficult to pick up for beginners
2) MT4 has been around longer and has greater online coding support. There are many code
libraries, templates and examples for MT4
3) MT5 has a more powerful optimisation engine
4) MT5 allows peer-to-peer bandwidth sharing for optimisation (meaning you can use other
user's PC computing capacity for your optimisation)
5) MT5 allows trading of stocks, futures and options
6) MT5 does not allow external data import (This is deal breaker as data management is a huge
component of backtesting)

Other possible software

Amibroker
Multicharts
Ninja Trader
TT X Trader
CQG
Trade Station
Quantopian
MATLAB
Excel

Reasons not to use these software includes, but is not limited to:

1) Cost
2) Difficulty of learning the coding language
3) Complicated user interface
4) Backtester and optimiser not included. Only running of live robots allowed.
5) Software not designed for building and trading robots. Need to build the backtester from
scratch
6) Limited access to markets
7) Poor community support and documentation

Comments