Forex trading platforms MetaTrader 4 and MetaTrader 5
Have you been wondering about which are the best forex trading platforms?
It is noted that the industry of trading software is under the heavy domination of the MetaQuotes Corporation. It is realized that this is the company that created MetaTrader 4, which in shortened form is referred to as MT 4. Though MetaTrader 4 is indeed regarded as being the primary choice of those who are regarded as being professional traders, the truth is that other options do exist for traders, which have been created in the past few years.
MQL4 vs. MQL5 MQL4 and MQL5 programming language’s main difference is syntax because MQL5 is more similar to C++ than MQL4. MQL4 and MQL5 are excellent programming languages and great tools for traders. MQL5 is not better than an MQL4 programming language because, in 95% of real programming situations, programmers can code excellent in both languages.
Look at this example of Predefined Variables in MQL4 and MQL5:
MQL4 | MQL5 |
---|---|
double Ask | MqlTick last_tick; |
SymbolInfoTick(_Symbol,last_tick); | |
double Ask=last_tick.ask; | |
int Bars | int Bars=Bars(_Symbol,_Period); |
double Bid | MqlTick last_tick; |
SymbolInfoTick(_Symbol,last_tick); | |
double Bid=last_tick.bid; | |
double Close[] | double Close[]; |
int count; // number of elements to copy | |
ArraySetAsSeries(Close,true); | |
CopyClose(_Symbol,_Period,0,count,Close); | |
int Digits | int Digits=_Digits; |
double High[] | double High[]; |
int count; // number of elements to copy | |
ArraySetAsSeries(High,true); | |
CopyHigh(_Symbol,_Period,0,count,High); | |
double Low[] | double Low[]; |
int count; // number of elements to copy | |
ArraySetAsSeries(Low,true); | |
CopyLow(_Symbol,_Period,0,count,Low); | |
double Open[] | double Open[]; |
int count; // number of elements to copy | |
ArraySetAsSeries(Open,true); | |
CopyOpen(_Symbol,_Period,0,count,Open); | |
double Point | double Point=_Point; |
datetime Time[] | datetime Time[]; |
int count; // number of elements to copy | |
ArraySetAsSeries(Time,true); | |
CopyTime(_Symbol,_Period,0,count,Time); | |
double Volume[] | long Volume[]; |
int count; // number of elements to copy | |
ArraySetAsSeries(Volume,true); | |
CopyTickVolume(_Symbol,_Period,0,count,Volume); | |
We can see that MQL5 is complicated than MQL4. MQL4 syntax, in some cases, is better and faster than MQL5.
MetaQuotes PlatformsRegardingo conducting trading on the forex market via the internet, most brokers tend to supply diverse trading platforms. However, the outcome is that most people tend to choose MetaTrader 4. It was almost ten years ago that the software had been created. At this present time, the MetaQuotes Corporation offers two key trading platform selections, which are considered to be MetaTrader 4 along with MetaTrader 5.
MetaTrader4
Metatrader 4 is regarded as being a platform that was particularly crafted with forex trading in mind. Because the retail forex is quite a novel industry, there was no accessible software by third parties that was reliable until the arrival of MetaTrader 4. This trading platform is ultra-reliable and allows traders to have access to many highly beneficial features. They consider that trading is done with just one click, the provision of more than fifty indicators, access to many advisors who are real experts, limit orders, pending orders, nine varied time frames, and multi charting.
It cannot be denied that there are some impressive advantages of the usage of MetaTrader 4. Many people choose this platform due to its powerful stability. This makes the platform dependable and trustworthy. Moreover, there are some mighty mobile apps. The applications will function for almost all operating systems, such as Windows, Android, and iOS. The mobile versions also provide a high level of stability.
Sometimes, some brokerage firms may present a wider array of spreads about the MT4 platform than the tighter array of spreads presented via their primary trading platform as the brokerage firm grants various trading platforms for traders’ trades. Also, some traders who are regarded as professionals tend to claim that the platform operates slower than other platforms where they conduct their trades.
Though MetaTrader4 is rather powerful as a platform on its own merit, it is realized that there is a plugin for this platform that Admiral Markets provide. It is noted as being referred to as the MetaTrader4 Supreme Edition Add-On. This add-on supplies traders with more than fifty extra tools. The plugin dramatically improves the advantages of engaging in the usage of MetaTrader 4. It also provides wider access to a one-click trading option that is more flexible. It is referred to as the mini-terminal. You will discover the accessibility of new orders,s such as OCA orders. Further, you can conduct the dragging and dropping of taking profits and stop losses regarding the trades you have conducted.
MetaTrader5
MetaTrader5 is considered to be somewhat like MetaTrader 4. It is classified as being one of the top best-performing trading platforms for the forex market at this present time. MetaTrader 5 has a faster rate and allows for the provision of a wider span of different orders. It also grants the provision of more indicators and also allows access to extra features. While this is a superior platform, it is noted that there are not any significant or revolutionizing elements that can cause MetaTrader4 to experience redundancy. MetaTrader 5 is an impressive selection for brokers and traders because it can manage many more trading elements than MetaTrader 4.
Though MetaTrader 5 is indeed much like MetaTrader 4, the reality is that some diverse advantages are not part of other trading platforms regarding the forex market. MetaTrader 5 empowers the traders to view twenty-one varying timeframes. There is the provision of eleven distinctive minute charts, such as the usage of M1, the usage of M2, the usage of M3, and the usage of others. Also, there is the provision of seven varied hourly charts designated as the H1 hourly chart, the H2 hourly chart, the H3 hourly chart, and others. Also, there is the usage of daily charts, weekly charts, and even monthly charts. On the other hand, the majority of trading platforms, including MetaTrader 4, offer the provision of just nine-time frames.
MetaTrader5 is a great choice for traders; thus, it provides six kinds of pending orders. This considers orders categorized as selling stop, buy stop, sell limit, buy limit, sell stop limit, and buy stop limit. MetaTrader 4, along with other platforms for trading on the forex, usually only grants four kinds of pending orders. When you engage in MetaTrader 5, you can switch from the mode for hedging to netting mode. The mode for hedging permits you to access trades in positions that are opposing each other. This has contributed to the revolution of the options for trading on the forex market. This platform also grants the function for the viewing of the depth of the market. This permits the traders on the forex to see the bids and the offers set at varied prices regarding the financial instruments.
Here’s what you should know about Metaquotes language MQL4 MQL5
Are you looking for some integrated programming languages that can be used in developing trading robots, scripts, technical market indicators, and function libraries, etc.? If yes, you can use MetaQuotes Language 4 (MQL4) and MetaQuotes Language (MQL5). These two languages are used in conjunction with the MetaTrader software.
Are you wondering what the primary objectives of these two languages are? Well, they are mostly used in the automation of trading and operational analysis. Rest assured that both of these two languages are backed by an extensive codebase, including source code and library.
History of Metaquotes language MQL4 MQL5
MetaTrader platform was developed and released by MetaQuotes Software on July 1, 2005. This platform was meant to perform trading in financial markets. Now, MQL4, which is an object-oriented programming language, is designed to work on this platform. At the initial stage, the MQL4 language is used to follow the syntax of C.
Next, MetaTrader 5 was released in 2010 along with the MQL5 – a new language. In 2014, MetaTrader 4 600 builds were released, which brought some major new language updates. MetaEditor (the development environment) was unified to support MQL4 and MQL5.
MQL4 vs. C++
MQL4 is a different programming language than C++, and advice is to learn from scratch this programming language. However, if you have experience with the C++ MQL4 language, it will be easy to learn and apply.
The updated version of MQL4 (600 builds) offers new functions and graphical objects, mostly used to analyze different charts. In addition to it, the protection system was completely modified to execute EX4 files. Speaking of the similarity between MQL4 (600 builds) and MQL5, the entire standard library is almost transferred from MQL4 to the updated MQL4 (except the trade subsystem). In addition to it, new data types are also introduced to MQL4. You will also find the micro substitution systems expanded like #ifndef, #ifdef, #endif, and #else. In this way, MQL4 (600 builds) is made suitable to use on the code of other languages like C++ and C. In this build, you will even get many classes, object pointers, and structures added. Note that the updated MQL4 offers a strict compiling mode, which further helps you detect and avoid potential programming errors.
Coming to MQL5, this strict compiling mode is automatically available to I,t, and it can’t be disabled. Also note, both MQL5 and updated MQL4 support object-oriented programming concepts except the following topics, such as overload, multiple inheritances, polymorphism, extensibility of types, virtual functions, and encapsulation.
MQL4 vs. MQL5 Compiler
Do you want to know more about the compiler used to compile the above two programming languages? Well, it’s MetaEditor. This compiler will be embedded in the development environment. For example, it’s automatically integrated with both MetaTrader 5 and MetaTrader 4 trading terminals. Now, for your quick reference, this compiler allows the convenient editing of the source code, profiling code, developing joint applications remotely in conjunction with other developers, and automatically generate projects by using a template.
Difference between Metaquotes language MQL4 MQL5
In the above sections, you have already revealed the similarities between MQL4 and MQL5. In the below sections, you will mostly find the fundamental difference between them.
The first and foremost difference lies in their trading system setup. For instance, MQL5 should be used to design a positional system. On the contrary, MQL4 should be used to implement trading programs of an order system.
Apart from that, the MetaTrader 5 trading terminal has defined clear delimitations about these two trading programming languages on topics like order, deal, and position. Note, the order is known as a request that can execute a trading operation. The order can lead to a final trading deal. And, all aggregate deals of a certain financial instrument are termed as position.
In MQL5, you will find a list of expanded trading functions that can be used on open orders, order history, deal history, and open positions. But, in MQL4, different functions are available to perform the above actions, such as OrderClose(), OrderModify(), OrderSend(), OrderDelete(), and OrderCloseBy(). You can use these functions to open, close, and delete pending orders.
In MQL5, the OrderSend() function is used to carry out all trading operations by sending trade requests. Now, the parameters of this function can vary depending on your trading programs. MQL5 also enables asynchronous trading operations by introducing a new function — OrderSendAsync().
Data types of Metaquotes language MQL4 MQL5
Here’re some of the common data types that you can use in both MQL4 and MQL5.
* integers
* literals
* boolean/logical
* floating point
* strings
*Date and time
* enumeration
* color
In MQL4/MQL5, you can also use structures and classes as well. Note, these are complex (abstract) data types. These abstract data types support the following features and characteristics.
* Keyword class should be in the declaration
* Supports inheritance
* The class members will have private access by default,t and the structure members will have public access
* Class objects will have virtual functions, but structures won’t have it
* New operators can be applied to the class objects, not the structures.
Capabilities of Metaquotes Language mql4 and mql5
Note, MQL4/MQL5 aims to help you address all the needs and requirements of a trader. These programming languages were developed for writing and executing trading programs. The common functions for performing trade operations are OrderClose(), OrderClose(), OrderModify(), OrderCloseBy(), and OrderDelete().
Please reveal the common four program types in MQL4/MQL5 below:
- Expert advisors: This program type should be used for automatic systems trading cases. It follows the pattern of a coded algorithm and the use of specified parameters. Examples of actions where expert advisors can be used: receiving a new tick, alerting new trading operations, clicking a mouse, and pressing a button.
- Custom indicators: The user s should use this program type and should be used along with some ready-made indicators. They typically do not perform any trading operation s, and their part is analytical. Examples of actions where custom indicators can be used: to monitor a situation, to reflect it, to interpret it, and then to submit it for analysis to a trader.
- Scripts: This program type is used to perform the single execution of some specified actions.
- Custom function libraries: This program type allows you to create #include files. These include files used in various functions and classes instead of pasting the program’s direct source code.
MQL4 vs. MQL5 Syntax
Although the syntax of MQL4 and MQL5 are similar to c++, there are some differences. They don’t have pointer arithmetic, goto operator, multiple inheritance, and anonymous enumeration.
Text formatting: Well, you can use space symbols (like tabs, spaces, and empty strings) to make the code readable and convenient. However, please do not use space symbols inside identifiers, keywords, and constants. Also, don’t use a line break symbol after a hash.
Comments: Both single-line and multi-line comments can be used. For single-line comments, they start with // symbols and end with newline characters. For multi-line comments, it starts and ends with /* and */ characters.
Identifiers: This is used to name a function or a variable. Their length must not exceed 63 characters, and they can include the following characters, such as numbers 0-9, lower case letters, upper case letters, the underscore character, etc. You can’t use a number as the first character while defining an identifier.
Expressions and objections
Common operations like binary, bool, and arithmetic are present in MQL4 and MQL5.
Disadvantages
There is a major disadvantage of these languages. They can’t create independent applications as these languages should be based on their corresponding platforms. And, it’s compatible with only.EX4 and.EX5 file extensions.
Conclusion
MQL4 vs. MQL5 analysis showed that both languages are as good as tools and easy languages for programming. MQL5 is not better than MQL4, and the proof is that most programmers use Metatrader 4 and MQL4 as a based programming language.