Services/Products
Support
Trader's Market
Features arrow Promotion arrow Partner arrow
Services/Products
Support
Trader's Market

Support information for customers, including how to open an account, how to use the trading tools, and a collection of QAs from the help desk.

Web Trader Web Trader
Features Features Features
arrow
Promotion Promotion Promotion
arrow
Partner Partner Partner
arrow
Trader's Market Trader's Market Trader's Market
bg

PC Create Expert Advisor (EA)

good

This article was : 

published

updated

On MetaTrader4 (MT4) / MetaTrader5 (MT5), you use a programming tool called MetaEditor and a dedicated language called MQL4 or MQL5 to create an Expert Advisor (EA).

Here we will look at how to create an Expert Advisor (EA) on MT4/MT5.

Switch between MT4/MT5 tabs to check the steps for each.

mt4
mt5

Step 1

Click "Tools" in the menu and select "MetaQuotes Language Editor".

Open Options Open Options

Step 2

MetaEditor will be launched. Click the "New" button in the menu.

Launch MetaEditor Launch MetaEditor

Step 3

Select "Expert Advisor" and click "Next".

Create an Expert Advisor Create an Expert Advisor

Step 4

Enter the Expert Advisor (EA) name, author, and link to display. Configure the parameters as necessary and click "Next". All fields, except for the indicator name, can be left blank.Other parameters can be adjusted directly in the code, including adding, modifying, or removing them.

The properties settings for an Expert Advisor The properties settings for an Expert Advisor

Number

Item name

Descriptions

1

Name

Enter the name of the Expert Advisor (EA) that you create.

2

Author

Enter the author of the Expert Advisor (EA).

3

Link

Enter the link to display.

point Name and author will be displayed in the settings

The registered name, author, and link information will be displayed on the Expert Advisor (EA) settings window.

Step 5

Set event handlers, which are the functions that are called if certain conditions are met.

Set event handlers Set event handlers

Number

Item name

Descriptions

1

OnTrade

OnTrade is a function that handles changes to orders, executions, positions, and trade history when a trade is executed.

2

OnTradeTransaction

OnTradeTransaction is called by the Expert Advisor (EA) when a TradeTranscation event occurs to process the execution result of a trade request.

3

OnTimer

OnTimer is a function that runs at a specified time interval. The interval can be defined or adjusted directly within the code afterwards.

4

OnChartEvent

OnChartEvent is a function that handles events on a chart. It is executed when an event occurs on a chart, such as creating, deleting, moving, or editing an object.

5

OnBookEvent

OnBookEvent is a function that handles the changes in the depth of market data.

Step 6

Set tester event handlers to use.

Set event handlers Set event handlers

Number

Item name

Descriptions

1

OnTester

OnTester is a function used for formulas to calculate optimization results in the Strategy Tester.

2

OnTesterInit

OnTesterInit is a function that executes the initialization of the Expert Advisor (EA) when starting optimization in the Strategy Tester.

3

OnTesterPass

OnTesterPass is a function that executes data processing during optimization by the Strategy Tester.

4

OnTesterDeinit

OnTesterDeinit is a function that executes data processing after optimization by the Strategy Tester.

Step 7

Write a program in MQL4.

Write MQL4 program Write MQL4 program
knowledge MQL4 vs MQL5

"MQL4, designed for MT4, and MQL5, used for MT5, share some similarities but are not compatible. Expert Advisors (EAs) created for MT4 cannot be directly used in MT5.While MQL4 is similar to the C programming language, MQL5 is closer to C++, offering greater flexibility and variety."

Step 8

After writing the program, click the "Compile" button in the toolbar.

Compile Compile
point If a compile error happens

You will get a compile error as shown below if, for example, the syntax of your code is incorrect, or some files are missing.

Compile error Compile error

Missing semicolons and using full-width space are the two most common mistakes made when coding in MQL4. Please check the error message to identify and resolve the issue.

Step 9

After the compilation, the Expert Advisor (EA) created will appear in the Navigator.

Compilation completed Compilation completed

Step 10

Close the MetaEditor and go back to MT4. Check that the Expert Advisor (EA) created is in the Navigator on MT4.

