Trading Signals
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Added one click trading panel:
To show/hide one click trading panel, use the icon in the upper left corner or a context menu command.
Added automatic display of trading transactions on charts:
Trading Signals
Added command for refreshing the list of available signals in the signals showcase:
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Chart scale is now multiple of the symbol's tick size for the trading symbols having fixed tick size (futures).
Trading Signals
After clicking "Visualize", the client terminal automatically downloads the signal's trading history, opens appropriate charts and displays signal's deals as graphical objects in the same way as it is done for the trading account's history of the client terminal.
Changed the algorithm for calculation of the copied deal's volume in case a Signal Source and a Subscriber have different leverages:
Current algorithm:A deal volume is changed in direct ratio to the correlation of a Signal Source's leverage with a Subscriber's one. It means that if a Signal Source having a leverage of 1:100 opens a deal of 1 lot, a Subscriber having a leverage of 1:500 will open a deal of 5 lots in case of 100% copying and a deposit matching by size and currency. A subscriber having a leverage of 1:10 will open a deal of 0.1 lots in similar conditions.
New algorithm:If subscriber's leverage exceeds the one of the Signal Source, it does not affect a volume of a copied deal. Otherwise, the deal volume is changed in direct ratio to the correlation of a Signal Source's leverage with a Subscriber's one.
It means that if a Signal Source having a leverage of 1:100 opens a deal of 1 lot, a Subscriber having a leverage of 1:500 will open a deal of 1 lot in case of 100% copying and a deposit matching by size and currency. A subscriber having a leverage of 1:10 will open a deal of 0.1 lots in similar conditions.
MQL5 Market
bool TextOut( const string text, // displayed text int x, // X coordinate int y, // Y coordinate uint anchor, // anchor type uint &data[], // output buffer uint width, // buffer width in pixels uint height, // buffer height in pixels uint color, // text color ENUM_COLOR_FORMAT color_format // color format for output );TextSetFont function sets the font for displaying the text using drawing methods and returns the operation result.
bool TextSetFont(
const string name, // font name or path to font file on the disk
uint size, // font size
uint flags, // combination of flags
int orientation=0 // text slope angle
);
TextGetSize function returns the line width and height at the current font settings.
bool TextGetSize( const string text, // text string uint& width, // buffer width in pixels uint& height // buffer height in pixels );
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Full text of news - New MetaTrader 5 iPhone Features Chat with MQL5.com Users, Classification of Messages and Much More
The MetaTrader 5 for iPhone can be downloaded at https://download.mql5.com/cdn/mobile/mt5/ios?hl=en&utm_source=www.metatrader5.com
Trading Signals
Added filtering by signal age and by type of signal source account in the signals showcase. Added color highlighting of signals by type of signal source account:
Also added the command for quick search of a description of the signal the account is subscribed to - "My Subscription".
Added subscription renewal feature. Expanded information about the current subscription.
MQL5 Market
Added new function ArrayCompare:
int ArrayCompare(const void &src1[],const void &src2[],uint start1=0,uint start2=0,uint count=WHOLE_ARRAY);
Compared are arrays of simple types or custom structures without complex objects (strings, dynamic arrays, classes or other structures with complex objects). This function works only with arrays of the same type src1 and src2. When src1 is of type char and src2 is of type uchar, the error 302 "type mismatch" will occur.
Changed OpenCL benchmark system: when OpenCL device(s) configuration is changed (including at the first run), terminal runs a test that determines device(s) performance and stores information in the registry.
To automatically select the most efficient device, call the function of creating OpenCL context and specify CL_USE_ANY as the device number.
Results of main optimization and forward optimization are now displayed on different tabs of tester window. This allows an easier navigation in results of forward optimization.
Forward testing settings can now be applied to a single test pass.
Obtained two sets of results - from start date up to forward date and from forward date up to end date (instead of one set of results from start date up to end date) - accurately repeat the appropriate lines in optimization results with the enabled forward period. This feature is not yet provided in visualization mode.
Modified displaying of char type variables in debugger. If value corresponds to a printable character, this character is also displayed.
Added commands to navigate between previously opened documents - Navigate Forward and Navigate Backward:
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Full text of news - Updated MetaTrader 5 Android Features Data Window and OHLC Prices.
The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com
Over half a million of traders from all over the world currently use MetaTrader 4 and MetaTrader 5 mobile terminals in their trading activity. This figure is the most objective proof of the high quality and functionality of the mobile applications developed by MetaQuotes Software Corp.
83 000 traders use MetaTrader 5 terminals, while 418 000 traders use MetaTrader 4. This statistical data includes the terminals both for iPhone and Android devices. Though both mobile platforms have almost similar functionality, the wider popularity of MetaTrader 4 is obvious. This can be explained by widespread distribution of the platform on the market.
"We are glad that we managed to release the applications that have become so popular. Positive statistical data suggests that we are on the right track, and we should continue our development in this direction" - said Gaies Chreis, company COO.
The statistical data has been gathered during the last six months from the time when MetaQuotes ID was introduced in the mobile terminals. These unique identifiers have been designed to send service messages to traders' terminals. They also allow defining the number of actually used terminals. MetaQuotes ID is assigned to a mobile terminal only when it is launched. In other words, statistics consider only the terminals that have been actually launched and used.
Download and, most importantly, use MetaTrader 4 and MetaTrader 5 mobile terminals. Have a nice trend!
Trading Signals:
Changed signal list display. The signals installed on the server of the broker, to which the terminal corresponds, are now displayed by default. In case of the signals' absence, the ones installed on MetaQuotes demo server are displayed. Select "Full Signal List" in the signals context menu to see the complete signal list.
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Added "Test" command to the context menu of MQL5 applications - enabling Strategy Tester with an MQL5 application selected for testing.
Added the dialog of consent to synchronize positions on a subscriber's account with signal's ones in case of a positive floating profit on a signal provider's account:
By default, synchronization is allowed only if the floating profit on the provider's account is not positive. This ensures that the signal subscriber can enter the market at a price that is not worse than the provider's one during synchronization of positions. Thus, the appropriate dialog window is shown before synchronization where traders can enable forced synchronization of positions with the signal, despite the positive floating profit.
Added the dialog of automatic closing of positions and orders on a subscriber's account before synchronizing with signal provider's positions and orders:
Before synchronization, subscribers should close positions and remove orders opened manually or based on another signal. If open positions or pending orders unrelated to the provider's signals are detected, the client terminal will offer to remove all pending orders and close all positions automatically at the current price. However, traders can perform all necessary actions manually.
template<typename T> // В < > указываются параметры шаблона через запятую, не более 8. T ArrayMax(const T &data[],const T defval) // В качестве параметра может выступать только тип { T result=defval; uint size =ArraySize(data); //--- for(uint i=0;i<size;i++) { if(result<data[i]) { result=data[i]; } } //--- return(result); }Keep in mind that automatic reduction of parameters is not allowed when a template function is called. The parameter type should be clearly defined. For example, when calling ArrayMax function for char type array and CHAR_MIN as defval, the second parameter's type should be clearly defined as char:
char a[]; Print(ArrayMax(a,CHAR_MIN)); // ошибка, невозможно применить шаблон, т.к. T может быть или char или int Print(ArrayMax(a,(char)CHAR_MIN)); // ошибки нет, параметр шаблона T может быть только charNumber of template parameters cannot exceed 8. Insertion of templates into the code is performed only by call parameters, evident template typification is not performed.
Print(ArrayMax<char>(a,CHAR_MIN)); // Явная типизация шаблона пока не доступна!
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Full text of news - MetaTrader 5 for Android Provided with Extended Authorization, "Crosshair" Mode and the Ruler.
The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Moreover, the Client Terminal will copy trading signals with minimum delays according to the signal settings.
One trading account on the broker's trade server can be subscribed to only one Signals Source at a time. To change the Signals Source, the active subscription has to be revoked.
Before the Signal is copied, client's positions undergo the initial synchronization with the positions of the Signals Source. There shall be no orders or positions in the client account of the Subscriber that were opened by the client or based on the Signal from another Signals Source. Moreover, the initial synchronization is only possible in case the total floating profit of the Signals Source is not positive, thus the Subscriber will enter the market at the price which is not worse than that at which the Signals Source entered the market.
The synchronization initiates the opening of the client's positions in the same direction and trading instrument as the positions of the Signals Source. The opening position volume is determined according to the money management settings. The positions are opened using market orders with slippage specified in the settings. SL and TP levels are also copied, unlike pending orders that are not copied.
Further copying of the Signal is subject to successful synchronization the results of which are recorded in the terminal log labeled "Signal".
Following the successful initial synchronization, new transactions in the account of the Signals Source are copied again by performing the same transactions in the client account of the Subscriber using market orders. The order volume and slippage are determined according to the settings. Changes in the SL and TP levels for open positions are also copied. All actions associated with the copying of the signal are recorded in the terminal log labeled "Signal".
The copying of signals does not provide for the possibility of concurrent trading either manually or using an Expert Advisor. Any results of copying the signal are incalculable after such interference.
If an error occurs when copying the signal - connection failure, order placing error, etc. - the account will again be synchronized with the Signals Source.
The signal settings require the specification of the money management, i.e. the algorithm for determining the volume of transactions with respect to the volume of transactions of the Signals Source:
Trading operations are performed with a permissible slippage set by the "Slippage" parameter that is expressed in spreads of a trading instrument.
The copying of the signal will stop automatically if Equity falls below the level specified in the settings. All previously opened positions will in this case get closed.
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Full text of news - MetaTrader 5 Android enhanced - now with Push notification support!
The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com
Full text of news - The latest version of MetaTrader 5 for Android now has the full set of technical indicators!
The MetaTrader 5 for Android can be downloaded at https://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.com
Added quick position closing and orders deletion by a single mouse click.
Click the cross in "Profit" column of orders and positions list to close a position or remove a pending order.
If "One-click trading" option is enabled in the terminal settings, position will be closed immediately at the current price (order will be removed). If the option is disabled or quick closing is impossible (for example, for trading symbols having Request Execution type), the standard position closing (order removal) dialog will appear.
Projects folder in MQL5 directory has been implemented for common projects. It is shown in blue in Navigator.
Despite the fact that Projects folder is located inside MQL5, the projects are located separately from the user's personal directory (https://storage.mql5.com/svn/Personal/<MQL5.community
account>/MQL5).
All projects are stored in a separate section https://storage.mql5.com/svn/Projects/
The top-level directory in Projects folder is considered to be a project. Therefore, a new folder should be created in Projects section to create a project. Use "New Folder" option to create the new folder, select it and click "Create Project" in the context menu.
The project will be created. Reports on successful project creation will be displayed in MetaEditor's journal.
Access to each project is set only by a project author (a user who created it).
To start a teamwork on a project, you should allow other users to access it. Click "Add Permission" in the context menu of a created project folder and add a new user by specifying his or her MQL5.community login.
Click "Checkout" in "Projects" folder context menu to upload available projects. The projects will be uploaded from the storage. All further operations with them are similar to the ones with conventional files assigned to MQL5 Storage.
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Added request_id field in
MqlTradeResult structure - a unique identifier of the terminal trade
request during a network session.
This
field is filled by the client terminal when a trade request is
successfully sent to the server. Further on, this field is filled in
result parameter of OnTradeTransaction entry point. Therefore, the
opportunity of clear comparison of OrderSend and OrderSendAsync
functions calling with getting the trade request results at
OnTradeTransaction entry point is provided.
For ease of writing code, MetaEditor provides the possibility to insert snippets — small template fragments of source code describing a particular construction of the MQL5 language. Insertion of a snippet is initialized by typing the keyword. After you type the keyword the cursor is changed to "Snippet available". To insert a snippet, you should press "Tab". For more information about working with snippets please read the MetaEditor Help.
The key word for OnTradeTransaction entry point is OnTradeTransaction.All input parameters can now be included for optimization (the number of input parameters is limited by 1024). It means that the space that can have the maximum value to be written in the integer 1024-bit value can be used in the genetic search for the optimal parameters. The protocol of data transfer between the terminal and tester agents has been changed for big indices of the optimized variants.
Therefore, all previous versions of tester agents will not be able to connect to the cloud network and (or) the client terminal because of the protocol change and will be updated automatically via LiveUpdate system.Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
The MetaTrader 5 for iPhone can be downloaded at https://download.mql5.com/cdn/mobile/mt5/ios?hl=en&utm_source=www.metatrader5.com
Added OnTradeTransaction entry point - getting information about trade transactions performed for a trade account.
void OnTradeTransaction(const MqlTradeTransaction& trans,const MqlTradeRequest& request,const MqlTradeResult& result)
The entry point is called to transfer the data on the trade transactions performed for a trade account to MQL5 program:
The client terminal stores the history of transactions and
consistently transfers them to an Expert Advisor, if an entry point is
present. The history is limited to 1024 transactions and cleared during
the next connection.
Note that transactions processing in the terminal is performed independent of transactions processing in MQL5 program. For example, while an Expert Advisor processes a transaction to add a new order, the terminal can at the same time get a transaction to delete the appropriate order and move it to history.
MQL5: Enhanced ENUM_DEAL_TYPE "deal types" enumeration values set. The following values are added:
CCanvas class allows to implement various graphics on custom charts of "Bitmap" and "Bitmap Label" types. In fact, these objects turn into a surface for drawing any image. Thus, it is possible to create custom graphical objects, apart from the ready-made terminal ones.
The class implements the functions for drawing lines, circles, rectangles, polygons, their filling and filling any area in a specified color. Besides, the client terminal distribution kit now has the example of the class application CanvasSample (MQL5\Scripts\Examples\Canvas\CanvasSample.mq5).
Added saving the intermediate data of the genetic
optimization - the optimization process will start from where it was
stopped, not from the beginning.
Profiling results are exported in HTML, CSV and OpenXML formats. To move to a specific code line, just double-click on the appropriate profiling report line.
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com
The client terminal supports sending messages concerning various events to iOS and Android powered devices using push notifications. With this feature, traders are always aware of all events.
Push notifications are short messages consisting of not more than 255 symbols. Such notifications are delivered immediately and they cannot be lost along the way.
Push notifications can be sent in two ways from the client terminal:
Via MQL5 application
Special SendNotification function is available in MQL5 language allowing MQL5 application to send push notifications to MetaQuotes ID specified in the terminal settings.
Via signals function
The client terminal allows to create the signals used to notify about the market events. They are set at the "Alerts" tab of the "Toolbox" window. One type of alerting about the events is sending push notifications.
Check "Enable Push Notifications" box to allow the client terminal to send messages.
Then, specify one or several MetaQuotes IDs separated by commas. To find out your MetaQuotes ID, open the mobile version of the terminal and go to Settings -> Messages page. That is how that page looks in the mobile terminal for iPhone:
Press "Test" button to test messages sending. If sending is successful, you will see the appropriate message and the test notification will be delivered to your mobile device.
Added the button link to MQL5.community website at the client terminal toolbar.
"Charts" and "Objects" tabs are combined into one in the terminal settings.
32-bit version of the terminal has been compiled with the possibility to expand the available virtual address space. The volume of the available memory is expanded from 2 Gb:
Added display of "Label" and "Bitmap Label" graphical objects sizes in their properties dialog:
Added ResourceCreate function - for loading a resource from a file or creating an image:
Creating the resource from the file:
bool ResourceCreate( const string resource_name, // resource name const string path // relative path to the file );Creating an image based on the pixels array:
bool ResourceCreate( const string resource_name, // resource name const color& data[], // data set as an array uint img_width, // created resource image width uint img_height, // created resource image height uint data_xoffset, // horizontal offset of the upper left corner of the created image to the right uint data_yoffset, // vertical downward offset of the upper left corner of the created image uint data_width, // image total width based on data set ENUM_COLOR_FORMAT color_format // color handling method );
The first case of the function allows to load images and sounds from files, the second case allows only to create images dynamically. Images must be in BMP format, color depth - 24 or 32 bits, sounds can only be in WAV format. A resource size must not exceed 16 Mb.
Renamed ENUM_ORDER_TYPE_FILLING enumeration elements:
Standard Library.
Added the ability to test the indicators including the ones downloaded from MQL5 Market:
Therefore, it is now possible to evaluate behavior of an indicator during the changes in history.
Corrections in test results reports:
Added С++ files (*.cpp) compilation support in case Microsoft Visual Studio 2008/2010/Express is installed.
Thus, it is possible to debug and modify custom DLLs written in С++ right in MetaEditor.
by dragging DLL on an open MQL5 source code file:
Fixed errors reported in crash logs.
Updated documentation.
The live update is available through the LiveUpdate system.
The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com