Rajandran R Telecom Engineer turned Full-time Derivative Trader. Mostly Trading Nifty, Banknifty, USDINR and High Liquid Stock Derivatives. Trading the Markets Since 2006 onwards. Using Market Profile and Orderflow for more than a decade. Designed and published 100+ open source trading systems on various trading tools. Strongly believe that market understanding and robust trading frameworks are the key to the trading success. Writing about Markets, Trading System Design, Market Sentiment, Trading Softwares & Trading Nuances since 2007 onwards. Author of Marketcalls.in)

What New in MetaTrader 4 (MT4) Build 600 upgrade

1 min read

Over the past 7 months since the release of the public build 509, Metaquotes put in a lot of effort to improve MetaTrader 4 client terminal. MQL4 programming language for developing trading strategies has undergone the most significant changes – program execution speed has been increased, while the language itself has been brought closer to MQL5 to the maximum possible extent. This means that MQL4 trading robot developers can now also enjoy all the advantages of OOP: classes and structures, inheritance, Standard Library, resources and much more.

MetaTrader4_logo

[wp_ad_camp_5]

 

New MetaEditor(MT4 build 600) provides such features as debugging, profiling, personal storage, autosubstitution of function names, snippets, inserting resources and intelligent code management.

The new MetaTrader 4 terminal features the Market – store of protected applications for MetaTrader 4 terminal. Now, any developer can put his or her own trading programs for sale on the unified application store, while traders can buy any product right from the terminal. All EX4 application files downloaded from the Market have the high level of protection similar to that of MQL5. MQL4 application developers can set the number of activations and prices for their products without worrying about the technical issues related to sales process – MetaTrader 4 Market will take care about the latter.

Due to changes in the file structure and location of the directory for storing custom files (indicators, Expert Advisors, scripts, templates, logs, etc.), all these data will be automatically moved to the new place during the update. Not a single custom file will be deleted during the process, and all original files will remain in their appropriate locations becoming backup copies.
As a result of the recent MetaTrader 4 (MT4) Build 600 upgrade implemented by MetaQuotes, the folders within the MT4 folder have moved. In addition, the MQL4 language has changed, and this may have interfered with your installed Expert Advisors (EAs) and indicators.

As a result of this upgrade, you should firstly save your EAs and indicators in the new folder location, which is: MT4 > MQL4 > Experts/Indicators.

Secondly, you will need to align your EAs and indicators with the new language to ensure they are fully functional on the updated MT4 platform. To do this, there are two options:

Option 1: Contact your EA provider if you do not have the source code available and request an updated version of the EA.

Option 2: If you have written your own EAs or you do have the source code available, please follow these steps:

Navigate to Tools > MetaQuotes Language Editor – a new window will appear
Navigate to View > Navigator – the Navigator box will appear in this window (if not shown already)
Double-click on the EA/indicator you would like to use and update – the relevant EA script will appear in the main window
Alternatively navigate to File > Open to locate the relevant EA/indicator source code saved on your computer
Click on Compile in the toolbar on top of the main window (or navigate to File > Compile) – a message will appear in the Toolbox window at the bottom
Once this has completed and there are no error messages displayed you will need to close and reopen MT4 – your EAs and indicators should now be ready to use

Rajandran R Telecom Engineer turned Full-time Derivative Trader. Mostly Trading Nifty, Banknifty, USDINR and High Liquid Stock Derivatives. Trading the Markets Since 2006 onwards. Using Market Profile and Orderflow for more than a decade. Designed and published 100+ open source trading systems on various trading tools. Strongly believe that market understanding and robust trading frameworks are the key to the trading success. Writing about Markets, Trading System Design, Market Sentiment, Trading Softwares & Trading Nuances since 2007 onwards. Author of Marketcalls.in)

Algomojo Button Trading Expert Advisor for Metatrader 4 Platform

Here is a video tutorial and button trading expert advisor code for MetaTrader 4 platform. You can use the expert advisor to send automated...
Rajandran R
4 min read

Metatrader 4 – Simple Expert Advisor for Algomojo Platform

f writing a simple expert advisor for Metatrader 4 to send automated orders from MT4 to Algomojo - Cloud-Based Trading Platform. This tutorial provides...
Rajandran R
1 min read

