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.
[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
Sir,
I noticed that the MT4 Data plugin to Amibroker is not working with MT4 build 604 version. What to do with this? Please guide
HELLO SIR , PLZ I NEED UPDATION PLUG AMIBROKER WITH MT4 PLZ GAID ME
.
Where do I find indicators for the MT4 on this site?
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
Sure will look into it.
Please, update this plugin.
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
Can I get source code this plugin?
@ Jupi
Your Email id please
Have you full source with decompile exp.dll ?
hi i see you talk about using MT4 for trading Futures but what MT4 companies have real time Indian data ?
Hi
Please, I need new plugin for Amibroker
Thank you from Chile
from where can i download this mt4 with indian stocks and commodities.
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
Try with Option Oracle (it is a free stuff) but not sure whether it currently works on not. But try out with the recent workaround solution
http://www.marketcalls.in/softwares/working-solution-options-oracle.html
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
MT4 Terminal is not built for Indian Market and not in compliance with Indian Exchange policies. So you cant expect from Indian Brokers.
Greetings
You can decompile ex4 to mq4 build 600 ++?
how to connect data feed from marketcall to metatrader 4 ?