ROC Expert Advisor For MT4
WE IMPROVED THIS EXPERT ADVISOR FOR YOU!!!
PLEASE NOTE: This expert advisor was publicly available for free usage on other websites and is not programmed by us. We explain the functionality and possible improvements of the EA. Furthermore, we are convinced that fully automatic Expert Advisors will fail in the long run. On the other hand, our semi-automatic approach with detecting the best setups and then activating our Expert Advisors (e.g. V-Power EA, EdgeZone EA) produced many successful traders and some of them even got prop traders at prop trading firms. Therefore, we added a similar semi-automatic trading feature (to allow only buy or only sell trades) to the free Expert Advisors. You can download the modified version here and enjoy!
Table Of Contents:
- ROC Expert Advisor For MT4
- The ROC Expert Advisor For MT4 – Entry Criteria
- The ROC Expert Advisor For MT4 – Exit Criteria
- The ROC Expert Advisor For MT4 – Rooms for Improvement
The ROC Expert Advisor For MT4 is an advanced algorithmic trading system for the MT4 platform. It uses multiple technical indicators to determine and confirm trade entry and implements a sound money management strategy to maximize profits and protect the trading account. The robot is designed to work in a ranging market condition. If the trend is strong and gives only minimal corrections, the trading account might encounter some losses. Still the robot looks promising if optimized and if the trader is in for the long haul.
The main indicator used for trade entry is the famed rate of change (ROC) indicator. The ROC indicator is considered a momentum indicator that gives indication about the strength of price change. While it is regarded as a momentum indicator, unlike a moving average, the ROC indicator is plotted on a chart sub-window like an oscillator. This indicator can predict trend continuation or reversal, particularly when the ROC line crosses the zero level.
The ROC Expert Advisor For MT4 – Entry Criteria
This robot uses three timeframes for trade identification. The timeframes used depend on the current timeframe to which the robot is attached. The first image above shows that the robot is attached to the 15-minute chart. In this case, the robot will check for signals in the current timeframe (M15) as well as in the next lower timeframe (M5) and the next higher timeframe (M30).
In the current timeframe, the robot will calculate the ROC value and returns either 1 (buy signal) or 2 (sell signal). Next, the relative position of the two moving averages on the next lower timeframe (see above image) is determined to confirm the ROC signal. If the fast-moving average is above the slow-moving average, a buy signal is given. Conversely, if the fast-moving average is below the slow-moving average, this is a sell signal. Finally, if the momentum value of one of the three previously closed candles on the next higher timeframe (see image below) is below 0.3 (default), this is a confirmation that a buy or sell trade can be taken.
The technical indicators used in this trading system are as follows:
- Rate of change (ROC) – The robot uses a built-in function in computing the ROC value instead of calling an external custom indicator via the iCustom function. The ROC is the primary indicator being used for trend identification.
- Linear weighted moving averages (period 1 and 5) – These moving averages confirm the signal given by the ROC indicator. A crossover of the two LWMAs is not necessary. Only the relative placement of the two averages at a point in time matters.
- Momentum (14) – The momentum value is used to confirm the trade. If the value is below 0.3 (default value), either a buy or a sell trade can be taken depending on the signal given by ROC and LWMAs.
The robot checks for entry signals at the open of a new candle. First, the account equity is checked to determine if the account has enough margin to take on additional trades. If there is enough money on the account, there are more than 100 bars on the chart and the take profit target is more than 10 pips, the robot will check the three indicators for trade entry. Meanwhile, if the account has encountered a drawdown of one percent due to losing open trades, all open trades will be closed at once.
The ROC Expert Advisor For MT4 – Exit Criteria
Every trade taken by the robot will have a stop loss and take profit according to the number of pips set by the user. The default stop loss is 500 pips, and the default take profit is 200 pips. In addition, two other money management functions are enabled by design. These are the breakeven and trailing functions.
Once a trade becomes profitable and gains at least 30 pips, the robot will move the stop loss to breakeven. Later, when the trade gains 20 more pips, the robot will start moving the stop loss to lock in more profit. This will continue so long as the distance between the market price and the stop loss is greater than 50 pips. Trailing stop is applied on every new candle. In this scenario, the trade can be closed only in two ways, that is, when the take profit (200 pips) is reached or the new stop loss is hit. Either way, the result of the trade will be positive.
The number of trades open on one symbol at any given time can range from one to five. The trade volume of all trades is maintained at the lot size set by the user (0.01 default). When trailing stop is activated, the stop loss of open trades is adjusted individually. The five open trades can be a combination of buy and sell trades.
The ROC Expert Advisor For MT4 – Rooms for Improvement
On back test, the robot will take trades only after running for 100 bars on the current chart timeframe. Users might think that the robot does not work because of this setting so it is a good idea to remove this requirement in the code.
The back-test result shows some errors in order modification. Normally, the stop losses of open trades are adjusted, but sometimes trail stop does not work. Therefore, the trailing stop function of the code must be checked to resolve these errors.
Another area to improve on is the close distance of open trades. This might cause the trading account to encounter huge drawdowns more quickly and more frequently, resulting in liquidation of open positions. A grid system must be used to space out the trades particularly those of the same type (i.e. buy or sell).
The stop loss of open trades of the same type (e.g. buy) in case of multiple trades is adjusted individually. This can be improved by setting one stop loss price for all open buy orders. The same can be applied to multiple sell trades. In this way, no trade of a specific type is left behind when the market changes direction.
Overall, the robot looks promising. The equity curve in back test is not smooth, but there are times when the robot attempted to recover the losses. With the help of back testing and optimization and better trade management, the robot might yield positive results for traders and investors for the long term.