FMOneEA 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:
- FMOneEA Expert Advisor For MT4
- The FMOneEA Expert Advisor for MT4 – Parameters
- The FMOneEA Expert Advisor for MT4 – Entry Criteria
- The FMOneEA Expert Advisor for MT4 – Exit Criteria
- The FMOneEA Expert Advisor for MT4 – Room for Improvement
The FMOneEA Expert Advisor For MT4 is suitable for trading trending markets due to its use of Bollinger Bands and moving averages. When the underlying asset makes a reversal or is trapped in a small trading range, the trading system suffers loses. This expert advisor can be regarded as a scalping trading program. Even if it is recommended for use in four-hour timeframes, the robot sets a relatively smaller profit target when compared to the stop loss. This relationship of stop loss and take profit is intended to grow an account fast to have enough buffer to survive few large losses.
The FMOneEA Expert Advisor for MT4 – Parameters
The FMOneEA Expert Advisor looks for a trade signal on every tick but opens one trade at a time. It uses a complicated algorithm in trade management that is hard to decipher by reading the code. The best way to understand how the program works is through back testing or demo trading.
The robot presents several settings in inputs that the user may customize at any time. Understanding what each setting means can be a challenge for new users; therefore, the following list is prepared to give an overview of the inner workings of the system:
- FridayTrade = True – Since this parameter is true, the robot will trade on Friday.
- Redemption = True – With this setting, the robot will open a trade in the opposite direction if the previous trade was a loss.
- LotsOptimization = True – By default, the lot size is determined by the expert advisor.
- Lots = 0.01 – If the LotsOptimization variable is set to false, the user can use any lot size he pleases. The default volume is 0.01.
- LotsRedempt = 2.0 – If the Redemption variable above is set to true, the next trade in the opposite direction will have two times the lot size of the previous losing trade.
- AutomaticTakeProfit = True – Since this value is true, the take profit is defined by the expert advisor, and the manual take profit set by the user is ignored.
- MinimumTP = 10 – This value refers to the distance in pips beyond the entry price where the robot adjusts the stop loss price when a trade has gained at least 14 pips.
- TakeProfit = 20 – This is the manual take profit in pips, which is ignored by default.
- AutomaticStopLoss = True – This setting means that the robot will do the stop loss adjustment in lieu of the trader.
- StopLoss = 157 – Each trade opened by this robot has a stop loss of 157 pips, which is set in place upon trade entry.
- UseTrailingStop = True – Trailing stop is enabled by default.
- TrailingStop = 14.0 – This is the minimum number of pips that a trade must gain before trailing stop is activated.
- AutoTrailingStop = True – This setting enables the trailing step function.
- TrailingStopStep = 1.0 – This variable is used when adjusting both the stop loss and take profit after a winning trade has been trailed for the first time.
The FMOneEA Expert Advisor for MT4 – Entry Criteria
Two types of technical indicators are used in this trading system for trade entry and exit. These indicators are presented below, along with a discussion on how each is used in the program:
- Bollinger Bands (period 20, deviation 2, median price) – Three values of the Bollinger Bands are computed to define a trade signal. These values are the prices of the middle band, upper band, and lower band. For a buy signal, market price must be above the middle band and the current candle should be bullish. For a sell signal, market price should be below the middle band and the current candle should be bearish.
- Linear weighted moving average (period 2, median price) – The moving average helps define a trade signal. A bullish signal is indicated if current price is above the LWMA, and a bearish signal is given if current price is below the LWMA.
When the technical indicators have generated a trade signal, the trade is taken immediately, and its lot size is defined by the robot. This calculation method results in a trade volume that is bigger than normal. To control the risk, the user may consider using a static lot size. See above picture. At the time of entry, the robot sets a stop loss of 157 pips plus spread and a take profit of 42 pips. When the trade has gained at least 14 pips, the stop loss is adjusted beyond the entry price to secure the trade and lock in 10 pips worth of profits. When this action is taken, the take profit is not adjusted. Every time an additional pip is gained, the stop loss is adjusted by the same amount, so does the take profit.
Stop loss and take profit adjustment continues until price hits either the stop loss or take profit. Whether the previous trade was a winner or a loser, the next trade will have a lot size proportional to the new account balance. Normally, the next lot size is bigger than the previous lot size if the previous trade was profitable and lower when the previous trade was a loss.
The FMOneEA Expert Advisor for MT4 – Exit Criteria
The FMOneEA Expert Advisor uses a complicated trade management strategy. Everything goes smoothly when a trade is profitable from the beginning to the end. The complication happens when a trade is losing. If price has moved 35 pips against a trade, the expert advisor closes the trade for a loss and opens a new trade in the opposite direction.
The new trade will have a trade volume twice bigger than the former trade. As with other trades, the new trade will also have a stop loss of 157 pips plus the spread and a take profit of 42 pips. Lot size doubling may continue for three trades in a row when the robot experiences a losing streak. When the last trade in the series resulted in a win, the cycle is broken, and a new trading episode begins. This time the lot size computation will revert to normal, that is, proportional to the existing account balance.
The FMOneEA Expert Advisor for MT4 – Room for Improvement
The FMOneEA Expert Advisor might cause heavy loses when the market is caught in a range. This is because the robot will keep on buying and selling alternately until one trade returns a profit however small the profit may be. This buy-and-sell frenzy in ranging markets might lead to drawdowns that could not be recovered completely. Therefore, it is best to use the trading system in markets that tend to trend most of the time. In addition, it is not advisable to apply the expert advisor to lower timeframes.
In testing, the program was run for nine months using EURUSD four-hour chart and was able to execute 480 trades. Around 60 percent of these trades were profitable, but the trading system failed miserably in terms of return. Fifty percent of the trading account was lost at the end of testing. This is likely due to the huge lot size used by the robot in each trading cycle. The amount of loss could be reduced had automatic lot sizing been turned off. Therefore, the user must explore which lot sizing strategy is best for his circumstance.
The program can be improved to limit the use of computer resources and speed up computations. There are several instances in the code when the for loop is used to obtain an array of values containing 100 elements, but only the first or second index in the array is actually used. See above picture. However, this type of change would involve a code review, which might be challenging to do for this program.