How to optimize your trading system?

How to optimize your trading system?

In this article, we will consider the procedure for optimizing a trading system for Forex trading.

Optimization is the process of choosing or creating a trading system and adjusting it to the point where it will be able to perform specific trading operations better than other methods.

For example, you need to find a system that will allow you to get the most profit present on the EUR/USD market. For this:

  1. A system should be selected from a set of systems with fixed parameters. It can be a choice between systems based on various trend indicators and oscillators.
  2. You should find such parameters for the chosen trading system, which will allow you to get the best results. This can be a choice for calculating a moving average or a period for calculating a stochastic oscillator and the like.

Thus, the optimization process begins already during the selection of a trading system from a variety of existing ones and continues with the selection of specific values ​​of the parameters.

Optimization stages of a trading system

  1. The emergence of an idea about what the trading system will be based on.
  2. Select the type of criteria or decision rules for the system. For example, the criterion can be the intersection of price and indicator charts or the appearance of a series of several consecutive black/white candles.
  3. Determination of system parameters. The parameters can be selected from the assumptions about the price’s cyclical movement, or taken from other assumptions, or based on the own certain considerations of the system designer.
  4. System testing.
  5. Iterative repetition of the previous points if the system does not give satisfactory results.

The process of development, testing, and debugging of system parameters

First, a trading system is formed by defining trading rules (conditions) that must be met in opening and closing long or short positions. Such rules for automated trading systems are written in a special programming language. For example, this is the MetaQuotes Language (MQL) for the MetaTrader platform, which is used to write all the variables whose values ​​need to be changed during system testing.

You must specify the minimum value, maximum value, and step of change for each of them.

Next, it is determined how the stops will be carried out within the system. This can be done manually or automatically by closing the

respective positions depending on the winnings or money loss.

Then direct testing of the trading system is carried out.

During testing, the system can be long, short, or out of the market. The trading platform operates according to the created

trading rules and stops periodically to determine the system’s profit. If a sale and purchase transaction is carried out, then the commission is

calculated according to the specified criteria set by the system developer.

In automatic mode, the program checks all possible combinations of parameters, which are determined by their minimum and maximum values and the step of changing them. For each combination, the received profit is calculated, and many other characteristics of the trading system are determined. The results obtained are usually sorted in order of decreasing profit and recorded in a report that is analyzed after

testing.

Based on the results of the testing analysis, according to the information provided in the brief or the detailed report, the rules for

opening and (or) closing positions are being edited, the minimum and (or) maximum values ​​of the parameters are changed, and, if necessary, a

the new value of the step of changing the parameters is set.