The Expert Advisor is in the Navigator The Expert Advisor is in the Navigator

Step 1

Click "Tools" in the menu and select "MetaQuotes Language Editor".

MetaQuotes Language Editor MetaQuotes Language Editor

Step 2

MetaEditor will be launched. Click the "New" button in the menu.

MetaEditor MetaEditor

Step 3

Select "Expert Advisor (template)" or "Expert Advisor (generate)" and click "Next".

Expert Advisor Expert Advisor
point "Template" vs "generate"

If you select "Expert Advisor (template)", only the fields configured during the following steps will be filled out, such as parameters and functions. If you select "Expert Adviser (generate)", it will also contain the source code of indicators that come with MT5 by default.

Step 4

"Enter the Expert Advisor (EA) name, author, and link to display. Configure the parameters as necessary and click ""Next"". All fields, except for the indicator name, can be left blank.Other parameters can be adjusted directly in the code, including adding, modifying, or removing them."

Configure the parameters Configure the parameters

Number

Item name

Descriptions

1

Name

Enter the name of the Expert Advisor (EA) that you create.

2

Author

Enter the author of the Expert Advisor (EA).

3

Link

Enter the link of the Expert Advisor (EA) to display.

point Name and author will be displayed in settings

The registered name, author, and link information will be displayed on the Expert Advisor (EA) settings window.

Name and author will be displayed in settings Name and author will be displayed in settings

Step 5

Set event handlers, which are the functions that are called if certain conditions are met.

Event handlers Event handlers

Number

Item name

Descriptions

1

OnTrade

OnTrade is a function that handles changes to orders, executions, positions, and trade history when a trade is executed.

2

OnTradeTransaction

OnTradeTransaction is called by the Expert Advisor (EA) when a TradeTranscation event occurs to process the execution result of a trade request.

3

OnTimer

OnTimer is a function that runs at a specified time interval. The interval can be defined or adjusted directly within the code afterwards.

4

OnChartEvent

OnChartEvent is a function that handles events on a chart. It is executed when an event occurs on a chart, such as creating, deleting, moving, or editing an object.

5

OnBookEvent

OnBookEvent is a function that handles the changes in the depth of market data.

Step 6

Set tester event handlers to use.

Tester event handlers Tester event handlers

Number

Item name

Descriptions

1

OnTester

OnTester is a function used for formulas to calculate optimization results in the Strategy Tester.

2

OnTesterlnit

OnTesterInit is a function that executes the initialization of the Expert Advisor (EA) when starting optimization in the Strategy Tester.

3

OnTesterPass

OnTesterPass is a function that executes data processing during optimization by the Strategy Tester.

4

OnTesterDeinit

OnTesterDeinit is a function that executes data processing after optimization by the Strategy Tester.

Step 7

Write a program in MQL5.

MQL5 program MQL5 program
knowledge MQL4 vs MQL5

MQL4, designed for MT4, and MQL5, used for MT5, share some similarities but are not compatible. Expert Advisors (EAs) created for MT4 cannot be directly used in MT5.While MQL4 is similar to the C programming language, MQL5 is closer to C++, offering greater flexibility and variety.

Step 8

After writing the program, click the "Compile" button in the toolbar.

The Compile button on the menu The Compile button on the menu
point If a compile error happens

You will get a compile error as shown below if, for example, the syntax of your code is incorrect, or some files are missing.

**** ****

Missing semicolons and using full-width space are the two most common mistakes made when coding in MQL5. Please check the error message to identify and resolve the issue.

Step 9

After the compilation, the Expert Advisor (EA) created will appear in the Navigator.

The Expert Advisor (EA) created will appear in the designated folder in the Navigator The Expert Advisor (EA) created will appear in the designated folder in the Navigator

Step 10

Close the MetaEditor and go back to MT5. Check that the Expert Advisor (EA) created is in the Navigator.

The Expert Advisor (EA) created is in the Navigator The Expert Advisor (EA) created is in the Navigator

Was this article helpful?

thumb_down No
thumb_down Yes

0 out of 0 people found this article helpful.

Thank you for your feedback.

Send