How to Start with Metatrader 5 - page 115

 

This is one of the key changes - 

------------

MetaTrader 5 Build 1700: Synthetic Instruments, Shared Projects and MQL5 Cloud Protector

MQL5: New online service MQL5 Cloud Protector has been added to provide additional protection for MQL5 programs. Protection is similar to the option used in the largest store of trading applications MetaTrader Market, where the EX5 product files submitted by sellers are additionally compiled to native code.

Now, this type of protection is available to all platform users. To protect your files, execute the following command in MetaEditor: Tools—MQL5 Cloud Protector. The only difference of MQL5 Cloud Protector from the mechanism used in the Market, is that the file is not linked to the user's computer. Protected via MQL5 Cloud Protector files can be run on any computers similar to common EX5 files.

MQL5 Cloud Protector is a secure service. Additional protection is only applied to a compiled file. The source code is not passed to the service. At the first step, a program is compiled to an EX5 file on the user's computer; after that the compiled file is sent over an encrypted channel to the service, where it is protected and returned to the user.

MQL5 Cloud Protector is a secure service. Additional protection is only applied to a compiled file. The source code is not passed to the service. At the first step, a program is compiled to an EX5 file on the user's computer; after that the compiled file is sent over an encrypted channel to the service, where it is protected and returned to the user.




 

Forum on trading, automated trading systems and testing trading strategies

Windows 10 April 2018 Update to make saved MetaTrader passwords invalid

MetaQuotes Software Corp., 2018.05.04 09:35

Windows 10 April 2018 Update to make saved MetaTrader passwords invalid

On April 30, Microsoft officially released a major update of their operating system Windows 10 April 2018 Update. This update affects configurations and encryption keys similar to the installation of a new Windows operating system.

In order to protect traders' information, the MetaTrader platform binds all data to the operating system and hardware of the computer, on which it is installed. This protection method ensures that even if platform files are stolen, hackers will not be able to connect to traders' accounts or use products purchased from the Market.

Unfortunately, after the installation of Windows 10 April 2018 Update, all passwords of trading accounts stored on your computer will become invalid. We highly recommend that you prepare for the new Windows release and save your passwords in a safe place, in order to be able to connect to your accounts after the update.

Due to the change of encryption keys, applications purchased from the Market will lose one activation, because all products are bound to the operating system. We have provided an additional activation for all products purchased from the Market regardless of the operating system, just like we provided activations after the previous release of Windows 10 Fall Creators Update. Thus, MetaTrader Market users will not lose product activations after the installation of Windows 10 April 2018 Update.

Activations of demo products will also be lost, so you will need to re-download such applications from the Market.


 

As many people are asking about "How to open account with MT5" and "How to add the broker to MT5" so I want to remind the following links:

-----------------

MetaTrader 5 Help - Open an Account

MetaTrader 5 Android OS Help - Opening a Demo Account 

MetaTrader 5 iPhone/iPad Help - Connecting to an Account and Opening a Demo Account 

-----------------

Simplified way to request a real account in MetaTrader 5 Android

-----------------

Find a Server by the Broker's Name

Another convenient new feature of MetaTrader 5 is adding brokers' servers by their names. With the previous version, you had to contact your broker to find out the IP address of the trade server or download a special client terminal. Now, you simply enter the name of the broker. The system automatically finds the server with the specified name and adds it to the list.

Forum on trading, automated trading systems and testing trading strategies

How does MQL5.com balance interact with broker balance?

Eleni Anna Branou, 2017.02.25 23:03

You MQL5.com balance is only for buying services within the MQL5.com website, such as: market products, signal subscriptions, VPS hosting and so on.

It has nothing to do with your broker's account balance, which is the money you trade with. 

Open an Account - Getting Started - MetaTrader 5
Open an Account - Getting Started - MetaTrader 5
  • www.metatrader5.com
