New Version of MetaTrader 4 Client Terminal Build 427

MetaQuotes
Moderator
225222
MetaQuotes  


New Versions of MetaTrader 4 Components build 427

The new update of MetaTrader 4 platform has been released. We remind you that starting on June 1, 2012 the support of client terminal builds below 416 will no longer be provided. Therefore we strongly recommend that you update your terminals to the latest build.

If you have an older build of the client terminal, but the update window does not appear when you connect to a trade server, please download the latest terminal version from our website at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4setup.exe and install it to your terminal directory. All the settings of your terminal will be preserved.


MetaTrader 4 Client Terminal build 427

  1. Terminal: Added support for sending messages concerning various events to iOS and Android powered devices using push notifications.


    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 MQL4 application - special SendNotification function has been added to MQL4 language:

      bool  SendNotification(
         string  text          // message text
         );
      This function allows MQL4 program to send push notifications to MetaQuotes ID specified in the terminal settings.



    • Via alerts function - the client terminal allows to create the alerts used to notify about the market events. They are set at the "Alerts" tab of the "Terminal" 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.

  2. Terminal: 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:
    • to 3 Gb when using 32-bit operating system. Special keys for downloading the operating system are necessary to enable this mode in 32-bit operating system;
    • to 4 Gb when using 64-bit operating system. No additional actions are required to enable this mode in 64-bit operating system.

  3. Terminal: Added the button link to MQL4.community website at the client terminal toolbar.





  4. Terminal: Fixed opening of the chart from the Market Watch window in case there are open positions requiring hidden symbols.
  5. Terminal: Fixed tooltips display for hieroglyphic languages.
  6. 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.
  7. Fixed errors reported on the forum and in crash logs.

MetaTrader 4 Mobile build 427
MetaTrader 4 Smartphone build 427

  1. Fixed automatic selection of the interface language.
  2. Fixed LiveUpdate operation in case of 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 Russian, German and Chinese.


The update will be available through the LiveUpdate system.

Simon Gniadkowski
17304
Simon Gniadkowski  
It's very pleasing to see new development occurring for MT4 . . . thank you. :-)
rocketman99
122
rocketman99  
Mobile push notifications look incredilbly powerful. Thanks.
sokramm
56
sokramm  
I've been waiting for some kind of mobile notifications like this. Great! Thanks.
NevTon
14
NevTon  

Aha, now its clear that You can add something new to mql4 language.

So, once again, please add bool AccountIsECN() function or int AccountType() function, refering to post https://www.mql5.com/en/forum/138806/page4#625217

NevTon
14
NevTon  
And second thing, why sometimes WindowHandle (code below) returns 0 ?
// initiation code of EA
int init() {
   int win_handle = WindowHandle(Symbol(), 0);
   if (win_handle == 0) Alert("{", Symbol(), "} error: Unable to determine the window handle.");

   return(0);
}

Documentation claims "Returns the system window handler containing the given chart. If the chart of symbol and timeframe has not been opened by the moment of function calling, 0 will be returned."

But in my case, chart is opened all the time, only thing I do is switching accounts or timeframes. So, "by the moment of function calling" my chart has been opened, but function returns 0, why?

onewithzachy
1863
onewithzachy  
NevTon:

Aha, now its clear that You can add something new to mql4 language.

So, once again, please add bool AccountIsECN() function or int AccountType() function, refering to post https://www.mql5.com/en/forum/138806/page4#625217

There's no need for AccountType(). You can tell that using MarketInfo's MODE_MARGININIT. If your broker does not provide it (such Alpari UK) you can calculate that using MarketInfo's MODE_TICKVALUE and MODE_TICKSIZE.

There's no need for AccountIsECN(). You can tell that using MarketInfo's MODE_STOPLEVEL and MODE_FREEZELEVEL. Their values are zero.

onewithzachy
1863
onewithzachy  
NevTon:
And second thing, why sometimes WindowHandle (code below) returns 0 ?

Documentation claims "Returns the system window handler containing the given chart. If the chart of symbol and timeframe has not been opened by the moment of function calling, 0 will be returned."

But in my case, chart is opened all the time, only thing I do is switching accounts or timeframes. So, "by the moment of function calling" my chart has been opened, but function returns 0, why?

This isn't MT stuff, this is Windows OS stuff, specifically MDI application stuff, just to get the handle, an apps must sends WM_MDIGETACTIVE. MT unable to get that handle because Windows OS doesn't yet make the handle available. Windows already has the handle, and will make the handle available when chart is responding. Call it again on start.

Sometime it helps to declare vars first then assign the value later, not to do both at the same time.

VacuumTube
5
VacuumTube  

Hi,

the version on the Android Market (Google Play) is still 422 (without messages feature). When do you expect 427 will be available there, please?


Thanks

VC

William Roeder
23428
William Roeder  
NevTon:
And second thing, why sometimes WindowHandle (code below) returns 0 ?
Because the chart does not yet exist. No history, no bars. Don't call WindowHandle in init, wait for start()
[Deleted]  

Mmmmm how about make some real changes that will help traders real time like change or give options to the bloody huge big arse order window I cant beleive this thing is still the same after so many years all the updates come through and we get a 4 up in corner woopie bloody doo seriously ffs guys the order window is the one thing that needs urgent attention, please get onto it or atleast give us soem options.