MetaTrader 4 Trading Terminal Build 710: Exposure, New Showcase of Signals and Manual Operations during Copy Trading

What's new in MetaTrader 4

26 September 2014

Trading terminal

  1. Allowed specification of Stop Loss and Take Profit when opening a position for a Market Execution type symbol.



    In earlier versions, the SL/TP levels could be set only from MQL4 applications in this execution mode.

  2. Added a separate window to view the logs of the terminal, Expert Advisors and Strategy Tester. It's a more convenient way to view logs and filter them by keyword and date if needed.



    To view logs, open the context menu of the Journal tab and run the Browse command.

    The upper part of the window contains the search bar to search in the log (only precise case sensitive search is performed) and the filter of entries (Full, Only errors). Time range for search can also be set. After specifying all the necessary search conditions, press the "Request" button.




  3. Search results for MQL5.community now contain "Blogs". In this section, traders share interesting and useful information with the community audience. Here you will find news from around the world on a variety of topics - rumors about companies, reports on countries and industries, market analysis, the latest trading developments, and much more.

    Share your ideas and trading achievements in the Blogs!




  4. New "Exposure" tab added in the "Terminal" window to show the summary information about the state of trader's assets for all open positions.



    This tab contains the following information:

    • Assets - the name of a currency or financial instrument.
    • Volume - client's position volume (in units) for the currency or financial instrument including leverage.
    • Rate - currency or instrument rate in relation to the deposit currency.
    • Deposit currency - this column shows the amount of deposit currency (excluding leverage) actually expended to buy/sell the currency or trading instrument.
    • Graph - a graphical representation of the client's position in the deposit currency (blue bars show long positions, red ones denote short ones).

  5. Fixed saving of the MQL4 programs tree state in the "Navigator" window when closing the terminal. In some cases, the categories of MQL4 programs and accounts opened during operation, appeared to be closed after the terminal restart.
  6. In the Depth of Market added a tooltip of the position close button; it contains a description of the position being closed.




  7. Fixed modification of SL/TP values using the mouse wheel in the position modification dialog.
  8. Fixed deletion of a pending order that is dragged in the market depth across the Bid/Ask price border to a level within the range, where pending orders are forbidden.



    In earlier version such a pending order was deleted. Now such an order stays unmodified. An appropriate error message appears in the journal.

  9. Fixed an error that in some cases led to a false message "trade context is busy" in the terminal log.
  10. During the connection, the names of the trade server and the access point the terminal has connected to are displayed in the terminal's journal.
    2014.09.24 11:41:17.535    '2620818': login on MetaQuotes-Demo through Access Point 1
  11. Redesigned News tab and news display dialog. The works on improving the news delivery system and rich content support are underway.




  12. Fixed and improved scanning of access points when searching for the best connection.
  13. Added journal deletion commands to Experts and Journal tabs of Terminal window and Journal tab of the strategy tester.

