8 Mistakes To Avoid In Expert Advisor Development

These are few of the popular mistakes most people make when developing Expert Advisors:

1: Curve Fitting (Overoptimization)

Curve Fitting is considered the deadly kiss of system development. However many novice programmers are not aware of this fallacy and fail again and again without a reasonable explaination.
Curve Fitting happens when the system is too-optimized, which means that the programmer has added too many indicators to his system, and optimized every parameter of it to the max. What will happen, is that his system will 'fit' exactly the sample it was optimized on, but will fail misrably on any other samples (forward-testing, for ex.).
In order to avoid this mistake one must be careful with optimizations he makes, and try not to add many indicators that have no real meaning over his system. The system should have a core logic, strong basis for signals from which its profits are generated. Confirmations and filters can be added but should be generally minimal.

2: Testing on in-sample data

Many beginners optimize their system, and than test its results on the same data it was optimized on. This will produce strongly biased results and will not show the system's real nature.
To unveil the true profitability of the system one must optimize it on a sample but test it on a different sample. This is also a countermeasure against Curve Fitting.

3: Only One Pair\Timeframe

Another widespread mistake is developing a system which only works on one pair(in FOREX) or very limited number of pairs.
While systems can perform better on a specific commodity, a system that only works on one pair is very likely to be false and unprofitable. Failure on many commodities implies that the core logic of the system is wrong and just happend to work on this specific commodity. I would be extra cautious when dealing with systems like these, and will take measures to check whether the failure resulted from volatility changes or just weak signal. I would consider trading only systems which work on at least 3 pairs.
This phenomenon is very common in indicator-based systems.

4: Fixed-Lot Entries

I have seen many systems which trade the market with a predefined size of trade, regardless of the situation and Risk:Reward ratio. This is strongly wrong and can damage your system expectancy very much. A system must risk a specific PERCENTAGE of the equity, and adjust trade size accordingly. This measure is designed to prevent one big loss from dimishing hard-earned profits.

5: Using Small Samples

Testing and optimizing an automated system on small sample can be a fatal mistake. Focusing on a small sample (short-term backtesting) causes the system to focus on profitability in the short period it was tested on, rather than focusing on the big picture which is long-term success. By fitting the system to a short period the developer gains a biased view over the system's results and ultimately optimizes the system wrong. All testing and optimizations should be done on as big a sample as possible, to maximize validity and confidence.

6: Too Many Confirmation Indicators

Adding too many confirmation indicators can seem like a conducive action, but in reality it is rarely helpful. Many indicators result in less trades, which mean higher deviation of profits - and longer periods with losses. A system that enters fewer trades is also harder to backtest and the period for backtesting should also be longer for conclusions to be aggregated. In addition, many confirmation indicators also lead to a state of over-optimization. Focus on several key-indicators which really make the system strong, and stick to them. In the field of system development - simpler is usually better.

7: Relying Only On Indicators

While it is problem that also manual traders do it is crucial for trading system developers. As we know, most indicators are lagging and even if they work, it is usually in trend-phases. Relying solely on indicators can result in a limited system with limited profitability factor. Focusing on price action variables such as Support and Resistance, confirming indicator-based signals with price action (with stop orders, for ex.) can result in much better winning percentage and lower drawdown. I recommend introducing this philosophy in your manual trades also.

8: Not Seperating Trend and Range

Market is 80% of the time in Range and only 20% in Range, and there are few systems which operates well in both phases. A good system must identify and seperate between these phases, and specify different trading rules for both. For example: Using moving averages should be restricted to trend phases, and the Bollinger Bands to range ones. Research the indicators you are using, and find out which suit best the phases of the market.

These are the main mistakes that prevent system developers from profiting. Learn to identify and avoid them to increase your profitability.
To automate your system or create a custom indicator, click here.

Return to Articles