Welcome To MQL4
Welcome To MQL4
Welcome To MQL4
MetaQuotes is the company that built the MetaTrader Trading Platform. To make this trading
platform stronger than the other trading platforms, the company provided it with a built-in
programming language.
The built-in programming language (MQL4) enables the user (you) to write his own trading
strategies and technical indicators.
1- Expert Advisors.
2- Custom Indicators.
3- Scripts.
Expert Advisor: this is a program that can automate trading for you. For example, it can send
a buying order to the broker server for execution at specified times or conditions. It can automate
your stop loss/take profit automatically; it can cancel, replace or close your orders. The Expert
Advisor has no access to the indicator functions.
Custom Indicator: this is a program that enables you to use the functions of the technical
indicators for analyzing price data and drawing on the charts. But it cannot automate your trades.
Script: this is a program that is designed for single task execution. Unlike the Expert Advisor,
scripts can only be executed once (when you attach them to a chart), and each script removes
itself after the last line of its code is executed. It will NOT reside in the chart (like the experts).
Script too has no access to the indicator functions.
To write your MQL4 code, as with anything else in the world, you can choose one of two ways
the hard way or the easy way.
The hard way is to compile your program using your favorite text editor and the command
prompt.
Notepad is one choice of text editor, but do not forget to do two things:
1- To save the file you have created in plain text format.
2- To save the file as .mq4 (that's to make it easier to reopen with MetaEditor), but you can save
it as any extension you prefer.
After saving your program, there is an extra step needed to bring your code into the light of day.
This is the Compiling step.
Compiling means taking the humanly readable code that you have just written and converting it
to the machine language that the computer can understand.
MetaTrader has been shipped with its own compiler (the program which will convert your code
to machine language), called MetaLang.exe.
Metalang.exe is a console program that takes two parameters and outputs an .ex4 file (the file
that MetaTrader understands).
The first parameter is the options parameter and the only option available is q = quit.
The second parameter is the full path to your .mq4 file.
1- Find your metalang.exe path; it should be the same path as MetaTrader (here my path is
D:\Program Files\MetaTrader 4).
2- Create a batch file (a .txt file but save it as .bat) and name it compile.bat (or any name you
prefer).
3- Write these lines into the .bat file, then save it:
cd D:\Program Files\MetaTrader 4
metalang -q "D:\Program Files\MetaTrader 4\my_first_mql4_script.mq4"
4- Run the batch file and, if you are lucky like me, you will get a screen like that shown in Figure
1.
MetaTrader has been shipped with a very good IDE (Integrated Development Editor), called
MetaEditor, which has the following features:
1- A text editor that highlights different constructions of the MQL4 language while you are
writing/reading code.
2- Your program is easy to compile; just click F5 and the MetaEditor will do all the hard work
for you. It also produces the ".ex4" file.
3- Errors in your code are shown in the Error Tab (see Figure 2).
4- A built-in reference book can be accessed by highlighting the keyword you want to know
more about it and then pressing F1.
Figure 2 MetaEditor 4