The strategy of this EA is a scalping system that depends on discovering the instant trend by analyzing the price movement speed along with using ATR, Volumes, CCI and WPR indicators.
This EA is intended for trading on EURUSD. However, it can be used on major currencies as well. It uses the M1 timeframe.
Note: the initial parameters values are optimized for EUR/USD.
- Risk in percent for a deal from a free margin: percentage value that should be between '1' and '100'. It defines the maximum allowed amount of money of your deposit that will be used by the EA to open trades.
- Magic number: number that will distinguish the EA's trades from other trades.
- AlgorithmLevel must be between 0 and 3: It gives you the capability to switch between different calculation ways that are used in the core processing of the EA's trading system algorithm. You should optimize this value according to the data quality - sensitivity, accuracy and speed - of your broker. The value increases as the lower data quality, so '0' value is for the most accurate broker's data, '1' value is for the lower and so on. The value of '3' is the most related to the real ticks.
- Threshold must be between 10 and 50: The low values will decrease the required threshold that should be reached for the EA's trading system algorithm to open a new trade and so will increase the probability of opening trades, the lower values may increase the chance of the fake signals in case of the high volatile market.
- TakeProfit Factor must be between 1.5 and 18: The value that defines the 'TakeProfit' threshold, and also the 'StopLoss' threshold is defined according to it. The 'StopLoss' threshold is always set to the half value of the TakeProfit. The two of them define the actual values of TakeProfit and StopLoss as a multiplier of the current value of ATR indicator.
- RangeDegree must be between 0 and 2: If the value is '0', no CCI indicator is used at all. Value of '1' means that the value of CCI should be more than or equal to '100' or less than or equal to '-100' according to the type of the expected trade. The value of '2' means that any of the two conditions is satisfied and acceptable, so the CCI value can be more than or equal to '100' or less than or equal to '-100', any of them.
- DoubleCheck Factor must be 'true' or 'false': If the value is set to True, then 'WPR' will be used and its value should be more than or equal to '-20' or less than or equal to '-80' according to the type of the expected trade.
Note: I recommend to optimize your inputs continuously using MetaTrader 5 Strategy Tester on the option of 'Every tick based on real ticks' to get the most optimized values according to the data quality - accuracy and speed - of your used broker, but please make sure that your history data for testing is fully downloaded.
The most major change also is adding one more Algorithm Level, setting this parameter to the value of '3' will make it more related to the reality data and will act better in the all cases of insufficient broker's data quality and high level of volatility.
- Added the AutoOptimization that allows you to self-optimize the values of the Threshold and TakeProfit inputs by setting AutoOptimization to 'true'.
- Changed the way the LimitRisk feature works. Now, it checks for the total profit of a specific period of time instead of checking the result of the last trades only.
- Added the new LimitRiskCycleNum input to specify the length of the previous period of time the LimitRisk option will work on.
- Changed the way the LimitLogSize works to upgrading the size of the used log according to the total profit of a specific period of time instead of fixing it through the whole lifetime of the EA.
- Added the new LimitLogSizeCycleNum input to specify the length of the previous period of time the LimitLogSize option will work on.
- Added the new ResetOPTCycle input to specify the frequency times of reseting the values of Threshold and TakeProfit inputs to the most optimized values in case the AutoOptimization option is enabled.
- Added the new BackTestOPTCycle input to specify the needed previous period of time for the AutoOptimization to run its backtesting on it.