I am one of those traders who have not lost money in Forex for many years already. I do not give preference to a single strategy. Here, I intend to dispel the myth that the Martingale is always detrimental for your account on the long run. If you really want to make a stable profit in Forex, you should master this scary beast called Martingale.
The EA is easy to optimize since you need to specify only three parameters. These parameters are LotExponent, TakeProfit and PipStep. For the parameter LotExponent - Start - 1.1 - Step - 0.1 - Stop - 10; TakeProfit - Start - 30 - Step - 10 - Stop - 500; PipStep - Start - 30 - Step - 10 - Stop - 500...
I also recommend that you leave a part of history to check the obtained results and avoid fitting. Suppose, the current day is 2015.08.30 - we optimize the EA from 2014.01.30 to 2015.01.0.1. After that, the best results are checked one after another by passing the EA on history from 2015.01.01 - that is our final optimization date - up to the current time 2015.08.30...
Testing and optimization should be performed by Open prices, while obtained data is to be checked on all ticks.
Do not optimize the robot on a large time interval. Otherwise, the robot is optimized for the most unfavorable conditions of the past years and does not yield enough profit at the current time.
For example, if your deposit is 1 000 USD, optimize the robot on 100 USD as described above. According to optimization results, the profit may reach several thousand per cent. But we cannot be sure that we will not face any unfavorable circumstances preventing us from making profit. Therefore, the deposit should be divided into 10 parts and optimize the EA on the 10 most liquid currency pairs (or single GBPUSD pair since it is the most optimal but with different settings, MagicNumber should be different). Even if only one pair out of the 10 ones succeeds, you will obtain a profit according to the calculations.
- OpenNewCycle = enable/disable opening a new series of orders
- LotExponent = multiply lots in a series
- TakeProfit = distance to a profitable order
- PipStep = distance between orders
- MaxTrades = maximum number of orders opened simultaneously
- MagicNumber = order ID
- Slippage = slippage
- UseEquityStop = enable/disable a fund limiter (TotalEquityRisk)
- TotalEquityRisk = percentage of the deposit the EA is allowed to trade. If it is exceeded, all trades are closed, while new ones are not opened till you restart the EA. This parameter is required if the terminal has several EA copies.
- UseTrailingStop = enable/disable order trailing (not recommended, trailing does not allow the profit to grow)
- ProfitTrailDist = distance from a breakeven point in points, at which order trailing is enabled
- UseMultiClosing = enable/disable closing all orders in the terminal when reaching a certain profit percentage
- ProfitPercAll = overall profit percentage at all active orders, at which all orders are closed if UseMultiClosing = true
- Auto_optimization = enable/disable automatic selection and downloading better results obtained during the better EA optimization (do not forget to prepare the EA for optimization and launch the strategy tester in optimization mode, the EA automatically selects the best results and downloads parameters to the archive for each symbol separately, the parameters will then be selected from the archive depending on the chart symbol)
- Update = update the archive storing the data obtained during optimization (only the current symbol data is updated). Make sure to disable the parameter after the update. Otherwise, the robot will not start). The settings for different pairs are stored in the EA memory separately
The_number_of_passes - the number of optimization passes; once this value is reached, the EA automatically exits the optimization mode.
Relative_drawdown - the maximum allowed drawdown, above which parameters are not accepted.
Profit_factor - the EA's profit factor, below which parameters are not accepted.
Expected_Payoff - Expected Payoff, below which parameters are not accepted.
The data are not read, but calculated by my own method. They almost always match Strategy Tester results of EA optimization. Minimal insufficient differences are possible...