Preliminary Announcement of the New MetaTrader 4 Build 421

 


Preliminary Announcement of the New MetaTrader 4 Build 421

Over the next few days, we will release the MetaTrader 4 update.

In addition, from June 1, 2012 support for client terminals older than build 416 will be discontinued. In this regard, we strongly recommend all traders to update their trading terminals to the latest version as soon as possible.


MetaTrader 4 Client Terminal build 421

  1. Terminal: Fixed opening of a chart from the Market Watch window in case there are open positions that require hidden symbols.
  2. Terminal: Fixed display of tooltips for hieroglyphic languages.
  3. Terminal: Improved checking of registration information entered in the demo account opening wizard.
    To improve the quality of registration data, added the following data validation (incomplete list):
    • Name and address must not contain odd symbols.
    • Added limitations to the minimum and maximum length of a phone number.
    • An entered email address must match the format name@domain_name.
  4. Fixed errors reported on the forum and in crash logs.

MetaTrader 4 Mobile build 421, MetaTrader 4 Smartphone build 421

  1. Fixed automatic selection of the interface language.
  2. Fixed operation of LiveUpdate with bad connection.
  3. Fixed dialogs of properties of the MACD and Gator Oscillator indicators.
  4. Fixed updating of the state of graphical objects after their properties have been edited.
  5. Improved checking of registration information entered in the demo account opening wizard.
  6. Updated interface translation into Chinese, German and Russian.

The update will be available through the LiveUpdate system.

 
How about implementing a way in mql4 to accept the requote price offered by the broker like you can when manual trading.
 
Already there. OrderSend fails GetLastError returns 138, you refreshRates and do another OrderSend with the new price.
 

As I help other forumers here at MQL4, I noticed that some of them write the OrderSelect() code incorrectly. I have no idea how these forumer write the OrderSelect() that way. Until this evening, after installing MT4 from FXCM using web installer - which I supposed downloading material from MetaQuotes server. I open MetaEditor, and look at "MACD Sample EA". Here's some part of the code which I think does not make any sense at all. I have good feeling that someone else may already complain about this, but whatever it is ...

   
     ...
     ...
     ...
     return(0);
     }
   // it is important to enter the market correctly, 
   // but it is more important to exit it correctly...   
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);   // ==>> whatever the result, true or false, we continue executing next block of the code
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // should it be closed?
           ...
           ...
           ...


 
If there are no trades OrdersTotal() would be zero so the loop would exit at zero before OrderSelect() is called.