MQL4 Language

  1. Fixed receiving of the trading instrument property "Currency Profit" (SYMBOL_CURRENCY_PROFIT) using the SymbolInfoString function. Earlier, instead of the profit currency the base currency was returned.
  2. Fixed errors in the IndicatorBuffers functions, which could appear during allocation of more than 16 indicator buffers.
  3. Added a new error code in trade operation execution - ERR_TRADE_EXPERT_DISABLED_BY_SERVER. It means that trading using Expert Advisors is disabled in the trade server settings.
  4. Significantly accelerated the operation of Copy* functions for working with price history.
  5. REASON_CLOSE value instead of REASON_CHARTCLOSE one is now passed to Expert Advisors, scripts and indicators as a closure reason when the terminal is closed.
  6. Added transformation of macro parameters into a string and concatenation of macro parameters. Below you can find an example where the concatenation of the macros allows deleting class instances automatically.
    //+------------------------------------------------------------------+
    //|                                                     MacroExample |
    //|                        Copyright 2014, MetaQuotes Software Corp. |
    //|                                       https://www.metaquotes.net  |
    //+------------------------------------------------------------------+
    #property script_show_inputs
    input bool InpSecond=true;
    
    #define DEFCLASS(class_name) class class_name:public CBase{public:class_name(string name):CBase(name){}};
    #define TOSTR(x) #x
    #define AUTODEL(obj) CAutoDelete auto_##obj(obj)
    #define NEWOBJ(type,ptr) do { ptr=new type(TOSTR(ptr)); \
                             Print("Create object '",TOSTR(type)," ",TOSTR(ptr),"' by macro NEWOBJ"); } \
                             while(0)
    //+------------------------------------------------------------------+
    //| Base class, required used for auto deletion                      |
    //+------------------------------------------------------------------+
    class CBase
      {
    protected:
       string            m_name;
    
    public:
                         CBase(string name):m_name(name) { }
       string            Name(void) const{ return(m_name); }
    
      };
    //+------------------------------------------------------------------+
    //| The class of auto deletion of objects allows you not to control  |
    //| deletion of created objects. It deletes them in destructor       |
    //+------------------------------------------------------------------+
    class CAutoDelete
      {
       CBase            *m_obj;
    
    public:
                         CAutoDelete(CBase *obj):m_obj(obj) { }
                        ~CAutoDelete()
         {
          if(CheckPointer(m_obj)==POINTER_DYNAMIC)
            {
             Print("Delete object '",m_obj.Name(),"' by CAutoDelete class");
             delete m_obj;
            }
         }
      };
    //+------------------------------------------------------------------+
    //| Declare two new classes CFoo and CBar                            |
    //+------------------------------------------------------------------+
    DEFCLASS(CFoo);
    DEFCLASS(CBar);
    //+------------------------------------------------------------------+
    //| Main function of the script                                      |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       CFoo *foo;
    //--- create an object of the CFoo class
       NEWOBJ(CFoo,foo);
    //--- create an instance of the class of auto deletion of CFoo foo object
       AUTODEL(foo);
    //---
       if(InpSecond)
         {
          CBar *bar;
          //---
          NEWOBJ(CBar,bar);
          AUTODEL(bar);
         }
    //--- It is not necessary to delete foo, it will be deleted automatically
      }
    //+------------------------------------------------------------------+
    


Trading signals

  1. The showcase of signals has been completely redesigned. New features added, design and usability of the Signals service improved.



    New features in the list of signals:

    • The list of signals now contains growth charts similar to those displayed on the MQL5.community site. A green icon in the lower left corner of the chart indicates that the signal is based on a real account.
    • Now subscription to a signal is available directly from the list. To subscribe, press the button with the price indication (or the word 'Free', if the signal is free). This will open a subscription confirmation dialog.
    • Now signals can be added to favorites. Click the star icon at the end of the signal line. After that, the signal can be easily found in the "Favorites" tab.
    • The context menu has been removed. Now to find a signal to which you have subscribed, go to any signal. The top panel shows the signal you are subscribed to and a link to it.

    Signal view page has been updated. A new option allows to add signals to favorites. The total state of the signal account is displayed when hovering the mouse pointer at "Growth". Signals statistics expanded:

    • The total amount of subscribers' funds.
    • Trading account lifetime since its first trading operation.
    • The average position holding time.



    New tabs:

    • Risks - information about the best and worst trade operations and series of operations, and information on drawdowns.
    • Reviews - reviews of signal subscribers.
    • News - through this tab the signal provider can inform subscribers of any change in the signal and post other useful information.

  2. Restrictions on signal subscriptions became milder:

    • If the trading history of the signal contains symbols that are not available in the subscriber's terminal, the subscription is now allowed (was prohibited in previous versions). The actions with the positions for which the subscriber does not have symbols are ignored. An information message appears in the journal:
      2014.08.26 16:44:29.036    '2620818': Signal - symbol GBPNZD not found
    • If the subscriber has positions and/or pending orders, a warning dialog suggesting to close/delete them appears (as before). Now, however, it is not an obligatory condition to continue working with signals.



      Synchronization with the signal provider will be performed. Positions and orders that were opened not based on the subscription signal are left unchanged. The user can perform any operations with them.

    • Users can now perform trade operations manually (or using an Expert Advisor), being signed to a signal. The Signals service will ignore the positions and orders opened by the trader.
      Keep in mind that placing orders manually affects the amount of available margin on the trading account. Opening positions manually increases the overall load on the account as compared with the signal provider.

  3. Improved ping measurement accuracy. Ping is now measured three times, accurate to one hundredth of a millisecond.




Strategy tester

  1. Fixed calculation of commission as a percentage per annum during testing.
  2. Added display of Expert Advisor initialization errors in the testing journal during optimization.

MetaEditor

  1. MetaEditor: Fixed text replacement when the list of MetaAssist tips is collapsed.

Fixed errors reported on the forum and in crash logs.

The update will be available through the LiveUpdate system.