Two types of accounts are available in the trading platform: demonstration (demo) and real. Demo accounts provide the opportunity to work in a training mode without real money, allowing to test a trading strategy. They feature all the same functionality as the live ones. The difference is that demo accounts can be opened without any investment...
 

MetaQuotes Official - MetaTrader 4/5 Platforms 


MetaQuotes Official - MetaTrader 4/5 Platforms - YouTube
MetaQuotes Official - MetaTrader 4/5 Platforms - YouTube
  • www.youtube.com
All secrets, life hacks and features of the MetaTrader platforms from the developer company - MetaQuotes Software. You will find out everything about desktop...
 

New article was published - 

----------------

Synchronizing several same-symbol charts on different timeframes  


From Elder to the present day, traders make trading decisions analyzing charts at different timeframes. I think, many of you are familiar with the situation when objects that display global trends are applied to higher timeframe charts. After that, a price behavior is analyzed near objects on lower timeframes. During such an analysis, previously created objects may change. Existing MetaTrader 5 tools allow performing this work on a single chart by changing a timeframe while preserving applied objects. But what if you need to keep track of a price on several charts simultaneously?

You can use templates for that. However, changing even a single object requires that you re-save the template and re-apply it to all charts. In this article, I propose to automate this process and assign the function of synchronizing charts to an indicator.

 

Forum on trading, automated trading systems and testing trading strategies

New MetaTrader 5 Platform beta build 1845: MQL5 functions for operations with bars and Strategy Tester improvements

MetaQuotes Software Corp., 2018.06.08 19:02

New MetaTrader 5 Platform beta build 1845: MQL5 functions for operations with bars and Strategy Tester improvements

The new beta version of the updated MetaTrader 5 platform will be released on June 8, 2018. We will update our public MetaQuotes-Demo server located at access.metatrader5.com:443. We invite all traders to join testing in order to evaluate updated platform features and help developers fix errors.

To update the MetaTrader 5 platform up to build 1845, connect to access.metatrader5.com server:443.

The final build of the new MetaTrader 5 platform will be released after the public beta testing.

