MT4 Major Upgrade

Discussion in 'Execution Platforms' started by Alpha-Bet, Nov 13, 2013.

  1. Alpha-Bet

    Alpha-Bet Well-Known Member

    Joined:
    Jun 18, 2013
    Messages:
    898
    MT4 will be undergoing major upgrade in Build 529+ according to MetaQuotes.
    Included in changes will be Order Execution Time Notification removing the need for additional plug-ins.
    Build 529 due for release in two weeks.
    Just heads up on pending release
     
  2. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Wonder what kind of mess this will all create...

    Thks for the heads up.

    Upcoming MetaTrader 4 and MQL4 Upgrades - Big Changes Are Underway
    http://forum.mql4.com/56885
     
  3. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Played around with build 577. Things seem ok. Will test some more during next week.

    Its reasonably easy to get the new platform set up. Just open up an existing MT4 platform and go to the tabs at the top of the chart. Find Tools/Options/Server then paste demo.metaquotes.net:443 into the Server drop down box and press OK. Now open a new Demo account and on the 2nd scan window select the metaquotes server you have just put into your server list, from there its the same as creating a normal Demo account.

    Dosen't happen straight away because the files take a while to download in the background while you have your platform open and once they are downloaded the next time you open the platform it will update

    [​IMG]
     
  4. jack

    jack Administrator Staff Member

    Joined:
    Mar 29, 2013
    Messages:
    2,402
    Great info Ramy! :)
     
  5. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Build 600 is beeing pushed though alpari demo accounts so far. It's beginig. :)
     
  6. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Lol, just reloaded mt4 Pepper and Axi live and there updated to build 600. Guess will have to start looking for errors...

    Kept a copy of 509 just in case, till it can be used.

    Yep, it's pretty much beeing pushed through all brokers now.
     
  7. rod178

    rod178 Well-Known Member

    Joined:
    Jul 16, 2013
    Messages:
    3,096
    Axi has 'upgraded MT4 to 600. A lot of my Templates, scripts, experts and indicators are now broken. I suppose it will take me several days to work out the mess.

    No notification from Axitrader on this (major) upgrade. Amateur Hour to say the least.

    Lucky that I read The MQL4 form and FXgears :) or it would be a complete surprise.

    I wonder if anyone was running 'mission critical' EAs, without knowledge of the upgrade(?).
     
  8. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Pretty much all brokers heeded no warning. Haven't seen any. My stuff seems to be working fine for the moment. If you need build 509 I can post it here.

    If you recompile your indis and eas in build 509 then put the .ex4 in the new mql4 folder they should be fine. At least mine are so far.

    Afraid to close my other EAs running on my other pcs . Weekend job coming up. :)
     
  9. rod178

    rod178 Well-Known Member

    Joined:
    Jul 16, 2013
    Messages:
    3,096
    This MT4 upgrade is a mechanism to force all to (a merged) MT5.

    Most, maybe all of any complexity, of my MT4 indicators will require a rewrite. It appears that in some the program logic has been disrupted. This may require a complete rewrite for a few.

    Seems that anything using trendlines is stuffed. I am not happy.
     
  10. rod178

    rod178 Well-Known Member

    Joined:
    Jul 16, 2013
    Messages:
    3,096
    found the new construct for trendlines

    Old code
    Code:
    void SetTLine(string name, int timeFrame, datetime time1, double price1, datetime time2,double price2, color clr = Green, int style = 0, int width = 0)
    {
       //Print("method-> ", "SetTLine ");
       ObjectCreate(name, OBJ_TREND, 0, 0, time1,price1,time2,price2); 
       ObjectSet(name, OBJPROP_TIME1,  time1);   
       ObjectSet(name, OBJPROP_PRICE1, price1);
       ObjectSet(name, OBJPROP_TIME2,  time2+1);   //##########
       ObjectSet(name, OBJPROP_PRICE2, price2);     
       ObjectSet(name, OBJPROP_STYLE, style);
       ObjectSet(name, OBJPROP_RAY, RayProject);
       ObjectSet(name, OBJPROP_COLOR, clr);
       ObjectSet(name, OBJPROP_WIDTH, width);
       ObjectSet(name, OBJPROP_TIMEFRAMES, timeFrame);
       //ObjectSet(name, OBJPROP_TIMEFRAMES, 0);
       ObjectSetText(name,DayOfWeekName(time1)+" "+TimeDay(time1)+" "+MonthName(time1)+" "+TimeYear(time1),8,"Arial",Black); 
    }
    New code - Have to add the chart_ID
    Code:
    /*
    const long            chart_ID=0,        // chart's ID
    const int             sub_window=0,      // subwindow index
    ObjectCreate(chart_ID,name,OBJ_TREND,sub_window,time1,price1,time2,price2)
    */
    
    void SetTLine(string name, int timeFrame, datetime time1, double price1, datetime time2,double price2, color clr = Green, int style = 0, int width = 0)
    {
       //Print("method-> ", "SetTLine ");
       ObjectCreate(0,name, OBJ_TREND, 0, 0, time1,price1,time2,price2); 
       ObjectSet(name, OBJPROP_TIME1,  time1);   
       ObjectSet(name, OBJPROP_PRICE1, price1);
       ObjectSet(name, OBJPROP_TIME2,  time2+1);   //##########
       ObjectSet(name, OBJPROP_PRICE2, price2);     
       ObjectSet(name, OBJPROP_STYLE, style);
       ObjectSet(name, OBJPROP_RAY, RayProject);
       ObjectSet(name, OBJPROP_COLOR, clr);
       ObjectSet(name, OBJPROP_WIDTH, width);
       ObjectSet(name, OBJPROP_TIMEFRAMES, timeFrame);
       //ObjectSet(name, OBJPROP_TIMEFRAMES, 0);
       ObjectSetText(name,DayOfWeekName(time1)+" "+TimeDay(time1)+" "+MonthName(time1)+" "+TimeYear(time1),8,"Arial",Black); 
    }
    Suppose if will be a tedious process to work through the code to find the other new constructs. I have yet to find an "MT4 to MT5 function comparison table" to shorten the process.
     
  11. rod178

    rod178 Well-Known Member

    Joined:
    Jul 16, 2013
    Messages:
    3,096
    Another function that has altered output is StrToTime

    Code:
    string minsec = "-05:00";
    return(StrToTime(minsec)) ;
    previously returned -18000 (ie from 00:00)
    now returns 0 (ie from 00:00)
     
  12. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Cool, a coder in the house. I am not a real coder per say. I use bits and peace’s of codes I need and use expert advisor builder for my stuff. So I feel your pain even more, cause I have to search and figured out crap along the way. So it will take me way more time than you to figure out stuff. But am learning quickly…

    So far I am good with my stuff. Just a couple of EAs left to test, which I am reluctant to try for the moment. Hopping I don’t have hours and hours of work ahead of me with those. Hence, me being real pissed if it’s the case.

    Now the fun part, when I load build 509 it auto updates. Cool (sarcasm). Have older version around luckily.


    Temporary fix for the auto update crap.

    http://www.getresponse.com/archive/forexverified/Warning-name-Do-Not-Close-Metatrader-14209493.html

    [quote author=quote ]
    WARNING: DO NOT CLOSE METATRADER!

    First, my sincere apologies for the lack of updates. The stupid health issues are still messing with me. I may be far behind in my tasks but I am not going anywhere!!

    This email is regarding an urgent issue that I needed to warn you about right away. In case you haven't heard:

    Metaquotes has released a new version of
    Metatrader 4 (Build 600+) with some MASSIVE changes!

    These changes may negatively affect you in two ways:

    1. Changes to the MQL4 code may result in EAs not being compatible with the new version of MT4. Some of the vital functions and variables have been changed that may result in your EA failing to work.

    2. Changes to the entire folder structure (such as the location of the Experts folder) designed to make Metatrader 4 more compatible with the Windows UAC security feature may break some EAs that use DLL files or other external resources to function.

    From what I've seen, Metaquotes and many brokers have released the new builds without any forewarning about the potential consequences. EA vendors are scrambling to release updated versions of their EAs that work with the new MT4 builds. Some already have, while others have sent warnings to avoid updating MT4 until they can finish their update.


    How to Avoid the Automatic Metatrader 4 Update

    I just tested this method on my PC and I believe this is the best temporary update "block" available.

    As of Build 509, Metatrader 4 now stores downloaded updates in a separate folder. The next time Metatrader 4 is launched, it checks this folder for updates and then applies them.

    Step 1) Locate the MT4 update folder. It seems that on Windows 7, 8, and Server 2008 (and possibly all others), Metatrader 4 stores pending updates in this folder:

    C:\ProgramData\MetaQuotes\Webinstall\mt4clw

    Note that "ProgramData" is a hidden folder so you may not see it in the list of folders on your C: drive. You can access it by typing in the path in the Address Bar of explorer: C:\ProgramData then press Enter and you will see the subfolders.

    Note: if you don't see the "Webinstall" folder, try using the Search feature on the entire C: drive to find it.

    Step 2) Delete the entire "Webinstall" folder. This prevents MT4 from loading those updates the next time it is launched.

    In my personal test, I observed the following behavior after deleting the "Webinstall" folder:

    On the next launch of MT4, there was a notice in the Journal log:

    10:07:26 LiveUpdate: new version 4.00 build 604 is available

    When I closed and re-opened MT4 again, I noticed that it downloaded all of the updates (the "mt4clw" folder was re-created and filled) and this message was in the Journal log:

    10:08:30 LiveUpdate: new version 4.00 build 604 is available
    10:09:30 LiveUpdate: finished

    The next time I closed and re-opened MT4, the update was applied and my terminal was migrated to Build 604.

    The temporary "blocking" method detailed above is just a temporary solution: as soon as you open and close Metatrader 4 a couple more times, it will still download and install the update!

    You should try to acquire new and compatible versions of the EAs you are trading as quickly as possible!
    [/quote]For XP C:\Documents and Settings\All Users\Application Data\MetaQuotes\WebInstall\mt4clw
     
  13. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Now to figure out how to keep it from beeing modified/reloaded.

    Will sadly have to face the obvious soon though with this update.
     
  14. rod178

    rod178 Well-Known Member

    Joined:
    Jul 16, 2013
    Messages:
    3,096
    Many old indicators, scripts and EAs will still work if they are not recompiled.

    I've decided to recompiled all and recode if required, otherwise it is just delaying the inevitable.

    I'd be happy to have a look at any problematic code, although obviously cannot promise to fix or even to immediately get around to looking at it, as subject to other time constraints.
     
  15. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Thks Rod,

    Appreciate the gesture. Will need to try and figure some of it out myself though. Will be needing it down the road surely. If I get stuck too long on something will take you up on it. :)

    Cheers!
     
  16. rod178

    rod178 Well-Known Member

    Joined:
    Jul 16, 2013
    Messages:
    3,096
    Suggest that you download the Help - > MQL4 Reference

    Initially study ObjectCreate as well as the Object Types eg OBJ_TREND

    All code that utilises such as OBJ_??? will possibly have to be rewritten, so look there first if your code is producing unexpected behavior.
     
  17. shopster

    shopster Well-Known Member

    Joined:
    Jun 17, 2013
    Messages:
    528
    Russian CEO scumbag.

    Renat Fatkhullin

    build 600 piece of s...

    s

    ....................................

    How to avoid MT4 from automatically updating itself:

    Find “webinstall” folder (usually located in C:\ProgramData\Metaquotes) and rename/delete it.

    Deny access for the system user on the MetaQuotes folder. To do this, right click on the MetaQuotes folder > click Properties > click Security tab > click System > under “group or user names” > check “deny” in lower box > click apply/OK
    More info on this blog post:

    http://www.donnaforex.com/forum/index.php?topic=12237.0


    http://4xtrader.net/mt4-build-600-why-you-should-not-update-it/
     
  18. jack

    jack Administrator Staff Member

    Joined:
    Mar 29, 2013
    Messages:
    2,402
    That's great Shop, thanks for posting! :)

    This will help some of us hold off the upgrade for a while. At least until they deny logins from older versions.
     
  19. rod178

    rod178 Well-Known Member

    Joined:
    Jul 16, 2013
    Messages:
    3,096
    Suspect that the plan is to eventually force all to MT5

    MT4 build 600 is really just 32bit MT5. Broker support for build 509 will not last for long imho, so may as well come to gripes with the new (C++) MT4 language.

    Bottom line is that we will have no choice, unless migrate to NT etc etc.
     
  20. Ramy3

    Ramy3 May the pips be with you!

    Joined:
    Jun 17, 2013
    Messages:
    926
    Is it just happening to me? Why the F*** does it keep reloading after initial startup. Freakin annoying! Damn.

    Just venting a bit...
     

Share This Page