What are forex expert advisors and how do they work?
Table of Contents
- How do EAs and cBots work?
- Pros and cons of trading with EAs / cBots
- Where to find an EA or cBot
- Creating your own EA
- Things to consider when trading with an EA / cBot
- Using a VPS to run trading algorithms
- Backtesting & optimising
While many people trade manually, there is an ever-increasing number of speculators who trade completely automated using robots or with a combination of automated and manual trading.
An EA (Expert Advisor), also known as a robot (cBot), is an automated program that runs on your trading platform and opens orders according to a pre-defined set of parameters.
They can be applied to any market but are most commonly used for trading Forex due to the intraday price movements and 24/5 forex trading hours.
So, what are the best forex expert advisors to use? Well, there are thousands upon thousands of different trading robots available, and you can even create your own system based on your unique trading strategy.
EAs (expert advisors) are automated forex or CFD trading programs that run on the Metatrader 4 or Metatrader 5 platforms (created by Metaquotes) and use MQL programming language.
cBots are automated forex trading robots that run on the Spotware developed cTrader platform and use C# programming language.Their purpose is to automatically open and/or close orders according to a pre-defined set of parameters. They also have the ability to set pending orders, add a Stop Loss, Take Profit or even a trailing stop. Some programs will identify trade opportunities but require a manual confirmation from the trader. It all depends on what it is programmed to do.
For example, let's say your primary trading strategy is based on two moving averages. When the shorter MA crosses the longer one, it is a buy signal, and when the longer MA crosses the shorter one, it is your signal to sell. Instead of watching and waiting for these lines to cross, you can instead use a robot to automatically place a buy/sell trades when the signal lines crossover occurs.
Although there is an infinite number of possibilities for a robot's trading conditions, some fall into the following broad categories: News, Scalping, Hedging, Breakout/trend.
Pros: The main benefit of using a robot is that it can run 24 hours a day without human intervention. So you don't need to be in front of your screen, continually monitoring the markets.
Using a robot removes the emotional aspects of trading manually, so fear and greed are eliminated, as the EA will place orders based on a rigid set of parameters.
Because EAs runs on an algorithm, it can detect things you can't catch with the eye and save a lot of time in analysing charts and indicators, etc.
Cons: The same benefits may also be detrimental; for example, an EA will not be able to make adjustments in light of live events or news, as it will trade according to a strict set of parameters. If it ignores major news, you may end up with trades or actions that would not logically have made manually. However, some EAs stop or can be adjusted to stop during news time.
Don't assume EAs you download online are coded correctly and perform as stated, so you may need to spend a lot of time optimising and backtesting. Using it with different instruments, time-frames, or changing market conditions can cause the EA to perform poorly or for you to receive confusing signals.
While EAs and cBots can be run 24/5, they need a constant connection to the server to do so. So unless you use a VPS (virtual private server), the EA/cBot will stop running when you close your trading platform.
You can find a range of different trading robots online from a variety of sources; however, we would recommend using the official platform developer websites:
For Metatrader 4 or Metatrader 5 you can find custom EAs on the MQL5 website: https://www.mql5.com/en/code/mt4
For cTrader, you can find and install additional cBots via the cTDN website: https://ctdn.com/algos/cbots
It is important to do your own analysis and research, understand the results and how the EA functions, read reviews, optimise etc. We are unable to recommend specific EAs or cBots, so you should research to find the best forex trading system for you.
The flexibility of EAs/cBots is that anyone can create one, and the possibilities are endless. However, building your own automated forex strategy based on indicators and tech analysis is not easy. You either need to understand coding or work with a coder to implement your conditions. It will take a lot of time and tweaking to perfect your code, and there may be errors you need to resolve.
On the other hand, if you can develop your own code that runs successfully, you have total control over it, it won't cost you anything, and you can continue to upgrade and perfect it or even rent it out to other traders.
Although you may find fully developed and programmed robots on the sources mentioned previously, it is essential to do your own research, backtest and optimise it to ensure it suits your trading needs and that you fully understand how it operates. Pay attention to figures such as the maximal drawdown or profit factor and test the EA over several different periods.
While it is crucial to backtest, the performance cannot be relied upon to indicate live results. Backtests are performed on past price data and may be misleading or provide results no longer applicable to the current market conditions. Always keep in mind that past performance is never any guarantee of future performance.
While using a demo account can help you test your EA, you will often hear stories of traders who produced a profit on the demo and then went live and lost everything. Bear in mind that similar trades requested on real and demo accounts may be treated differently during highly volatile or illiquid periods, and you cannot expect that the demo account reflects all the market conditions of the live trading environment.
You can use more than one robot simultaneously if you wish. However, bear in mind that they may confuse or contradict each other, and the more you have running, the more data will be used in your platform.
Consider the optimal time frame and instrument. Many EAs are optimised to work with a specific instrument (or asset group) and on a particular time frame or set of time frames. Using the EA on a different instrument or time frame may seriously affect its performance.
Execution speed will also affect your results, as any delays in execution from the broker may cause the trade to be opened under the wrong conditions, or you may experience requotes (on an Instant Execution account) or extreme slippage (on Market Execution accounts).
At FxPro, we offer one of the fastest execution speeds in the industry, with trades executed at Equinix Data centres and most orders executed in <11ms. Using a VPS will also help to reduce latency significantly.
As we stated, one of the big advantages of EAs is that they can run around the clock. However, they need a constant platform connection to be able to do this. It can be rather inconvenient to keep your PC/device on all day long, and this is where the VPS comets in. A VPS is a virtual private server that can be used to run your algorithms even when your PC is closed.
At FxPro, we provide the Beeks FX VPS service specifically dedicated to ea forex traders, making it ideal for fast execution. Bear in mind that you may need to upgrade to a bigger RAM VPS if you are using several or a heavy EA.
You can backtest the performance of your EA or cBot over historical data on the Metatrader and cTrader platforms.
cBots: To do this, navigate to the 'Automate' section of the platform, click on the arrow next to your cBot, and select 'Add an Instance'. Under the 'Backtesting' tab, set your preferred backtest parameters before running.
EAs: From your MT4, go to 'View', select 'Strategy Tester', choose 'Expert Advisor' from the list and set your backtest parameters.
Optimising involves running backtests with a range of various parameters to help identify the best forex trading conditions for your algorithm.
Once you are happy with your cBot or EA in backtests, you can test it on a demo account.
You can find backtesting and optimisation guides here and FAQs for the platforms and VPS here for more information.