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 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 open an FBS account?

    Click the 'Open account' button on our website and proceed to the Trader 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 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 Trader 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

Short-Term Trading Strategies That Work

While some traders find comfort in longer timeframes that allow them to check positions less frequently and have ample time to make decisions, others get an adrenaline rush from more aggressive, day-to-day trading.

USD: Powell Speaks on Cutting Interest Rates

Jerome H. Powell, the Federal Reserve chair, stated that the central bank can afford to be patient in deciding when to cut interest rates, citing easing inflation and stable economic growth. Powell emphasized the Fed's independence from political influences, particularly relevant as the election season nears. The Fed had raised interest rates to 5.3 ...

BTCUSD: Rich Dad Says Buy

Robert Kiyosaki, the author of "Rich Dad Poor Dad," has updated his bitcoin price forecast, now projecting the cryptocurrency to hit $100,000 by September. He plans to acquire more bitcoin before April, attributing his decision to the upcoming halving event. Kiyosaki advises investors to consider adding bitcoin to their portfolios and suggests...

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