Choosing a trading platform is one of the most important decisions a starting trader can make. Your trading platform determines how quickly you receive trading data, how clear it is, what assets you can trade, and what tools you can use. The most popular platform by far is MetaTrader, developed by MetaQuotes Software Corporation. The problem is that there are two versions of the platform that are currently actively used by traders: MetaTrader 4 and MetaTrader 5. Which one is better for you? This article provides a comparison between the two platforms and, hopefully, will help you to answer that question and choose a platform that is more suited to your trading style.
History of development and significance for traders
Release and development
MetaTrader 4 was released in 2005 and quickly became popular among Forex traders, to whom it was primarily aimed. The active development ceased around 2017/2018. That does not mean that it was completely abandoned, though. MetaQuotes Corporation continues to release security improvements, error fixes, and stability enhancements. But the platform will not be receiving new features in the future and will be lagging more and more behind its successor in capabilities as time goes on.
Furthermore, MetaQuotes Corporation ceased to sell licenses for MetaTrader 4 to new brokers in 2023. This means new brokers will not be able to offer trading in MetaTrader 4, and only those brokers that already have the license can continue using it.
MetaTrader 5 was released in 2010 as the new and improved version of the MetaTrader platform. And it is the only version nowadays that continues to receive significant updates and new features. And also, the only version new brokers can offer, as it is the only version MetaQuotes licenses now.
As MetaTrader 4 is going to become more and more outdated with each passing year, it looks like MetaTrader 5 is the only logical choice as a trading platform. But the lack of new features and significant updates for MetaTrader 4 can be a boon from a certain point of view. You will never have a need to relearn the platform after a significant rework or an interface change. And new traders or those traders who use uncomplicated trading strategies may simply have no need for some new and fancy features. So, if you want a tried-and-true tool, which you need to learn just once, you should choose MetaTrader 4. If you want the most up-to-date experience and the newest features, MetaTrader 5 should be your platform of choice.
Market adoption
MetaTrader 4 and 5 are by far the most popular trading platforms. Combined, they have more than 50% of the market share. The vast majority of Forex brokers offers at least one of the versions of the MetaTrader platform, though both are often available.
Initially, MetaTrader 4 was more popular than MetaTrader 5 due to a robust developed ecosystem and an established community of traders, and it kept the first place among the most popular trading platforms for many years. But MetaTrader 5 was slowly catching up to its predecessor as the growing number of custom expert advisors and indicators created by third-party developers, along with wider market adoption, made MetaTrader 5 increasingly appealing to traders. According to some recent industry data, MetaTrader 5 overtook MetaTrader 4 in popularity not so long ago.
Ultimately, both platforms have strong market adoption, so you cannot go wrong with either of them. MetaTrader 4 has a more mature and established community of traders and developers who program robots for the platform, due to its being older. But it will be shrink as the platform becomes increasingly outdated with each passing year. Meanwhile, the community around MetaTrader 5 continues to grow and will likely continues to do so in the foreseeable future. Therefore, sticking to MetaTrader 5 looks preferable in the long run. But MetaTrader 4 still remains immensely popular and will not go away anytime soon. And that means, if you choose MetaTrader 4, you can feel safe in the knowledge that MT 4 will still be usable for many years.
Technical details
System requirements
MetaTrader 4 is a 32-bit single-threaded application. While it makes the platform's system requirements lower, it also means MT4 is unable to utilize modern multi-core processors to their full potential, as the application can only use a single core.
MetaTrader 5 is a modern 64-bit application with multi-threaded processing capability. This means that it has higher system requirements but can also fully utilize modern, faster processors.
Considering the aforementioned factors, MetaTrader 4 is better for older and slower PCs as well as for simpler automated trading strategies, manual trading, and trading with a small number of assets. MetaTrader 5 will run more slowly on older PCs due to its higher system requirements, but it can often outperform MT4 on modern PCs because it is able to use all their processing power to the full extent. That makes it better suited for more complex automation, strategies that use a large amount of data, and trading with multiple assets. Though, of course, nothing prevents you from using MT5 for simple strategies and manual trading as well.
Additionally, the single-core limit of MT4 makes backtesting slower, especially on more complex strategies and robots. Therefore, for traders who want to test complex trading strategies or multiple instruments at the same time, MT5 is more preferable. Those traders who prefer simpler methods of trading may find MT4 perfectly adequate for their goals.
Downloading and installation
Unfortunately, MetaQuotes Corporation no longer provides MetaTrader 4 for download. While its site technically still has a download link for MT4, and it lets you download the mt4setup.exe file, in practice, the installation manager downloads and installs MetaTrader 5. To actually download MT4, you need to find a broker that lets you download MT4 from its site.
Finding and downloading MetaTrader 5 is much easier and more straightforward. Just go to the Download section of the MetaQuotes Corporation website and download the necessary version of the application.
Once you download and run the installation file, the process should be very easy and straightforward, being basically the same for both versions of the MetaTrader application. It mostly consists of clicking the Next button.
Accounts
If you have downloaded the MetaTrader platform from a broker's website, it will likely allow you to trade only with that broker. This makes the list of brokers, with which you can trade on MetaTrader 4, very limited. MetaTrader 5 downloaded from the MetaQuotes Corporation website should not have such limitations.
It is important to remember that MetaTrader 4 and MetaTrader 5 have separate accounts, even if you trade with the same broker.
That said, if you have several accounts on MetaTrader 5, you can transfer funds between them. MetaTrader 4 lacks such functionality.
Interface
The interface for both MetaTrader 4 and MetaTrader 5 looks very similar.
The MT4 interface has a somewhat older (old-school, if you will) style, resembling the times of Windows XP (when the platform was created).
MT5 looks arguably newer and more sleek, closer to modern aesthetic sensibilities.
The interface of MetaTrader 4 is often described as simpler and better for newbies compared to the interface of MetaTrader 5. Honestly, it is hard to see the big difference, and if you learned how to use one platform, you should not have trouble switching to the other. The only noticeable difference is that MT4 has fewer features and tools, making it indeed somewhat easier to learn, though in practice, the difference is not that big.
Market Watch
Both MetaTrader 4 and MetaTrader 5 have the Market Watch window, which allows you to select symbols you want to trade, view charts for the selected symbols, create new orders, etc.
At first glance, the Market Watch window looks largely the same both in MetaTrader 4
and MetaTrader 5.
But even here, you can see that the Market Watch window has some differences between the two platforms. For starters, MetaTrader 5 has two additional tabs in its Market Watch window. It shares the Symbols tab (shown above) and the Ticks tab, which shows the tick chart for the selected symbol.
Though MetaTrader 5 adds timestamps to the chart.
But additionally, the MT5 Market Watch window includes a Details tab that displays detailed information about the selected symbol.
Additionally, the Trading tab allows you to use the One Click Trading feature, which lets you set up orders more quickly and easily.
MetaTrader 4 also has the One Click Trading feature, but you cannot use it from the Market Watch window. Instead, you need to select it from the right-click menu on the chart.
The One Click Trading menu will appear on the chart rather than in the Market Watch window.
It is possible to use the One Click Trading feature in MetaTrader 5 this way as well. But take notice that, if you want to use this feature on several symbols, you will have to activate it for each chart separately, while the Trading tab of the Market Watch window lets you use it for all the selected symbols at the same time.
Another noticeable difference is the click to add button at the bottom of the symbol list in MetaTrader 5. It gives access to a quick and easy search for necessary symbols.
The MT5 Market Watch window shows at the bottom of the symbol list numbers that show how many symbols you have selected and the number of symbols available.
MetaTrader 4 supports up to 1,024 symbols, while the number of symbols you can potentially have in MetaTrader 5 is practically unlimited.
Another immediately noticeable difference is that the MT4 and MT5 Market Watch windows have somewhat different columns by default. MT4 Market Watch has a very small number of options for columns you can show in the window, which is basically limited to Spread, High/Low, and Time
MetaTrader 5, on the other hand, offers a wide range of options for what information to display in the Market Watch window.
Additionally, you have an option to turn on or off the display of milliseconds in the Time column of the Market Watch window (if you select to show it), as well as the Popup Prices window.
MetaTrader 5 allows you to choose how to sort the list of symbols in the Market Watch windows. Clicking on a column will sort the symbols by the corresponding parameter in ascending order. Clicking on the same column again will reverse the sorting to the descending order. MetaTrader 4 does not allow you to choose the order in which symbols are listed.
Also, MetaTrader 5 allows you to sort the list of symbols through the right-click menu by various parameters, such as industry, sector, the biggest gainers, or losers, etc.
Overall, the MetaTrader 5 right-click menu has many more parameters than the MetaTrader 4 right-click menu.
Some options are shared between the two platforms. For example, both have an option to show Popup Prices. Though even here, there are some differences. Not only do MetaTrader 5 Popup Prices have more information by default
than MetaTrader 4,
The MT 5 right-click menu
has more options than the MT4 Popup Prices right-click menu.
In addition to options to stay Always on Top, go Fullscreen, and show or hide Grid, the MT5 version of the right-click menu allows showing or hiding Header, showing Milliseconds in the Time column, and also the same wide range of available columns as in the Market Watch window.
One interesting feature added in MetaTrader 5 and absent in MetaTrader 4 is the ability to export your Market Watch data into a .csv file.
Both MetaTrader 4 and MetaTrader 5 let you create, modify, save, and remove different sets of symbols. For example, if you want to trade on both Forex and commodity markets but do not want to mix up currencies and commodities in the same list, you can create one list with all the currency symbols you need, and another list with all the necessary commodities, and then switch between them depending on what market you are currently trading.
MetaTrader 4 offers very basic options for seleting a symbol. It lets you just show or hide a symbol and also watch its specification in a separate window.
MetaTrader 5 also lets you search for symbols manually and decide whether to show or hide each symbol in the Market Watch window. But it also lets you enter a symbol name in the search bar to quickly find a symbol, decide whether to Show expired contracts, and even Create Custom Symbol. Additionally, the information about the selected symbol is shown directly in the Symbols window, not in a separate window.
On top of that, the MT5 Symbols window has two additional tabs. The Bars and Ticks tabs allow you to request historic data about the selected symbol in bars or ticks, respectively. Choose the symbol, timeframe, and date range, then click the Request button. You can then export the received data into a .csv file.
For traders interested in fundamental analysis, Market Watch provides direct links to aggregators of fundamental data for the selected instrument. Unfortunately, such functionality is unavailable for the currency market.
For instruments that are traded on centralized exchanges, data is usually delayed. This is indicated by an icon next to the symbol's name.
Hover over the icon to open a pop-up window with information about the symbol, including the delay.
If you want to have more up-to-date data, MetaTrader 5 offers the option to subscribe to a real-time feed from centralized exchanges.
Additional details
During the account creation, MetaTrader 5 provides a field to enter your date of birth.
MetaTrader 4 does not have such a field during the account creation.
MetaTrader 4 provides its desktop terminal in 39 languages (View–>Languages).
MetaTrader 5 has 53 languages to choose from.
MetaTrader 5 allows you to choose the color theme. To do so, go to the main menu and select View–>Color Themes. You have three options there: light theme, dark theme, or use system settings.
In the Help menu, MetaTrader 5 offers more options compared to MetaTrader 4. Among them is the link to the MQL5 Telegram Channel.
Features
Both MetaTrader 4 and MetaTrader 5 have a number of features that make them attractive to traders. MetaTrader 5, being the later version and the only one still in active development, offers more features than MetaTrader 4.
But that is not necessarily a good thing in all cases. For a starting trader, a smaller number of features in MT4 can make it easier to learn. Also, if you do not use some elaborate strategies and methods, the large number of features in MT5 that may be unnecessary to you can be distracting.
But if you are an experienced trader, use a sophisticated trading approach, or just need a specific feature that MT4 lacks, MetaTrader 5 can be a preferable trading platform.
Demo accounts
Both MetaTrader 4 and MetaTrader 5 support demo trading. Technically, opening a demo account is almost identical on both platforms. The only noticeable difference, as was mentioned before, is that MT5 requires you to enter your birth date.
In practice, though, it is often impossible to create a demo account on MetaTrader 4 through the platform. That is because brokers that provide access to MT4 often require traders to create an account on their websites, even if it is a demo account. After that, you will have to select trading with an existing account and enter the login and password provided by your broker (or the ones you made if your broker allows you to create your own login and/or password).
Creating a demo account on MetaTrader 5 does not have such complications, at least if you use the application downloaded directly from the MetaQuotes Corporation website. You will just need to select Open a demo account in the account creation window, enter the necessary information, and then just immediately proceed to trade on your demo account.
Timeframes
MetaTrader 4 allows you to choose from 9 basic timeframes: 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, 4 hours, 1 day, 1 week, 1 month. That should be enough for the vast majority of retail traders.
But for those traders who prefer a more granular approach in their trading, MetaTrader 5 provides a selection of 21 timeframes. In addition to the regular 9 times
it adds 12 more: 2 minutes, 3 minutes, 4 minutes, 6 minutes, 10 minutes, 12 minutes, 20 minutes, 2 hours, 3 hours, 6 hours, 8 hours, 12 hours.
Technical indicators & charting objects
When it comes to technical analysis, the number of technical indicators, as well as charting tools and graphical objects, can be one of the defining parameters when choosing a trading platform. While you can always install custom indicators, it is usually easier and more convenient to use built-in tools rather than hunt the internet for what you need.
As one could expect, MetaTrader 5 has more built-in tools than MetaTrader 4. MT4 provides 30 technical indicators by default, while MT5 gives access to 38. MT4 has 31 charting tools and graphical objects, while MT5 has 44.
Trading report
Both MetaTrader 4 and 5 let you generate a trade report that allows you to analyze your performance, though MT5 offers more options and makes it slightly easier to generate a report.
In MetaTrader 4, you cannot create a report from the Trade tab. You have to go to the Account History tab and right-click there. In the context menu, you can choose between Save as Report and Save as Detailed Report. Remember that you can choose to show All History, Last 3 Months, Last Month, or a Custom Period. The report will be generated for the selected period as an htm file.
A regular report provides basic information about trades you have made, as well as open positions and currently placed orders, and also a basic summary of your account and funds.
A detailed report adds a chart showing changes in the account balance and much more detailed information on profit, loss, and drawdown.
MetaTrader 5 allows you to create a report directly from the Trade tab as well as from the History tab. Regardless of which tab you want to generate the report, you will need to right-click in the tab and navigate to the Report option in the context menu. The difference is that in the Trade tab, you create a report for the whole time you have been trading, while in the History, tab you can choose a period for which to create a report, the same as in MetaTrader 4.
There, you have several options. Though you do not have an option to generate a shorter, simplified report. All options generate a detailed report.
The first option is to show the report directly in the MetaTrader terminal by selecting the Overview option. It will open a separate window in the terminal. It will have several tabs that show you Summary, Profit & Loss, Long & Short positions, and Risks.
You can also save the report as an html file, the same as in MetaTrader 4. The resulting report will look very similar to the MT4 report.
Finally, you can save the report as an Excel (xml) file. It will contain the same information as the html version of the report.
If you have opened the Overview window, you can export what is displayed there. Open the window with the report, and click File in the main menu, and then Save (or press Ctrl+S).
This will create an html file with the report.
Alternatively, you can select File->Save as PDF.
In this case, you will get a report in the PDF format.
Calendar
MetaTrader 5 provides access to a built-in economic Calendar in the Toolbox window. It is a full-fledged calendar with a robust set of features, including the ability to view forecasts, filter events by time period, currency, or country, export the calendar, display events on a chart, etc. This allows traders to check for important events without leaving the trading platform.
MetaTrader 4 does not have this functionality, so traders have to resort to external websites or third-party applications to find information on macroeconomic reports and other important events.
Volume & tick charts
MetaTrader 4 has an option to show volume data on your charts.
The problem here is that the Forex market lacks real volume data as it can only be provided by a centralized exchange. Instead, real volumes are replaced by tick volumes, which show how often the price has changed. The fact that MT4 does not differentiate between tick and real volumes can be misleading to new traders.
MetaTrader 5 provides a choice whether you want to see real Volumes or Tick Volumes.
This choice is relevant only for assets traded on centralized exchanges. For currencies, you can only display tick volumes. Additionally, you cannot see either of the volumes if you have the Scale fix option enabled in the chart properties.
Both MetaTrader 4 and MetaTrader 5 platforms allow you to send (if your broker allows it) and receive emails via the terminal. The difference is that MT5 allows attaching files to emails, whereas MT4 does not.
VPS
A feature unique to MetaTrader 5, but absent in MetaTrader 4, is the ability to rent a VPS (Virtual Private Server). It allows traders to run robots and expert advisors 24/7 without having to keep their PCs on and the terminal open.
There are three ways to register a VPS in MT5. You can go to the Navigator window, right-click on Accounts, and select Register a Virtual Server in the context menu.
Or you can click on Tools in the main menu and then click on MQL5 Virtual Hosting.
Finally, you can just click on VPS in the Navigator window.
Either way opens a tab in the main terminal window that lets you register and use your own virtual server.
Also, if you click on How it Works under the VPS option in the Navigator window, it will open a tab that explains how to use a VPS on the MetaTrader 5 platform.
Trading
Hedging and netting
MetaTrader 4 allows the creation of hedging accounts only. On a hedging account, different positions on the same trading instrument are tracked separately. For example, if you buy one lot of EUR/USD and sell one lot of EUR/USD, you will have two separate positions.
MetaTrader 5 allows the creation of both hedging and netting accounts. On a netting account, positions on the same trading instrument are combined into one. For example, if you buy two lots of EUR/USD and sell one lot of EUR/USD, you will have a one-lot long position of EUR/USD. If you buy one lot of EUR/USD and sell one lot of EUR/USD, both orders will cancel each other.
It is important to remember that MT5 does not allow switching between netting and hedging on an existing account. If you open an account of one type and then decide that you want an account of another type, you need to open a new account.
By default, an account opened in MT5 is a netting account. To create a hedging account, you need to select the Use hedge in trading option during account creation.
Some brokers may not allow the creation of hedging accounts. Usually, it is because of regulations in the country of the trader or the broker that forbid hedging.
Types of execution
MetaTrader 4 supports three types of order execution: Instant Execution, Execution on Request, and Execution by Market.
MetaTrader 5 adds one more option to the total of four: Instant Execution, Request Execution, Market Execution, and Exchange Execution.
Remember that the availability of different types of execution depends on your broker. Most often, only Market Execution is available, though in the case of assets that are traded on a centralized exchange, it is replaced by Exchange Execution.
Types of pending orders
MetaTrader 4 has four types of pending orders available: Buy Limit, Buy Stop, Sell Limit, and Sell Stop.
MetaTrader 5 adds two more types to the total of 6: Buy Stop Limit, Sell Stop Limit.
Fill policy
MetaTrader 4 supports only one type of fill policy – the Fill or Kill policy. Under this policy, the order is either executed at the requested volume or not executed at all.
MetaTrader 5 supports four order fill policies: Fill or Kill (FOK), Immediate or Cancel (IOC), Book or Cancel (BOC), and Return.
Remember that the availability of a specific policy in MT5 depends on your broker, order type, and execution type.
For example, by default, MetaQuotes provides only the Fill or Kill policy on its servers.
But for the Exchange Execution, it lets you choose from Fill or Kill and Return policies.
But the Return policy is not available for Buy Stop and Sell Stop pending orders.
Partial order fills
In MetaTrader 4, orders cannot be partially filled. An order is either fully filled or rejected.
MetaTrader 5, on the other hand, supports partial order fills. An order can be filled in several lots, with the remaining volume staying as an order on the market.
Opening, modifying, and closing orders
Opening orders
The interface for opening an order has largely the same options in MetaTrader 4
and MetaTrader 5.
The MT5 interface can be considered somewhat cleaner, with a more logical layout, but that is largely subjective.
There are a couple of options added to MT5 that MT 4 lacks. Firstly, near the field for selecting volume, you can see the exact amount of the currency you are buying or selling.
Secondly, MT5 offers a selection of order Fill policy.
Additionally, you can show or hide the chart in the Order window in MT5 by double-clicking on an empty space in the window. MT4 does not allow you to hide the chart from the Order window.
If you switch from Market Executions to Pending Order, the interface also shares mostly the same capabilities between MT4
and MT5.
MT 5 has the additional Stop Limit price field, which activates if you choose Buy Stop Limit or Sell Stop Limit as the order type.
Choosing whether you want the order to expire and when it expires is realized somewhat differently between MT4 and MT5.
In MT4, you have the Expiry field.
If you wish your order to expire in the case it is not filled, you need to select the checkmark in the field and then choose the date or enter it manually (you can also enter the time manually).
In MT5, you have the Expiration field. It allows you to select between GTC (Good Until Cancelled – no expiration), Today, Specified, and Specified Day.
If you select Specified or Specified Day, you can select the date from the Expiration date field. If you selected Specified, you can also manually enter the time (time is not available if you select Specified Day).
Modifying and closing positions and orders
After executing an order, you will see a window that displays details about the order executed. You can close the window by clicking OK or Print the details. The windows look largely the same in MetaTrader 4 and MetaTrader 5.
To modify the order, you will need to select Modify or Delete in the context menu of the order.
The MT4 context menu:
The MT5 context menu:
You can also double-click on the position on the chart, provided you turn on the display of trade levels.
Modifying an order is largely the same between MT4 and MT5, the difference being mostly in layout.
MT4 layout:
MT5 layout:
You can also add a Trailing Stop from the context menu. The trailing stop menu is largely the same in MT4
and MT5.
If you wish to close a position, you can do this directly from the context menu by selecting Close Order in MT4 or Close Position in MT5.
Or you can modify the order, select Market Execution in the Type field, and then press the Close button. It is similar in MT4
and MT5, though the MT5 button provides a bit more information.
Both MT4 and MT5 allow you to partially close positions. To do so, set the volume below the volume of the position. For example, if you opened a 1 lot buy position and decided to close the volume of 0.5 lot, you will have a 0.5 buy position remaining after the close.
MT5 has an additional interesting option for closing positions. If you have several positions in the same instrument, you can select a position in the opposite direction to the one you want to close and close both positions at the same time, offsetting each other. If the volume of the positions differs, the volume of the smaller positions will be subtracted from the volume of the larger position, and the remaining volume will stay as a new position on the market. To access this feature, select Close By in the order Type field.
Pending orders are modified the same way, by selecting Modify or Delete from the context menu.
MT4 order modification:
MT5 order modification:
You cannot delete a pending order from the context menu. To do so, start modifying the order and click the Delete button.
There is an exception to that rule. MT5 provides the ability to close positions and delete orders in bulk. This way, you can delete several orders from the context menu without the need to delete each of them separately. To do so, select the Bulk Operations from the context menu.
Backtesting
Both MetaTrader 4 and MetaTrader 5 support backtesting – the ability to test your strategy and expert advisors using preloaded historical data. But MT5 has much more robust backtesting capabilities compared with MT4.
Speed and multi-threading support
MetaTrader 4 uses only a single processor core for backtesting. This makes backtesting significantly slower, especially when testing more complex strategies or using a bigger dataset.
MetaTrader 5 supports multi-threaded calculations. This means that MT5 uses all the cores of your CPU, significantly increasing the speed of backtesting.
Real ticks
MetaTrader 5 allows the use of real tick data accumulated by the broker. This option is much more precise than generated ticks, making results as close to real market conditions as possible, but much slower. MetaTrader 4 has no such option.
Interface
MetaTrader 4 has two tabs in the Tester window when it is opened initially: Settings and Journal.
MetaTrader 5 has three tabs in the Strategy Tester window by default: Overview, Agents, and Journal.
Once you choose an expert advisor or an indicator to backtest, two more tabs appear: Settings and Inputs.
Those two tabs persist even after you close the window and reopen it without closing the platform. If you close the platform while one of those two additional tabs is selected, they remain open when you reopen it. Otherwise, the window will have three default tabs.
After backtesting is concluded, MT4 adds three more tabs: Results, Graph, and Report.
MT5 adds two tabs after the backtesting concludes: Backtest and Graph.
If you selected strategy Optimization in the settings of MT4, you will see two additional tabs instead: Optimization Results and Optimization Graph.
In MT5, you will see one additional tab: Optimization Results.
Overview
The Overview tab (demonstrated in the image above) is unique to MetaTrader 5. It lets you choose from various presets that adjust settings for backtesting an expert advisor, an indicator, a visualization, various optimization methods, as well as math calculations. After selecting a preset, you will be taken to the Settings tab, where you can futher adjust backtesting parameters further. The Overview tab also lets you load settings from the previous backtest, demonstrated in the list at the bottom of the window, or search for the previous backtests in the search field. The tab also lets you View previous results of optimization.
Settings
The MetaTrader 4 Settings tab is the same regardless of whether you selected an expert advisor and an indicator. It allows adjusting basic settings, such as choosing an expert advisor and an indicator, symbol, timeframe, backtesting period, spread, as well as selecting optimization, visualization, adjusting the Expert properties, checking the symbol properties, as well as modifying the Expert (which opens a separate window with MetaEditor).
MetaTrader 5 Settings vary significantly depending on whether you selected an expert advisor or an indicator.
If an expert advisor is selected, the Settings tab has the same basic capabilities as in MT4, though with a noticeably different layout.
On top of the options MT4 Settings tab has, the MT5 versions additionally allows you to save and load settings, adjust the symbol properties (basically, creating a custom symbol), set up forward testing, choose a delay, adjust trading options, choose a testing model, select to calculate profit in pips, set the size of the deposit and the leverage, and select the optimization model. That said, the MT5 Settings tab does not allow you to choose whether you want to test an expert advisor or an indicator (it is done in the Overview tab) or adjust the EA settings (it is done in the Inputs) tab.
If an indicator is selected, the MT5 Settings tab looks much simpler, with far fewer options.
It allows only selecting an indicator, modifying it in MetaEditor, saving and loading settings, selecting a symbol and a timeframe, modifying the symbol, choosing a time period for backtesting, and selecting the testing model.
Saving and loading settings
MetaTrader 4 preserves settings between closing and opening the application, but does not allow you to save them separately.
MetaTrader 5 lets you save settings and load them later. To do so, click on the gear icon at the top right of the Settings window. Or you can just right-click anywhere on the window while you are in the Settings tab, and the same menu will pop up.
It allows you to save and load settings, view a list of the previously saved settings and load one of them, select one of the previously tested expert advisors and charts, and start a test.
Selecting an expert advisor or an indicator for backtesting
In MetaTrader 4, you select an expert advisor or an indicator for backtesting in the Settings tab. First, select whether you want to test an EA or an indicator in the dropdown menu in the top left of the window.
Then, select the specific EA or indicator you want to backtest from the dropdown menu to the right.
In MetaTrader 5, you need to select either Single (for an expert advisor) or Indicator (for an indicator) in the Overview tab, provided you want just to backtest an EA or an indicator without visualization or optimization.
Then, you will be moved to the Settings tab, where you will select an EA in the Expert dropdown menu
or an indicator in the Indicator dropdown menu.
MT5 has an additional method for selecting an EA (but not an indicator) for backtesting. Go to the Navigator window, right-click on the EA you want to backtest, and select Test in the context menu. This will bring you to the Settings tab of the Strategy Tester window with the necessary EA already selected.
EA/Indicator properties and inputs
To adjust properties of the selected expert advisor or indicator in MetaTrader 4, click on the Expert properties button on the right side of the Settings window.
Doing so opens a window with three tabs.
The Testing tab allows you to adjust the basic testing parameters, such as the initial deposit and the type of positions being tested (Long only, Short only, Long & Short). Also, you can choose the Optimized parameter (Balance, Profit Factor, Expected Payoff, Maximum Drawdown, Drawdown Percent, Custom) and whether to use the Genetic algorithm.
The Inputs tab allows you to adjust the EA/indicator parameters as well as Save and Load them.
The Optimization tab is responsible for adjusting optimization parameters.
As for MetaTrader 5, it has a separate tab for adjusting EA/indicator parameters called Inputs.
Right-clicking anywhere in the window while in the Inputs tab opens a context menu that lets you start a test, Auto Arrange parameters, show or hide Grid, return to Defaults, as well as save and load parameters.
Parameters can be saved and loaded in two ways. If you wish to be able to use saved parameters across different computers, use the Save and Load options. Saving parameters this way creates a file that can be transferred to another PC and loaded there.
If, on the other hand, you want to save parameters for use on the current platform, select the Save Version option. After that, a new option, Load Version, will appear in the context menu. It will list all the saved versions of the EA/indicator parameters.
Another new option in the menu, Delete Version, lets you delete saved parameter versions you no longer need.
The Inputs tab lets allows you load the results from the previous tests. To do so, first you need to select the expert advisor for which you want to load the results by clicking on the Select expert field, which opens a dropdown menu with the list of all the EAs you previously tested.
Then, in the View previous single test results field (depending on what you have selected in the Overview tab, it can also be named View previous optimization results), select the test results you wish to see.
Symbol properties
In MetaTrader 4, you can click on the Symbol properties button to see the symbol specifications.
This opens a window with contract specifications for the selected symbol. The window just shows information and does not allow you to change anything.
You can open a similar window in MetaTrader 5 by clicking on the $ symbol to the right of the symbol and timeframe selection.
This brings up a window with symbol settings. But, unlike the similar window in MT4, the symbol settings window in MT5 allows you to change the majority of a symbol's parameters, as well as import and export symbol settings, and return them to default values.
Multi-currency testing
MetaTrader 4 allows testing only one currency pair at a time because it supports only single-core processing.
MetaTrader 5 has the capability to test strategies across multiple symbols simultaneously because the platform supports multi-threading. To do so, you need to add all the symbols you want to test to the Market Watch. Then, go to the Settings and in the Symbol field select All Market Watch symbols in the dropdown menu.
Testing models
MetaTrader 4 supports simpler and faster testing models, such as Every tick, Control points, and Open prices only.
MetaTrader 5 also supports Every tick and Open prices only models. But additionally, it gives an option to use more precise models, specifically Every tick based on real ticks and 1 minute OHLC. In addition, MT5 provides access to Math calculations.
Advanced testing settings
MetaTrader 5 offers advanced testing settings that lets you emulate different trading rules offered by brokers, such as commissions and margin requirements. To access those settings, click on the button to the right of the Delays field. This will open a Trade Settings window with three tabs.
The Commissions tab allows you to set various rules for when and how commissions are charged for each specific symbol. It also has the Use custom settings option, which you need to activate to make changes in this and other tabs.
The Trading tab allows you to set the maximum number of orders and positions you can open simultaneously as well as the time periods during which the platform will not be trading.
The Margins tab lets you set up margin limits as well as risk and profit rules.
Results
After backtesting is complete, both MetaTrader 4 and MetaTrader 5 display several tabs that let you analyze the test results.
MT4 shows three tabs.
The Results tab is unique to MT4 and shows trades that were executed during the test.
Right-clicking on a line brings a context menu that allows you to copy the data from the line to the clipboard, copy the whole table to the clipboard, save the table to an HTML file, set the date of the pass as the start or the end date for a test in the Settings tab, and adjust the look of the table.
The Graph tab shows the changes in the balance and equity during the test. If only one line is shown, it means that both balance and equity coincide throughout the test.
Right-clicking on the graph opens a context menu that lets you copy the graph as a picture to the clipboard, save the graph as a GIF file, and set the date of the selected pass as a start or an end date for a test.
The Report tab shows basic information about the results of the backtesting, including profit and loss.
The context menu of this tab allows you to save the report to the clipboard or as an HTML file.
MT5 shows two tabs after the test is complete.
The Graph tab is somewhat similar to the same tab in MT4, though it also shows Deposit Load – ration of margin to equity.
The context menu allows you to save the graph to the clipboard as a picture, to export it as a text (CSV file) or a picture (PNG file), and choose whether to show the grid.
Backtest shows info about the test results. It has somewhat more data than the similar info in MT4 and also shows various diagrams.
The context menu allows you to choose what to show in the tab.
Instead of the report shown above, you can select to display Deals,
Orders,
or Deals & Orders at the same time.
The menu also lets you open a chart for the tested symbol and choose whether you want this to happen automatically after the test is completed.
In addition, the menu allows you to save the report as an XML or an HTML file.
If, instead of displaying the report, you chose one of the other three options, the menu offers two additional options.
Volumes lets you choose how to display volume: as Lots or as Amounts.
Columns lets you decide whether you want to see the Commissions and Fees columns.
Additional note: You can upload an HTML file with a report to our Forex Report Analysis Tool for a more detailed analysis of your backtesting results.
Optimization results
If you toggled the Optimization option during setting up backtesting in MetaTrader 4, you will see two additional tabs after the test is completed.
The Optimization Results tab demonstrates various combinations of expert advisor Inputs and how their changes were affecting various parameters.
Right-clicking opens a context menu that lets you copy the inputs of the selected pass to the EA inputs by clicking on the Set Input Parameters option. The menu also allows you to copy the results from the selected line to the clipboard, copy the entire table to the clipboard, or save the table as an HTML file. Additionally, the menu lets you adjust the look of the table.
The Optimization Graph tab shows how the optimized parameter depends on inputs. Hovering over a point on the graph will show the number of the pass, the value of the optimized parameter, and the inputs. Double-clicking on a point will switch to the Optimization Results tab with the corresponding pass automatically selected.
The context menu that opens when you right-click allows you to copy the graph to the clipboard, save it as a GIF file, and choose whether to show the grid on the graph or not.
MetaTrader 5 provides a similar display of optimization results but with much more robust capabilities.
The Optimization Results tab can potentially show much more info than the similar tab in MT4. Additionally, each input parameter is shown in a separate column.
At the top of the window, you can select the optimization results of the previous tests. You have to select the expert advisor, then choose the test for which you want to see the results, similar to selecting previous tests in the Inputs tab. But in this tab, you have an additional field – Select criterion, which determines which parameter will be displayed in the Results column in the table.
The context menu opened by right-click has many more options in MT5. It allows you to run a single test with a selected combination of inputs (you can also do this by double-clicking on the preferred combination of inputs), select which parameters to show in the table, export and import optimization cache file, export the table to an XML file, and adjust several other options.
Additionally, the menu lets you select which inputs to optimize
and which filters to apply to the results.
The results graph in MT5 is much more complex than the graph in MT4. For starters, you can choose whether you want it to be Docked, showing alongside charts in the terminal window
or to be displayed in a separate window.
By default, the graph shows you the value of the optimized parameter depending on the pass. Similar to MT4, hovering over a point will show the number of the pass and the value of the optimized parameter, while double-clicking will switch to the Optimization Results tab with the corresponding pass selected.
But MT5 provides a number of other graphs that show the optimization results in a different manner.
The 1D Graph shows the dependence of the optimized parameter on the input selected for the X-axis.
The 2D Graph shows profitability depending on the combination of two inputs.
The 3D Graph shows how the optimized parameter changes depending on the two selected inputs.
The context menu allows you to dock and undock the graph, choose whether to show the grid, select which type of chart you want to see, copy the chart as a picture to the clipboard, or save it as a PNG file.
Additionally, it lets you choose which inputs will be shown on the X-Axis and the Y-Axis.
Forward testing
Forward testing is a feature unique to MetaTrader 5. It tries to simulate the work of an expert advisor in real market conditions. This is done by dividing the testing period into two datasets – for backtesting and forward testing. An EA is optimized during the backtesting, and a number of the best runs (the exact ratio depends on the optimization algorithm) are taken to test on the forward testing dataset. This allows you to see how the EA behaves in conditions for which it was not optimized.
For forward testing, go to the Settings tab and select in the Forward field what part of the selected period will be dedicated to forward testing: No (if you do not want forward testing), a half, a third, a quarter, or Custom.
If you selected Custom, the field to the right becomes active, allowing you to select the date within the testing period from which you want to start forward testing.
If you disabled optimization in the Settings tab, the results will be mostly the same as in a usual backtest. You will get an additional tab, Forward, which works the same as the Backtest tab but shows results of forward testing.
Additionally, the Graph will be divided into two parts, though you may have trouble seeing the dividing line unless you turn off Grid in the context menu.
If you turn on optimization in the Settings, you will get an additional Forward Results tab. It works largely the same as the Optimization Results tab, but shows the results for forward testing. The biggest difference is that it shows forward testing results alongside the results from backtesting. In theory, the more the results coincide, the better the EA should work in real trading.
The context menu of the Forward Results tab includes an additional option: Back Test Results. It simply switched to the Optimization Results tab.
Similarly, selecting the Forward Test Results option in the context menu of the Optimization Results tab will simply switch to the Forward Results tab.
You also get two graphs, for backward and forward testing.
They also have the Back Test Results/Forward Test Results option in the context menu, but it seems to be bugged at the time of writing.
It looks like the options are mixed up: the Back Test Results option is placed in the backward testing graph, and the Forward Test Results option appears in the context menu of the forward testing graph. This means that the option sends you to the already-opened graph, effectively doing nothing.
Visual mode
Both MetaTrader 4 and MetaTrader 5 support backtesting in a visual mode. This allows you to watch, in real time, on a chart, what actions an expert advisor performs. In both platforms, a test can be performed in the visual mode only if optimization is disabled.
To initiate visual mode in MT4, check the Visual mode checkbox in the Settings tab, then start backtesting. You can control the test from here.
MT4 provides a very basic control of backtesting in a visual mode. You can set the speed of the test with the slider, pause and resume the test, and skip to the selected date.
Once the test starts, a separate chart opens, allowing you to watch how the test proceeds. It will show trade operations performed by an EA. Hovering over an operation with your mouse will show you some details about the operation.
To turn on a visual mode in MT5, you need to click on the checkbox to the right of the Optimization field. For the checkbox to appear, you need to select Disabled in the optimization menu, otherwise the checkbox will be replaced by the optimized parameter selector.
Starting a test in visual mode opens a separate window with a chart.
It has many more tools compared with the MT4 visual mode. Besides the chart, similar to the one in MT4 (including the ability to hover over an operation with a mouse to see details), it provides a Market Watch window with simulated prices and a tick chart, a Data Window which shows information about the selected bar, and a Toolbox window with four tabs. The Trade tab shows open positions and placed orders during simulation, the History tab shows the history of deals and orders, the Operations tab shows a list of operations performed by an EA, and the Journal tab shows the journal of the testing agent.
Agents
Agents is another feature unique to MetaTrader 5. They use the multi-threading capability of MT5, working as separate processes that perform calculations independently. This speeds up backtesting immensely as each agent can perform a testing run in parallel with other agents, meaning they allow the Strategy Tester to perform several runs of a test simultaneously.
There are three types of agents: local, remote, and cloud.
Local agents are installed automatically on your computer when you install the MetaTrader 5 platform. Their number is equal to the number of logical cores in your central processor. It is important to remember that they can be installed only on 64-bit systems.
Remote agents can be installed on a computer in your local network and then be used on another computer in the same network. For example, if you have a powerful desktop PC but prefer to trade on your laptop, you can install remote agents on your desktop PC and then add them to the MT5 platform on your laptop. That way, you can use CPUs on both your laptop and your PC while performing backtesting on your laptop.
Cloud agents use the same idea, but instead of being installed on computers in the local network, they are installed on computers connected to the MQL5 Cloud Network. It connects thousands of agents across the world, providing their computational power to any user of the MT5 platform connected to the cloud network. While the usage of cloud agents is a paid service, it can tremedously speed up optimization, allowing you to perform a huge number of test runs simultaneously. It also allows users of the MT5 platform to sell their computing resources via the cloud network.
You can control agents through the Agents tab of Strategy Tester.
It shows the list of all your local agents, as well as agents connected through the Local Network Farm and MQL5 Cloud Network.
You can bring out a context menu by right-clicking. It allows you to Select an agent to edit, delete, enable, or disable. Mind that local agents cannot be edited or deleted; they can be only disabled (useful for saving battery energy on laptops) or enabled. The menu also allows you to choose which of the three types of agents you will be using in backtesting. You can also Import and Export a list of agents. The menu also lets you choose whether to Auto Arrange agents and whether to show Grid.
Finally, the context menu allows you to Add remote agents. It will bring a window that lets you select whether you want to Add agents from host, Scan Network, or Import from *.mt5 file.
Afterward, the window will display a list of all the agents that were found. You can then click on the Finish button to add the found agents to the list of agents available to use for computations.
To install remote agents on your computer or to start using the cloud network, you need to launch Strategy Tester Agents Manager, which can be found in the Tools section of the platform's main menu.
The Manager has four tabs.
The Overview tab provides basic statistics about test performed and brief explanation of how to deal with remote agents' functions.
The Services tab allows you to install agents that can be used later in your local network.
The context menu gives you control over the agents, allows you to export the agents list, and uninstall agents when you no longer require them.
The MQL5 Cloud Network tab allows you to connect to the cloud network and sell your processing resources.
The Scheduler tab lets you decide when your agents will be available for cloud network computing.
MQL programming language and MetaEditor
Both MetaTrader 4 and MetaTrader 5 allow the creation of custom indicators, expert advisors, and scripts using their proprietary MetaQuotes Language (MQL) in a separate application called MetaEditor.
Programming language
MetaTrader 4 uses MQL4 as its programming language. It has a procedural programming model resembling C. This language is easier to learn and understand, but it is limited to using a single CPU core and lacks some capabilities that the newer version has.
MetaTrader 5 uses MQL5 in its scripts, indicators, and expert advisors. It is a more complex object-oriented language, based on C++. Due to its complexity, it takes more time and effort to learn coding in MQL5. Also, due to the added complexity, some actions (such as historical data) that may require just one line in MQL4 can require several lines in MQL5. But this is compensated by additional features (such as enhanced event handling), which allows the creation of more complex algorithms for more sophisticated trading, and faster execution speed due to multi-threading support. Also, its clean object-oriented structure makes it easier to scale and maintain programs written in MQL5.
Both languages boast strong support from the community of traders and programmers. MQL4 has a longer history, which results in more learning material and programs written in this language. But MetaQuotes Corporation is now focused on MQL5, making it much easier to access information about this language. This, together with more robust capabilities and active development, means that the MQL5 community and the number of programs written in this language can easily surpass those of MQL4 in the future.
Important note: Due to the significant difference between the two programming languages, programs written in MQL4 do not work in MT5. Similarly, programs written in MQL5 do not work in MT4.
MetaEditor
MetaEditor is an application that lets you create new or modify existing indicators, scripts, expert advisors, etc.
You can launch it separately by clicking on the icon that is situated in the MetaTrader folder of your Start menu or on the desktop.
Or you can launch it from the MetaTrader application. There are several ways to do it, which are the same both in MetaTrader 4 and MetaTrader 5.
You can click on the button in your terminal.
MT4 MetaEditor button:
MT5 MetaEditor button:
Or you can launch it from the main menu: Tools->MetaQuotes Language Editor.
MT4:
MT5:
Finally, you can simply press F4.
Interface
The interface of MetaEditor resembles the interface of the MetaTrader trading platform in each version.
MetaEditor in MetaTrader 4 has an older interface with the design language from the mid-2000s, when the platform was created.
MetaEditor for MetaTrader 5 features a sleeker, more modern interface.
Both versions of MetaEditor have largely the same buttons, even though they look very different.
MetaEditor for MT4 has a small button to the right of the search bar that sends you to the MQL5 community page.
MetaEditor for MT5 includes two additional buttons: the AI Assistant button and the Welcome button.
In the main menu, MT5 MetaEditor has two additional sub-menus: Git and Build.
In the Toolbox window, MT5 MetaEditor has an additional Search in Files tab.
Languages
Unlike the trading platforms themselves, both versions of MetaEditor have the same number of languages – 33.
Color themes
As in the MetaTrader 5 trading terminal, MetaEditor has the option to choose the color scheme, which is absent in MetaEditor for MetaTrader 4. You can do this from the main menu, selecting View->Color Themes and then choosing from three options: System, Light, Dark.
Toolbox
Most tabs in the Toolbox windows have the same functionality in both versions of MetaEditor. There are two exceptions: Search and Code Base tabs.
Search
MetaTrader 4 MetaEditor has just one tab, Search.
MetaTrader 5 MetaEditor has two: the Search and Search in Files.
The Search in Files tab functions similarly to the Search tab of the MT4 version of MetaEditor, showing the results of the search performed through the main menu: Search->Find in Files.
The Search tab of MT5 MetaEditor shows the result of a search in the MQL5 community, including documents, articles, forums, etc., as well as on external platforms, such as GitHub and Stack Overflow.
Code Base
The Code Base exists in both versions of MetaEditor and functions identically in both.
It allows you to find and download programs and browse their code. This is a good way to improve your programming skills.
The big difference between the two versions of MetaEditor can be found in the Categories section of the context menu. Both the MetaTrader 4 and MetaTrader 5 versions of MetaEditor have four options: expert advisors, Indicators, Scripts, and Libraries. But the MT5 version of MetaEditor includes an additional option: Services.
Services are a special type of program unique to MT5 that is not attached to a specific chart but launched automatically together with the terminal instead. They can serve various functions, such as implementing custom price data feeds for the platform.
File
The File menu in MetaTrader 4 MetaEditor lets you create, open, save, close, compile, and print files. It also shows the list of recently opened files. The Exit option is also there.
The MetaTrader 5 MetaEditor version has mostly the same options but lacks the commands for compilation. The compiling commands were moved to the Build menu instead.
Edit
The Edit menu of MetaTrader 4 MetaEditor lets you undo and redo changes and perform operations with the clipboard. It also contains several additional submenus that allow you to insert resource files, convert text to different formats, work with bookmarks, use the MQL5 storage, and perform advanced operations, such as changing case, inserting comments, and inserting indents. It also contains additional commands for showing a list of names, parameters, or functions, as well as the command to go to a definition.
The Edit tab of the MetaTrader 5 MetaEditor contains mostly the same commands. As for the changes compared with the MT4 version, it lost the Storage submenu (replaced by the Git menu) but added a couple of commands for working with AI.
The Insert submenu contains three new options: Datetime, Datetime as Unix time, and Color.
Git
The Git menu, unique to the MetaTrader 5 version of MetaEditor, allows you to work with Algo Forge – a new online hub for working with MQL5 projects, which replaced the previous MQL5 cloud storage. It is a Git version control system, which is the global standard for developers.
Search
The Search menu lets you search and replace text in the program code. It has the same commands in both versions of MetaEditor.
View
The View menu of MetaTrader 4 MetaEditor lets you select the Languages of the application, turn on or off the Toolbar, Status Bar (the option unique to this version of MetaEditor), Toolbox, and Navigator windows, go Fullscreen, and also Navigate Backward and Navigate Forward between positions of the cursor.
The MetaTrader 5 version of MetaEditor has mostly the same commands, though it lost the Status Bar command (and the status bar itself), but added the choice of the Color Themes and the Docked command, which undocks the currently selected tab of the main window.
Build
The Build menu is unique to the MetaTrader 5 version of MetaEditor. It contains compile commands that were moved from the File menu of the MetaTrader 4 version of MetaEditor. Additionally, the MT5 version of the menu has an option to disable optimization or enable maximum optimization. Also, here you can choose a set of instructions your processor will use for mathematical calculations. Advanced sets can significantly speed up calculations, but you need to be sure that your CPU supports the selected set.
You can also choose optimization and the instruction set from the drop-down menu opened by clicking on the arrow near the Compile button in the Toolbar.
Debug
The Debug menu provides tools for debugging MQL programs. It is exactly the same in both versions of MetaEditor.
Tools
The Tools menu may look rather different in MetaTrader 4 MetaEditor
and MetaTrader 5 MetaEditor
but it contains, for the most part, the same options in both versions.
The only difference is the Neural Network Viewer command in the MT5 version of MetaEditor. It opens a GitHub page that allows you to download the installer for the Netron viewer for machine learning models.
This highlights a significant feature unique to the MT5 version of MetaEditor – support of ONNX (Open Neural Network Exchange) models. ONNX is an open-source format for ML models. You can view ONNX files either directly in the editor or in Netron. To view the ML model in Netron, you need to right-click on the ONNX and select Open in Netron in the context menu.
Window
The Window menu is almost the same in both the MetaTrader 4 version of MetaEditor
and the MetaTrader 5 version.
The only difference is that the MT5 version added a Reset to Default command.
Help
The Help menu has some notable differences between the MetaTrader 4 and MetaTrader 5 versions of MetaEditor.
The MT4 version contains links to the MQL4 help page as well as to the MetaTrader 4 mobile application, which, as to be expected, are absent from the MT5 version.
Instead, the MT5 version added links to the MQL5 Telegram channel and Algo Forge, as well as the command to open the Welcome window in the MetaEditor Workspace.
The Welcome window is unique to the MT5 version of MetaEditor. It contains links to various books, articles, and documentation. It also has separate tabs with links to MQL5 NeuroBook, MQL5 AlgoBook, and Documentation. The My Sales tab lets you become a seller, earning money from applications you have created. Finally, the What's new tab contains links to the recently opened files.
The MQL5 Community sub-menu also has some differences between the MT4 and MT5 versions.
The MT4 version has MQL5 Website and MQL5 Blogs links, which are absent in the MT5 version.
The MT5 versions instead added links to MQL5 AlgoBook and MQL5 NeuroBook as well as MQL5 Quotes.
Options
The Options window can be opened through the main menu: Tools->Options. It contains various settings that allow you to adjust MetaEditor to your preferences.
The MetaTrader 5 version of MetaEditor added two more tabs to the Options window – Compilers and AI Assistant – as well as renamed the Debug tab to Debug/Profiling. It also added new options to some of the already existing tabs.
Colors, Fonts, Styler, Community
Colors
Fonts
Styler
and the Community
tabs are exactly the same in both versions of MetaEditor.
General
The General tab of the MetaTrader 5 version of MetaEditor added the Enable clipboard history setting that allows working faster with the source code.
Debug
Compared with the MetaTrader 4 version of the MetaEditor Debug tab
the MetaTrader 5 version Debug/Profiling tab rearranged settings a bit.
Additionally, it has three more options: Enable optimizations in profiling, Enable inlining in profiling, and Use visual mode for debugging and history.
Compilers
The Compilers tab is unique to the MetaTrader 5 version of MetaEditor.
It lets you choose the processor architecture for which the applications will be compiled, turn on and off the check for the floating point dividers, as well as install external compilers or specify the path to the installed compilers manually.
AI Assistant
The AI Assistant tab is also unique to the MetaTrader 5 version of MetaEditor.
It lets you use the AI tool powered by OpenAI-based models that can help you to automatically complete your code.
Code editing windows
The MetaTrader 5 version of MetaEditor has the ability to undock windows with open files from the main Workspace area. As mentioned previously, you can do this from the main menu by clicking View->Docked when the docked window you wish to undock is selected. Another way to do it is to click the leftmost button in the main menu. It appears only if at least one window is docked.
Clicking on the button opens a context menu that has the Docked command, which undocks the currently selected window.
Another way to undock the window is through the context menu called by right-clicking on the tab of the docked window.
Once a window is undocked, you can right-click on its title bar. It opens a context menu similar to the one that opened with the main menu button, only the Docked command is unchecked. Clicking on it docks the undocked window.
Clicking on the window tab in MetaTrader 4 MetaEditor brings up a context menu that contains commands for compiling the file, saving and closing the file, and several other options.
MT5 MetaEditor version of this menu also contains the command to undock the window (shown above) and commands for working with Algo Forge.
Right-clicking the code editing window itself opens a context menu that is very similar to the Edit section of the main menu. It lacks the commands to show lists, but adds the Add Watch command.
MT5 MetaEditor version of this menu looks similar but contains several more commands. In addition to the Go to Definition commands, it also has Go to Declaration, Go to Help, and Search in Documentation commands. Also, it has a couple of commands for working with the AI Assistant. Finally, it has the Git submenu, which replaced the Storage submenu in the MT4 version. The Advanced submenu has the same additional commands as the same submenu in the Edit section of the main menu.
The context menu of the Navigator window of the MetaTrader 4 MetaEditor contains commands for opening and creating files and folders, renaming and deleting files, compiling files, and several others.
The MetaTrader 5 version of this menu in MetaEditor has several additional options: Show All Public Projects, Find in Files, and Git commands, which replaced the Activate MQL5 Storage command in the MT4 version of this menu.
Conclusion
Both MetaTrader 4 and MetaTrader 5 are extremely popular and suitable for a wide range of traders.
MT4 is older and more established, but it is no longer in active development, and brokers cannot get new licenses for it. This means its popularity will be diminishing. Furthermore, MT4 is primarily focused on the Forex market, potentially limiting its appeal to traders interested in other markets. On top of that, being an older program, it is slower, has fewer features, and a less sophisticated programming language for custom indicators and expert advisors compared with MT5.
That said, its age and popularity mean that there are a ton of tutorials, articles, and documentation on MT4. This, as well as having fewer functions to learn, makes the MT4 trading platform more appealing to new, inexperienced traders. The large number of custom indicators and expert advisors also adds to the appeal of the platform. And a simpler programming language makes it easier to start creating indicators and EAs yourself.
MetaTrader 5 is a newer platform. It is actively developed and offers more features compared with MT5. Developed with modern PCs in mind, the platform works faster than MT4. Its advanced programming language allows the creation of more sophisticated indicators and EAs. Furthermore, the MT5 platform is suitable for trading a wide range of various assets.
Being more complex and somewhat difficult to learn, MT5 is more suited for experienced traders. Yet the fact that it continues to be developed and is going to take more and more market share from MT4 means that even new traders have an incentive to learn and use this platform.
















































































































































































































































