Structure of a Trading Robot

After finishing the previous lessons you already know about the types of trading robots in MetaTrader 5. You also know where to find the main algorithmic trading tools in MT 5 and how to set them up. In this lesson, we will look at the bones of the trading robot. We promise you that after this lesson your fear of coding in MQL5 will start to disappear!

What does a trading robot consist of?

At first, let’s have a look at the structure of a robot in the Meta Editor.


Looks scary, right? However, in reality, all trading robots have the same core elements you need to know about.

There are four main parts of a trading robot:

  • Setup
  • OnIntIt
  • OnDeinit
  • OnTick

Let’s have a closer look at each element.


This is the part of a robot where all the administrative information is placed. Here, you write notes, declare variables (different types of information with a unique name), track the list of changes, and set the property rights.


On the screenshot above, you can see a sample of the Setup code. It consists of copyright, the main properties of a robot, and the #include command that inserts the content of a certain file to your expert advisor. Also, in this section, we declare the main inputs under the #input command.


The second part is called OnInit (OnInitiation). This part launches when you start the EA for the first time.


 In this part, you can see the commands that will be executed after the first launch of the program. We will explain these commands in the next articles!


The next section of the expert advisor is called OnDeinitiation, or shortly OnDeInIt. It runs when the expert advisor is shut down.


This is the most interesting part of an expert advisor. It consists of three main parts that are updated on every tick (with the new information about a price). They are entries, exits, and sizing. These functions are important for any expert advisor, because they tell you when to buy, how much to sell, and when to close your trades.

This code will start every time a new tick arrives on your MetaTrader 5 platform. That is, if the bid, ask prices, or volume changes, this change affects the OnTick section of your code as well.


On the screenshot above, you can see that the robot checks the last trade processing time and other data.

So, if you were a computer, how would you read the code structure?

First of all, you would go to the OnInit section and run everything in it. You’d set up variables and parameters that you need for your strategy. This action is executed only once.

After this action is completed, you go to the OnTick section. At first, you check if you have any trades that need to be exited. After that, you look for trades that can be entered. Finally, a sizing algorithm will help you to identify the size of your position.

Once you shut down your EA, you run OnDeInIt. This option removes the graphics from the charts and deletes everything linked to the expert advisor itself.

Bottom line

To sum up, if you want to build a trading robot, you need to know its structure thoroughly. Luckily, all of the robots have a similar structure that allows you to construct it step-by-step.

Frequently asked questions

  • How to open an FBS account?

    Click the ‘Open account’ button on our website and proceed to the Personal Area. Before you can start trading, pass a profile verification. Confirm your email and phone number, get your ID verified. This procedure guarantees the safety of your funds and identity. Once you are done with all the checks, go to the preferred trading platform, and start trading. 

  • How to start trading?

    If you are 18+ years old, you can join FBS and begin your FX journey. To trade, you need a brokerage account and sufficient knowledge on how assets behave in the financial markets. Start with studying the basics with our free educational materials and creating an FBS account. You may want to test the environment with virtual money with a Demo account. Once you are ready, enter the real market and trade to succeed.

  • How to withdraw the money you earned with FBS?

    The procedure is very straightforward. Go to the Withdrawal page on the website or the Finances section of the FBS Personal Area and access Withdrawal. You can get the earned money via the same payment system that you used for depositing. In case you funded the account via various methods, withdraw your profit via the same methods in the ratio according to the deposited sums.

Latest news

The Yen Sets New Lows

The Japanese yen fell to its lowest level against the US dollar in 33 years. Read the full report to learn the next target for USDJPY!

Experts are Waiting for US Stocks to Rise

The US stock market fell in the third quarter. What's going on and why economists think that the last quarter will be better? Let's discuss it all here.

BlackRock CEO Supports The USD

BlackRock CEO forecasts the Fed may have to raise rates further. The US dollar index (DXY) gains 130 points today. Read the full report to get more fresh news and technical analysis!

Deposit with your local payment systems

Data collection notice

FBS maintains a record of your data to run this website. By pressing the “Accept” button, you agree to our Privacy policy.


A manager will call you shortly.

Change number

Your request is accepted.

A manager will call you shortly.

Next callback request for this phone number
will be available in

If you have an urgent issue please contact us via
Live chat

Internal error. Please try again later

Don’t waste your time – keep track of how NFP affects the US dollar and profit!

You are using an older version of your browser.

Update it to the latest version or try another one for a safer, more comfortable and productive trading experience.

Safari Chrome Firefox Opera