How to Send Orders from Metatrader 4 Expert Advisor…

This tutorial helps you to convert your Metatrader 4 expert advisor to send automated orders to the Algomojo Platform. Currently, Algomojo supported brokers are...
Rajandran R
2 min read

19 Replies to “What New in MetaTrader 4 (MT4) Build 600 upgrade”

  1. The code used in exp.mqh is

    #import “exp.dll”
    int SetRateArray(double rates[][6],int,string,int,int);// rate array,array length,symbol name,period

    The code used in exportFB.mq4 is

    //+——————————————————————+
    //| ExportFunctions.mq4 |
    //| Copyright © 2005, MetaQuotes Software Corp. |
    //| http://www.metaquotes.net/ |
    //+——————————————————————+
    #property copyright “Copyright © 2005, MetaQuotes Software Corp.”
    #property link “http://www.metaquotes.net/”
    #include
    #define TIME_INDEX 0
    #define OPEN_INDEX 1
    #define LOW_INDEX 2
    #define HIGH_INDEX 3
    #define CLOSE_INDEX 4
    #define VOLUME_INDEX 5
    double rates[][6];
    //+——————————————————————+
    //| expert initialization function |
    //+——————————————————————+
    int init()
    {
    int ret;
    double rates[][6];
    ArrayCopyRates(rates);
    ret=SetRateArray(rates,Bars,Symbol(),Period(),Bars);
    return(0);
    }
    //+——————————————————————+
    //| array functions call |
    //+——————————————————————+
    int start()
    {
    int ret;
    double rates[][6];
    ArrayCopyRates(rates);
    ret=SetRateArray(rates,Bars,Symbol(),Period(),2);
    return(0);
    }
    //+——————————————————————+

    The clarifications issued in http://forum.mql4.com/60555 is

    • Changed ArrayCopyRates() behavior – in the old MQL4 version, this function copied price series to double[][6] array. Now, the array from MqlRates structure elements should be used in order to receive time series:
    //Structure for storing data on prices, volumes and spread.
    struct MqlRates
    {
    datetime time; // period start time
    double open; // Open price
    double high; // High price for the period
    double low; // Low price for the period
    double close; // Close price
    long tick_volume; // tick volume
    int spread; // spread
    long real_volume; // exchange volume
    };
    The new format of the function also performs virtual copying. In other words, the actual copying is not performed. When the copied values are appealed to, the price data is accessed directly.
    int ArrayCopyRates(
    MqlRates& rates_array[], // MqlRates array passed by reference
    string symbol=NULL, // symbol
    int timeframe=0 // timeframe
    );
    In order to maintain compatibility with old MQL4 applications, the old call format is also preserved. However, a real copying of data to double type array is now performed.
    int ArrayCopyRates(
    void& dest_array[][], // array passed by reference
    string symbol=NULL, // symbol
    int timeframe=0 // timeframe
    );
    This means that the necessary data should be copied to dest_array[][] again when changing values in time series (adding new bars, restructuring or updating the last bar’s Close price). In this case, the receiver array will be automatically distributed according to the necessary amount of the copied bars even if it has been declared statically.

    PLEASE HELP WITH THE MODIFICATIONS IN THE ABOVE MT4 DATA PLUGIN TO AMIBROKER

  2. Thank You for your kind response.
    I paralyzed in trading due to the non-availability of the above data plugin.

    However I downloaded another new one that is called importer.
    The data is not imported into amibroker and I thought that there is the difference in the data structure fixed in amibroker and Importer and I send those things to your mail for your perusal and for suitable guidance in this regard.
    Thanking you

  3. hi i see you talk about using MT4 for trading Futures but what MT4 companies have real time Indian data ?

  4. sir,
    i want to do a short term trading,which software would you suggest ?

    also my capital is very small , so suggest me software for option strategy.one

    thing is sure i am a disciplined trader . i will follow rules accordingly

    please reply

  5. sir i want to trade in currency market in India legally through Indian broker .with meta trader 4 plz tell me some good broker name

    1. MT4 Terminal is not built for Indian Market and not in compliance with Indian Exchange policies. So you cant expect from Indian Brokers.

Leave a Reply

Get Notifications, Alerts on Market Updates, Trading Tools, Automation & More