About 2 weeks ago, the beta version of Metatrader 5 was sent to a selected group of developers from the MQL4 community. One of them has posted a small review of the upcoming trading platform Below are some of his findings.
We have now the long-awaited MetaTrader 5 and MQL5
Practically, everything what many developers wanted from MQL 5 and Metatrader 5 was implemented and realized at the highest level. The major change in MQL5 is the introduction of OOP (Object-oriented programming). Professional programmers have now more opportunities, but those who learned to write in MQL4, can use the MQL4 programming in MQL5 without the benefit of OOP. The only difference is functionality, the only thing that must be learned. For example, "Bid" and "Ask" variables no longer exist. To get the "Bid" value, we must use the function:
The frequently used functions Low  or iLow (Symbol (), PERIOD_D1, 0) are also gone, but you can easily recreate them. Historical data functions have now the opportunity to take the historical data from point to point, from one particular bar to another specific bar or on a specified time prior to this. So now you dont have to take the entire visible range of historical data:
Int Bar=30; // read only 30 bars, beginning from 0;
So now we can get control not only on the arrival of tick, as before, but also on a timer, that allows you to write full-fledged program operated in real time. This feature allows us to create more featured systems.
The function OnTrade () is called when any of the trade events is happening: placing orders, StopLoss or TakeProfit, changing levels of stoploss or takeprofit, editing or deleting a pending order.
So the monitoring of trading operations events is now much easier than before. There is no need for the checking of the orders on ticks or bars, what previously had to be done in MQL4. So the speed is now much better, particularly in optimization.
The function OnChartEvent () is called at multiple events. I did not test each, but the list of events is impressive:
- CHARTEVENT_KEYDOWN - keyboard is pressed;
- CHARTEVENT_OBJECT_CLICK - mouse click on the graphical object on chart;
- CHARTEVENT_OBJECT_DRAG - move of the graphical object using the mouse;
- CHARTEVENT_OBJECT_ENDEDIT - finishing editing the text CHARTEVENT_CUSTOM + n - ID of the user events;
- CHARTEVENT_CUSTOM_LAST - latest.
With MQL5 we can control the trading and graphics on a new functional level, as was promised by the developers
Graphic objects allow you to create information panels.
New graphics, buttons, input fields. The control of graphics is now on a fantastic level, you can even insert pictures from files - custom designs for lovers of non-standard design. This is not Photoshop, it is possible with MQL5 and MetaTrader 5. There are new opportunities, you can create your own buttons and their input fields, such as adding an interface button that will close all open orders. Or quick buy or Sell in a single click, with pre-fielded parameters of stop loss and take profit.
If we talk about the terminal itself, the first you will notice is the big number of timeframes. But the abundance of minute timeframe, probably will please those who have so long dreamed about it. Dreamers of non-standard timeframes are one step away from a custom timeframe, which, however, can be considered as unnecessary. Method of data storage is now 1 minute, so there are no more problems with the synchronization of different timeframes - this is a very important technological solution.
The history folder: no more files with different timeframes