This platform update is only available for terminals running on Windows 7 and later operating systems. Earlier Windows versions are not supported.
It contains the following changes:
  1. Terminal: The account opening dialog has been completely redesigned. Now, you may select a broker from the list and then choose the desired account type. This update has made the list of brokers more compact, since now it only displays company names instead of showing all available servers.

    To make the search even more convenient, company logos are additionally shown in the list. If the desired broker is not shown in the list, type the company name or the server address in the search box and click "Find your broker".



    Descriptions of account types have been added to the dialog to help beginners choose the right account. Also, to align with the General Data Protection Policy (GDRP), the updated dialog may contain links to brokers' agreements and data protection policies:



    The possibilities for opening real accounts have been significantly expanded. The functionality for uploading ID and address confirmation documents, which was earlier presented in mobile terminals, is now available in the desktop version. Now, MiFID regulated brokers can request any required client identification data, including information on employment, income, trading experience, etc. The new functionality will help traders to open real accounts faster and easier, without unnecessary bureaucratic procedures.




  2. MQL5: The speed of MQL5 applications has increased due to the additional source code optimization during compilation. Recompile your programs in the new MetaEditor version to make them run faster.
    Unfortunately, new programs will not be compatible with previous terminal versions due to this additional optimization. Programs compiled in MetaEditor version 1845 and later cannot be launched in terminal versions below 1845. Programs compiled in earlier MetaEditor versions can run on new terminals.

  3. MQL5: New functions: iTime, iOpen, iHigh, iLow, iClose, iVolume, iBars, iBarShift, iLowest, iHighest, iRealVolume, iTickVolume, iSpread. These functions are similar to those used in MQL4. These functions help users to easier transfer code of trading applications to the fifth generation platform.

    Earlier, most of tasks performed through these functions could be implemented using Copy* functions. However, users had to implement their own functions in order to find the High/Low values ​​on the chart and to search for bars based on their time. Now, these tasks can be easily executed using iHighest, iLowest and iBarShift functions.

    iTime
    Returns the Open time of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    datetime  iTime(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iOpen
    Returns the Open price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iOpen(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iHigh
    Returns the High price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iHigh(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iLow
    Returns the Low price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iLow(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iClose
    Returns the Close price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iClose(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iVolume
    Returns the tick volume of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iVolume(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iBars
    Returns the number of bars of a corresponding symbol and period, available in history.
    int  iBars(
       string           symbol,          // Symbol
       int              timeframe        // Period
       );

    iBarShift
    Search bar by time. The function returns the index of the bar corresponding to the specified time.
    int  iBarShift(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       datetime         time,            // Time
       bool             exact=false      // Mode
       );

    iLowest
    Returns the index of the smallest value found on the corresponding chart (shift relative to the current bar).
    int  iLowest(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              type,            // Timeseries identifier
       int              count,           // Number of elements
       int              start            // Index
      );

    iHighest
    Returns the index of the largest value found on the corresponding chart (shift relative to the current bar).
    int  iHighest(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              type,            // Timeseries identifier
       int              count,           // Number of elements
       int              start            // Index
      );

    iRealVolume
    Returns the real volume of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iRealVolume(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iTickVolume
    Returns the tick volume of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iTickVolume(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

    iSpread
    Returns the spread value of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iSpread(
       string           symbol,          // Symbol
       int              timeframe,       // Period
       int              shift            // Shift
       );

  4. Terminal: Now, the current volume of pending orders is shown on the chart, instead of the initially requested volume.



  5. Terminal: The updated terminal features optimized and faster rendering of the Market Depth feature in the extended mode with the enabled spread display.
  6. Terminal: Processing of trade request execution results has been optimized. This optimizations leads to a much faster processing in some cases.
  7. Terminal: Fixed error in Trailing Stop operation, which could occasionally lead to sending of several Stop Loss modification requests for the same position.
  8. Terminal: Fixed setting of minimum and maximum volume, as well as volume step in custom symbol settings.
  9. Terminal: Fixed error, due to which the "Fix Scale" option could be ignored, when applying a template to a symbol chart.
  10. Terminal: Fixed occasional incorrect accumulation of tick history.
  11. MQL5: New TesterHideIndicators function has been added. The function sets the show/hide mode of indicators used in Expert Advisors. The function is intended for managing the visibility of used indicators only during testing. Set to true if you need to hide created indicators. Otherwise use false.
    void  TesterHideIndicators(
       bool      hide     // Flag
       );
  12. MQL5: Added generation of the CHARTEVENT_CLICK event at a click on trade levels on the chart.
  13. MQL5: Fixed and optimized operation of CopyTicks functions.
  14. MQL5: Fixed value returned by the SymbolInfoDouble function for the SYMBOL_PROP_LIQUIDITY_RATE property.
  15. MQL5: Fixed copying of string arrays with overlapping memory.
  16. MQL5: Fixed allocation of a string array in the FileReadArray array.
  17. MQL5: Fixed errors in the MQL5 Standard Library.
  18. Tester: The system for working with the optimization cache has been updated. The cache stores data about previously calculated optimization passes. The strategy tester stores the data to enable resuming of optimization after a pause and to avoid recalculation of already calculated test passes.

    Changes in the optimization cache storage format
    In earlier versions, optimization cache was stored as one XML file. All Expert Advisor optimization passes with the specified testing settings were added to this file. Therefore, the same file stored results of optimization with different input parameters.
    Now, the optimization cache is stored as separate binary files for each set of optimized parameters. Strategy Tester operations involving the optimization cache have become significantly faster due to the new format and smaller file size. The acceleration can be especially noticeable when you resume a paused optimization pass.

    Viewing results of earlier optimizations
    Now, the results of earlier optimizations can be viewed right in the Strategy Tester, so there is no need to analyze huge XML files using third-party software. Open the "Optimization results" tab, select an Expert Advisor and a file with the optimization cache:



    The list contains all optimization cache files existing on the disk for the selected Expert Advisor. Optimization date, testing settings (symbol, timeframe, interval) and input parameters are shown for each file. You can additionally filter optimization results by the trade server, on which the results were obtained.

    Recalculation of the optimization criterion on the fly
    An optimization criterion is a certain variable parameter, the value of which determines the quality of a tested set of inputs. The higher the value of the optimization criterion, the better the testing result with the given set of parameters is considered to be.

    Earlier, only one criterion selected before optimization start was calculated during optimization. Now, you can change the optimization criterion on the fly when viewing results, and the Strategy Tester will automatically recalculate all values.



    Manual use of the optimization cache
    In earlier versions, optimization cache was stored as an XML file, which could be opened and analyzed using third-party software. Now it is stored in closed binary files. To get data in XML format, export them using the context menu of the "Optimization Results" tab.

  19. Tester: Added possibility to manually set the deposit currency and leverage for testing and optimization. In earlier versions, these parameters were set in accordance with the connected account. Therefore, one had to connect to other accounts in order to change these parameters.

    Please note that cross rates for converting profit and margin to the specified deposit currency must be available on the account, to ensure proper testing.



  20. Tester: Removed ban on the use of OpenCL in testing agents. Earlier, OpenCL devices were only allowed when testing on local agents. Now, agents are allowed to use all available OpenCL devices (such as processor, video card) when working in the local network and in the MQL5 Cloud Network.
  21. MetaEditor: Optimized and accelerated work with the MQL5 Storage.
  22. MetaEditor: Fixed resuming of debugging process after a pause in the MQH file.
  23. MetaEditor: Fixed source code highlighting in the editor.
  24. MetaEditor: Fixed navigation through search results.
  25. MetaEditor: Fixed mass text replace function. In some cases, only the first occurrence was replaced instead of all of them.
  26. Documentation has been updated.

The update is available through the LiveUpdate system.


 

Forum on trading, automated trading systems and testing trading strategies

New MetaTrader 5 Platform build 1860: MQL5 functions for operations with bars and Strategy Tester improvements

MetaQuotes Software Corp., 2018.06.14 16:06

New MetaTrader 5 Platform build 1860: MQL5 functions for operations with bars and Strategy Tester improvements

The MetaTrader 5 platform update will be released on June 15, 2018.
This platform update is only available for terminals running on Windows 7 and later operating systems. Earlier Windows versions are not supported.
The updated features the following changes:


  1. Terminal: The account opening dialog has been completely redesigned. Now, you may select a broker from the list and then choose the desired account type. This update has made the list of brokers more compact, since now it only displays company names instead of showing all available servers.

    Company logos are additionally shown in the list to make the search easier and more efficient. If the desired broker is not shown in the list, type the company name or the server address in the search box and click "Find your broker".




    Descriptions of account types have been added to the dialog to help beginners choose the right account. Also, to align with the General Data Protection Regulation (GDPR), the updated dialog may contain links to brokers' agreements and data protection policies:




    The possibilities for opening real accounts have been significantly expanded. The functionality for uploading ID and address confirmation documents, which was earlier presented in mobile terminals, is now available in the desktop version. Now, MiFID regulated brokers can request any required client identification data, including information on employment, income, trading experience, etc. The new functionality will help traders to open real accounts faster and easier, without unnecessary bureaucratic procedures.




  2. MQL5: The speed of MQL5 applications has increased due to the additional source code optimization during compilation. Recompile your programs in the new MetaEditor version to make them run faster.
    Unfortunately, new programs will not be compatible with previous terminal versions due to this additional optimization. Programs compiled in MetaEditor version 1860 and later cannot be launched in terminal versions below 1860. Programs compiled in earlier MetaEditor versions can run on new terminals.

  3. MQL5: New functions: iTime, iOpen, iHigh, iLow, iClose, iVolume, iBars, iBarShift, iLowest, iHighest, iRealVolume, iTickVolume, iSpread. These functions are similar to those used in MQL4. The functions provide for an easier transfer of code of trading applications to the fifth generation platform.

    Earlier, most of tasks performed through these functions could be implemented using Copy* functions. However, users had to implement their own functions in order to find the High/Low values ​​on the chart and to search for bars based on their time. Now, these tasks can be easily executed using iHighest, iLowest and iBarShift functions.

    iTime
    Returns the Open time of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    datetime  iTime(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iOpen
    Returns the Open price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iOpen(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iHigh
    Returns the High price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iHigh(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iLow
    Returns the Low price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iLow(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iClose
    Returns the Close price of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    double  iClose(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iVolume
    Returns the tick volume of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iVolume(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iBars
    Returns the number of bars of a corresponding symbol and period, available in history.
    int  iBars(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe        // Period
       );

    iBarShift
    Search bar by time. The function returns the index of the bar corresponding to the specified time.
    int  iBarShift(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       datetime         time,            // Time
       bool             exact=false      // Mode
       );

    iLowest
    Returns the index of the smallest value found on the corresponding chart (shift relative to the current bar).
    int  iLowest(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              type,            // Timeseries identifier
       int              count,           // Number of elements
       int              start            // Index
      );

    iHighest
    Returns the index of the largest value found on the corresponding chart (shift relative to the current bar).
    int  iHighest(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              type,            // Timeseries identifier
       int              count,           // Number of elements
       int              start            // Index
      );

    iRealVolume
    Returns the real volume of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iRealVolume(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iTickVolume
    Returns the tick volume of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iTickVolume(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

    iSpread
    Returns the spread value of the bar (indicated by the 'shift' parameter) on the corresponding chart.
    long  iSpread(
       string           symbol,          // Symbol
       ENUM_TIMEFRAMES  timeframe,       // Period
       int              shift            // Shift
       );

  4. Terminal: The history of deals now displays the values of Stop Loss and Take Profit. Stop Loss and Take Profit values for entry and reversal deals are set in accordance with the Stop Loss and Take Profit of orders, which initiated these deals. The Stop Loss and Take Profit values ​​of appropriate positions as of the time of position closing are used for exit deals. The latter allows saving and showing information about Stop Loss and Take Profit of a position as of the moment of its closure. This information was not stored in earlier versions, since positions disappear after closure, while the history of positions in the terminal is generated based on deals.




  5. Terminal: The history of positions now displays the values of Stop Loss and Take Profit. Stop Loss and Take profit values of deals, which open and close appropriate positions, are specified for such positions.




  6. Terminal: Now, the current volume of pending orders is shown on the chart, instead of the initially requested volume.




  7. Terminal: The updated terminal features optimized and faster rendering of the Market Depth feature in the extended mode with the enabled spread display.
  8. Terminal: Processing of trade request execution results has been optimized. This optimizations leads to a much faster processing in some cases.
  9. Terminal: Fixed error in Trailing Stop operation, which could occasionally lead to sending of several Stop Loss modification requests for the same position.
  10. Terminal: Fixed setting of minimum and maximum volume, as well as volume step in custom symbol settings.
  11. Terminal: Fixed error, due to which the "Fix Scale" option could be ignored, when applying a template to a symbol chart.
  12. Terminal: Fixed occasional incorrect accumulation of tick history.
  13. MQL5: New TesterHideIndicators function has been added. The function sets the show/hide mode for indicators used in Expert Advisors. The function is intended for managing the visibility of used indicators only during testing. Set to true if you need to hide created indicators. Otherwise use false.
    void  TesterHideIndicators(
       bool      hide     // Flag
       );
  14. MQL5: Added generation of the CHARTEVENT_CLICK event at a click on trade levels on the chart.
  15. MQL5: Fixed and optimized operation of CopyTicks functions.
  16. MQL5: Fixed value returned by the SymbolInfoDouble function for the SYMBOL_PROP_LIQUIDITY_RATE property.
  17. MQL5: Fixed copying of string arrays with overlapping memory.
  18. MQL5: Fixed allocation of a string array in the FileReadArray array.
  19. MQL5: Fixed errors in the MQL5 Standard Library.
  20. Tester: The system for working with the optimization cache has been updated. The cache stores data about previously calculated optimization passes. The strategy tester stores the data to enable resuming of optimization after a pause and to avoid recalculation of already calculated test passes.

    Changes in the optimization cache storage format
    In earlier versions, optimization cache was stored as one XML file. All Expert Advisor optimization passes with the specified testing settings were added to this file. Therefore, the same file stored results of optimizations with different input parameters.
    Now, the optimization cache is stored as separate binary files for each set of optimized parameters. Strategy Tester operations involving the optimization cache have become significantly faster due to the new format and smaller file size. The acceleration can be especially noticeable when you resume a paused optimization pass.

    Viewing results of earlier optimizations
    Now, the results of earlier optimizations can be viewed right in the Strategy Tester, so there is no need to analyze huge XML files using third-party software. Open the "Optimization results" tab, select an Expert Advisor and a file with the optimization cache:



    The list contains all optimization cache files existing on the disk for the selected Expert Advisor. Optimization date, testing settings (symbol, timeframe, interval) and input parameters are shown for each file. You can additionally filter optimization results by the trade server, on which the results were obtained.

    Recalculation of the optimization criterion on the fly
    An optimization criterion is a certain variable parameter, the value of which determines the quality of a tested set of inputs. The higher the value of the optimization criterion, the better the testing result with the given set of parameters is considered to be.

    Earlier, only one criterion selected before optimization start was calculated during optimization. Now, you can change the optimization criterion on the fly when viewing results, and the Strategy Tester will automatically recalculate all values.




    Manual use of the optimization cache
    In earlier versions, optimization cache was stored as an XML file, which could be opened and analyzed using third-party software. Now it is stored in closed binary files. To get data in XML format, export them using the context menu of the "Optimization Results" tab.

  21. Tester: Added possibility to manually set the deposit currency and leverage for testing and optimization. In earlier versions, the currency was set in accordance with the connected account. Therefore, one had to switch to other accounts in order to change the currency. The leverage size could only be selected from a predefined list, now any value can be specified.

    Please note that cross rates for converting profit and margin to the specified deposit currency must be available on the account, to ensure proper testing.




  22. Tester: Removed ban on the use of OpenCL in testing agents. Earlier, OpenCL devices were only allowed when testing on local agents. Now, agents are allowed to use all available OpenCL devices (such as processor, video card) when working in the local network and in the MQL5 Cloud Network.
  23. MetaEditor: Optimized and accelerated work with the MQL5 Storage.
  24. MetaEditor: Fixed resuming of debugging process after a pause in the MQH file.
  25. MetaEditor: Fixed source code highlighting in the editor.
  26. MetaEditor: Fixed navigation through search results.
  27. MetaEditor: Fixed mass text replace function. In some cases, only the first occurrence was replaced instead of all of them.
  28. Documentation has been updated.
The update will be available through the Live Update system.

 

This is the famous Firebird EA which was converted to MT5 - 

--------------

Firebird v0.60 - expert for MetaTrader 5 


The EA trades on the iMA (Moving Average, MA) indicator. At the same time, there is a parameter (defined in percents) Distance between "MA" and the price - the indicator indent from price. Before sending a trade order, it checks how much time has elapsed since opening the last position: If fewer than two periods (timeframes) have elapsed, then the position will not be opened.

--------------

Original EA's thread with many versions for MT4 is here: Firebird EA