A Guide to Automated Trading Systems
The hardest part of creating a profitable expert advisor is
coming up with a great mechanical trading system. Starting with a well-defined
and profitable trading system will make the development process go a
lot smoother. But creating your own trading system is not as easy as it
I've seen many trading systems that looked good in theory,
but performed poorly both in testing and trading. This is usually because the trader did
not take the time to thoroughly test their system. Novice traders are
especially prone to developing trading systems that look good
on a chart, but end up unprofitable when developed into expert advisors.
Obviously, you'll want to avoid paying for a EA that is unprofitable and unsatisfactory.
This is why it is so important that you submit a profitable trading
system, one that is based on sound technical trading principles and has
been throughly tested and tweaked.
Your trading system does not have to be original. You can
get trading ideas from books, websites or
trading forums. Unless you've been trading Forex for a while,
that trading system you concocted using some indicator you
found online is probably not going to be very profitable, at least not
without some testing and revision.
Keep your trading system simple. Complex trading systems are rarely
more profitable that simple ones, and are always more expensive to
code. Conversely, a trading system based on a single indicator is not a
very good idea. Try adding another indicator to help filter out
unprofitable trades -- for example, an oscillator (such as stochastics)
added to a trend-following indicator (such as a moving average).
the time to learn how your indicators work, and how they
are commonly used in technical analysis. You may derive some great
trading ideas this way. Good sources for technical indicator research
include StockCharts.com and the Metatrader technical indicators reference at MetaQuotes.net. While you're at it, read all that you can about technical analysis and Forex trading methods.
A good method for creating your own trading system is to take an
existing system and improve upon it. For example, the moving
average cross is a simple and classic trading method that
offers plenty of room for improvement. Adding an oscillator such as a
stochastic is a great way to filter out trades and increase
A free moving average
cross EA is available for download from this site. We
encourage you to come up with your own improvements to the moving
average cross system, and we'll create for you a custom moving average
cross EA to your specifications.
The only way to determine whether a trading system is profitable is to
rigorously test it. You can do this by demo trading the
system in real time, or by manually backtesting and recording
your results. But these methods can be inaccurate and
Automated testing is the quickest and most objective way to evaluate a
trading system -- but it can't be done in MetaTrader without coding an
expert advisor first. Fortunately, there is a solution that doesn't
require any programming knowledge.
The excellent (and free) Forex
Strategy Builder is a great way to perform automated testing
of trading systems using real market data. It
includes many common indicators and conditions for opening and closing
orders. You can find the online
help system at Forex-Help.org.
I strongly encourage you to use this program to evaluate your
trading system before submitting it for development. There are a few
systems that cannot be tested using this program -- those that
use uncommon indicators, for example. In this case you would
have to carefully and manually backtest your system by hand.
DisadvantagesAll trading systems have weaknesses. A trend-following system
such as an moving average cross will lose money when the market is
whereas a counter-trend system -- such as an oscillator
that trades at overbought and oversold conditions -- will lose
a prolonged trend.
major drawback to automated trading in general is that trades can
be placed at unexpected times -- too soon, too late, or in the wrong
altogether. If at any time during the execution of the program the
becomes true, even momentarily, the order will be placed. If the
condition is not 100% true, the order is not placed, even if it was
otherwise a good spot to place a trade.
For indicator-based systems, you can alleviate this somewhat
by evaluating conditions only at the open of each
bar. This will prevent short price spikes from triggering trade
conditions, at the expense of opening orders a little later. Your EA
come with a setting for you to easily enable this feature.
Refining your order conditions to filter out unprofitable
help too. Try adding conditions that can help increase the probability
of winning trades, and be sure to test them throughly. No matter how
good your trading system is, there will
always be unexpected trades that result in losses, so don't make your
trading conditions so specific that you're giving up profits to avoid losses.
The definition of a good trading system is one that consistently
makes money over the long term, in a variety of market conditions, with
a minimum of risk. If your system relies on large lot sizes (more than
5% of equity on the same position), zero stop losses, or very favorable
market conditions, you may find yourself wiping out your trading
many trades are resulting in losses or your system is unprofitable most
of the time, then it's time to head back to the drawing board. If your
system is not performing to your satisfaction even after several
revisions, don't be afraid to scrap it all together and start over. It
can take many tries to find your holy grail -- and you'll learn a lot
about trading in the process.
For more advice, read my Six
Commandments of Great Expert Advisors, a list of what not to
do when ordering an expert advisor! Also see
An Expert Advisor Made to Order at mql4.com.