The Six Commandments of Great Expert Advisors

Having coded dozens of expert advisors, I can say that almost all profitable trading systems have a few things in common: They are simple, well-defined and based on classic trading concepts. They are often easy and inexpensive to code, and the customer is usually very happy with the results.

Unprofitable trading systems, on the other hand, are complicated, untested, and a headache to code. These expert advisors are often expensive and sometimes end up unfinished. Testing and debugging is lengthy and difficult, and customer satisfaction is subpar.

So, in this programmer/client relationship, it is in the best interest of both parties to start with a profitable trading system. Please read this first before submitting your expert advisor request. The whole process will go a lot smoother if you adhere to these guidelines.

Simplicity is always better than complexity

A grid trading system with pending orders, martingale lot sizing and non-standard stop placements is not only more expensive and difficult to code, but it is rarely more profitable than a well-designed moving average cross that costs $50.

The best trading systems are simple ones. If your system is unprofitable, making it more complicated is not going to make it more profitable. Start out with a simplified trading system and add new features only if they are necessary to increase your profits or curtail your losses.

Don't try to reinvent the wheel

Over the years, experienced traders and economists have developed hundreds of profitable trading systems and indicators. While it's certainly rewarding to develop your own successful trading system, don't waste your time creating something complicated and unprofitable.

Almost all successful trading systems are derived from the same basic trading concepts and indicators. Take an existing system and modify it for your own style of trading. Learn what your indicators do and use them appropriately. Base your ideas on proven and successful trading concepts.

Avoid feature bloat

Do you really need your EA to trade in opposite directions on alternating Sundays depending on whether the MACD is positive or negative? Remember, every feature that is added to an already working EA takes more time to code and debug than the last feature. This is especially true if the feature you're requesting is non-standard or unique to your trading system.

On average, it takes less than 2 hours to code the initial features for an EA. It can take at least that long to add and test just one or two more additional features. This goes double for any non-indicator based system, as those EAs perform a specific sequence of actions that makes them harder to modify and easier to break.

In short, consider what features you really need and whether there's a simpler way to do what you want to do. More features equals more expense.

There is no holy grail indicator

"Hey, check out this indicator I found! It places arrows exactly where you should place your buy and sell orders! And the line changes colors according to the direction of the trend! I gotta get an EA made for this!"

Almost all indicators will redraw during the current bar, which means that your signal will often be useless. At the very least, you should only evaluate the signal at the end of the bar. And those indicators with the color changing lines will not be very profitable unless you use another condition to filter out bad trades.

One indicator does not a good trading system make. A second or third indicator to confirm your trades is a great idea.

Learn how to use your trading terminal

Please don't order an expert advisor if you've never used one. Download some free EAs and learn how to backtest and optimize them first. You should already be comforable with MetaTrader and working with expert advisors before you attempt to develop your own custom EA.

If you're not comfortable with operating your trading terminal and troubleshooting expert advisors, you should seriously reconsider trading real money on the Forex market. Remember, you're putting your hard-earned money at the mercy of a computer program. If you don't have some level of mastery over the trading process, you could very easily lose your entire balance.

Make sure your trading system is profitable, tested and complete

Be sure to manually forward test your trading system on a demo account before paying for an EA. Many custom trading systems that have not been tested in real trading conditions often end up being less profitable than a simple MA cross.

And while system specs do change during development, constantly changing your system specs is a sure sign that your system is either unnecessarily complex, unprofitable or untested. Not to mention that your EA will be more expensive.

In conclusion...

To summarize, your trading system should be simple, based on proven trading concepts, tested for profitability and should contain no more features than absolutely necessary. You should also have a good working knowledge of MetaTrader 4 and be comfortable with testing and troubleshooting expert advisors.

Follow these suggestions and you'll have an expert advisor that is profitable, reliable and affordable!