In the realm of professional applications few can rival the productivity of financial markets trading applications. These enable a person to make real time trades in any amount while 4000 miles away on the morning commute.
For the purpose of this topic we will be comparing FOREX MetaTrader offerings- the long used MT4 as compared to the newer MT5 introduction in an effort to determine what separates them from each other.
Much as you would do in comparisons of devices, applications must be compared in many areas to determine which would be the better choice.
When considering a mobile device typically you choose because yours is lacking a capability that the new one possesses. Most people have some idea what processor speed, memory, and operating system refer to. These factors are looked at with the knowledge that one will offer capabilities and performance over another. It is presumed technical specifications make one device ‘better’.
Selection of advanced applications, even free ones as used in this example, requires in depth comparison as well. Just as there are other factors to be compared besides aesthetics and ease of use with a device, the choosing of software applications needs basic understanding of the technology behind it.
The most popular financial trading application available for mobile devices is the FOREX MetaTrader4 and also the automated trading version of the MT4 platform. It allows for second by second analyses of markets and trades based on user selected criteria. The user can adjust that criteria at will based on feedback from the current days news, charts analysis or trading.
While far more complex, it can be simplified down to MT4 can take data from multiple sources, analyse this data in real time to determine indicators of market direction so the user can make trading decisions and transactions. As the most popular trading platform in the world, the FOREX MetaTrader 4 is accepted as being exceptionally good at manipulating raw data into true indicators of market tendencies and directions.
The FOREX MetaTrader 5 platform was introduced as (depending on who you ask) either an update as would be indicated by the name (MT5 from MT4) or a new platform entirely. First look at both will tell you very similar overall appearance and function and both do an admirable job of compiling raw data into actual market indicators. A wide range of indicators recognized in the financial worlds as valid predictors of market course and direction are included and both can have additional customised indicators added.
The discussion has been that there are few significant changes or improvements in MT5. Further, the customised indicators that individual traders have added to their MT4 platform do not transfer over to the MT5 platform so some feel they are actually losing functionality in the ‘upgrade’. This brings the valid question of what was the purpose of the new platform and why would you consider migrating to it?
Much as the example of devices running the application, the appearance and basic function is not the only factor to be considered. In that example, most agree actual processor speed, RAM, and OS have more value as a consideration than “pretty fast, seems to do what you need, modern”. The specifics are fact based as opposed to opinion and the facts give a good idea not only to what it can do now but what it will be able to do in the future.
This is the situation when comparing Metaquote’s MT4 to MT5. A decision must be made concerning what it can do now versus what it will be able to do in the future.
Much as the processor and operating system installed in a device dictate the end capabilities of the device, the programming format and language dictate the end capabilities of an application. The MT5 platform is based on a format referred to as Object Oriented Programming (OOP) as opposed the MT4 format which is Process Oriented Programming (POP).This factual difference changes the way they each process data and come to an end result.
Object Oriented Programming is done with a view that each concept is an object and that these objects need to be able to interact with each other independently or in combination with other objects using the method of interaction directed. The importance of the ‘object’ and its actual use can vary from one part of a program to another. Each object is an independent concept with a distinct role, and can be used in any order chosen by the programmer for a specific task, or be used simultaneously in different areas at the same time.
Process Orientated Programming is typically a long list of statements or commands with small interruptions as a subroutine processes the data to be used to execute the command. Commands must be performed in sequence. Data used must be accessed by different portions of the program and the calculations involving that data must be done repeatedly. In most cases the data can be altered or changed by one piece of the program and since the program goes in a predetermined sequence any change of the data requires the program to start over to alter all affected areas.
In simplified terms – an object may be ‘checking account’. An object oriented program will define ‘checking account’- it calculates the deposits and withdrawals and fees and keeps that updated constantly so any time another place in the program refers to ‘checking account’ all it gets is the correct balance. If the data changes (a deposit for example) the object ‘checking account’ does the change and instantly changes it everywhere in the program needed so there are no conflicts.
A process oriented program makes a change (such as a deposit) to a data field then recalculates a total. It must also go back to every place in the program that data is used and that part of the program has to recalculate as well. Because it is changing the data itself, any bug in the program can have global effects on the entire program. Not only can a single calculation be an error, it can make every calculation using that data wrong.
Using this background knowledge, we can apply it in the same way as knowing device specifics such as processor speed and RAM. Object Oriented Program structure gives the ability to handle much more complex data far more efficiently and to allow for the use of that data in a greater variety of ways while still ensuring the integrity of data being used.
Just as the electronics companies introduce phones based not only on what they can do at the moment, but what they anticipate you may want it to be able to do in the future, MetaQuotes introduced MT5 with an eye toward future capabilities as well as present in the ever evolving changes within the daily Forex market.