Table of Contents
Release Notes: MetaTrader 4
MetaTrader 4 Forex Trading Platform
18 August 2016
MetaTrader 4 build 1010: New opportunities of MQL4
Terminal
- Fixed an error which prevented execution of MQL4 applications in terminals running in 32-bit Windows 10, build 1607.
- Fixed occasional incorrect display of the Search and Chat buttons.
- Fixed occasional duplicate welcome-emails delivered to the terminal when opening a demo account.
MQL4
- Added new ‘void *’ pointers to enable users to create abstract collections of objects. A pointer to an object of any class can be saved to this type of variable. It is recommended to use the operator dynamic_cast<class name *>(void * pointer) in order to cast back. If conversion is not possible, the result is NULL.
class CFoo { }; class CBar { }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { void *vptr[2]; vptr[0]=new CFoo(); vptr[1]=new CBar(); //--- for(int i=0;i<ArraySize(vptr);i++) { if(dynamic_cast<CFoo *>(vptr[i])!=NULL) Print("CFoo * object at index ",i); if(dynamic_cast<CBar *>(vptr[i])!=NULL) Print("CBar * object at index ",i); } CFoo *fptr=vptr[1]; // Will return an error while casting pointers, vptr[1] is not an object of CFoo } //+------------------------------------------------------------------+
- Added support for the operator [ ] for strings. The operator enables users to get a symbol from a string by index. If the specified index is outside the string, the result is 0.
string text="Hello"; ushort symb=text[0]; // Will return the code of symbol 'H'
- The CopyXXX function that copies history and tick data has become faster.
- Fixed deletion of multiple graphical objects with the specified prefix using the ObjectDeleteAll function. Before the update, the remaining objects could be displayed in a wrong order after the execution of this function.
- Fixed occasional incorrect order of graphical objects display after changing the timeframe.
Hosting
- During terminal synchronization with the virtual server, charts without Expert Advisors are ignored now, even if custom indicators are running on these charts. If you need to migrate a custom indicator, run it on the chart of an “empty” Expert Advisor that does not perform operations. Such an Expert Advisor can be easily generated using the MQL4 Wizard in MetaEditor by selecting “Expert Advisor: template”. This update is to ensure that indicators are migrated on purpose.
- You can now synchronize Expert Advisors and custom indicators whose names contain non-Latin characters (e.g. Cyrillic or Chinese characters).
Fixed errors reported in crash logs.
1 July 2016
MetaTrader 4 build 985: Built-in MQL5.community Chat
Terminal
- New built-in chat. Now, traders can chat with their MQL5.community friends and fellow traders straight from the platform. The chat maintains the history of messages, as well as it features the number of unread messages. To start a chat, log in to your MQL5 account straight from the chat window or via the platform settings: ‘Tools’ -> ‘Options’ -> ‘Community’.
- Optimized reading of the internal mail database when the terminal starts.
MQL4
- Added an option to show/hide the price and time scale on any chart. In earlier versions, an MQL4 application could only change the CHART_SHOW_PRICE_SCALE and CHART_SHOW_DATE_SCALE properties of the chart, on which it was running.
- New MODE_CLOSEBY_ALLOWED property for the MarketInfo function. TRUE means that the Close By operation (closing by a counter position) is allowed for the specified financial symbol.
- Fixed passing of a string parameter to the OnChartEvent entry point. The error could cause a false value of the parameter. OnChartEvent allows tracking chart events: keypress events, mouse movement and more.
- Implemented faster deletion of multiple graphical objects using the ObjectsDeleteAll function.
Signals
- Improved automated matching of currency pairs containing RUB and RUR.
Tester
- Fixed stamping of graphical object creation time during testing. In earlier versions, the current terminal time was added instead of testing time.
MetaEditor
- Fixed setting of focus in the replace text field when opening a replace dialog box.
- Fixed replacing of multiple text occurrences when you search upwards starting from the current positions.
Fixed errors reported in crash logs.