MQL5 Free EA – Verification by backtesting 6 "Multi oscillator divergence EA MT5"

MQL5 Free EA

In the “Verification by backtesting" series, we verify the performance of free EAs registered in the MQL5 community from the backtesting results. We hope it will help you choose EA.

* Membership registration (free) is required to download EAs and indicators from the MQL5 community, so let’s create an account by referring to this article!

The sixth installment is Multi oscillator divergence EA MT5“.

About “Multi oscillator divergence EA MT5"

Quote from the official MQL5 page (translation)

The Expert Advisor recognizes divergences between prices and oscillators (indicators) when they occur. It responds to both normal/classical and hidden divergences. There are filter options for RSI, Bollinger Bands, Stochastic Oscillator, Moving Average, and ADX, and you can also use only the strongest indicators.

The default setting is optimized for “EURUSD H1" (285 trades in the backtest of 2015.01.01~2022.1.31, corresponding to an average of 0.8 times per week).

  • It can detect divergences of MACD, OsMA (Moving Average Oscillator), Stochastic, CCI, and RSI. All oscillators/indicators can be selected either simultaneous divergence (occur simultaneously) or some multidivergence, so you can choose between them. It is also possible to use specific oscillators/indicators to trade with a single divergence.
  • It is possible to close half of the selected positions from different strategies.
  • Two moving averages with different periods can be used as trend filters. For example, Slow MA 200 and Fast MA 12 can be used to obtain hidden divergence.
  • Spread and time filters.
  • You can use the percentage of ADR (average daily range width) for Stop Loss, Take Profit, Trailing Stop and Half Position Close.
Input Parameters
  • First, do a backtest in the strategy tester. Then, test the EA on a demo account and decide whether to put it live after making at least 10 trades.

What is divergence?

As a material to explain the difference between normal “divergence" and “hidden divergence", I borrowed the following figure because it is easy to understand (source: Trading Setups Review). The phenomenon in which the value and rate of oscillator indicators that judge whether the market is overbought or oversold is called “divergence".

Divergence (Regular/Classical Divergence)

The situation where the oscillator numbers are rising despite the chart being downward is called Regular/Classical Divergence, and since the trend often reverses after this, it is used as a technical indicator to identify trend reversals.

Divergence is a signal that appears when the nadir of the market is noticed, such as a double top or double bottom.

  • Trend momentum stalls ⇒ means the end of the trend.

Naturally, there are ups and downs in the trend, so we judge it as follows.

  • Divergence during an uptrend: Chart updated up/Oscillator down
  • Divergence during a downtrend: Chart updated lower/Oscillator higher

Hidden Divergence

On the other hand, hidden divergences are signals that appear when the trend is continuing and are used as technical indicators to confirm the continuation of the trend.

  • Adjustment of over-the-top ⇒ means continuation of the trend.

Naturally, there are ups and downs in the trend, so we judge it as follows.

  • Hidden Vergence in an Uptrend: Chart Upside / Oscillator Down
  • Hidden Divergence in a Downtrend: Chart Downside / Oscillator Upward

How to distinguish normal divergence from hidden divergence

Divergence and hidden divergence are fundamentally different phases, so I don’t think you can be misled, but to summarize them for the time being, they are as follows. For your information.


  • If you are in an uptrend, pay attention to the [recent high]
  • If you are in a downtrend, pay attention to the [recent low]

Hidden Divergence

  • If you are in an uptrend, pay attention to the [recent low]
  • If you are in a downtrend, pay attention to the [recent high]

Trading “Multi oscillator divergence EA MT5"

Initial settings (optimized for EURUSD H1)


The EA is set to detect only normal divergences by default and enters the “contrarian" with the aim of reversing the trend.

Setting Parameters
  • Main Ocirator:OsMA


  • Trade regular:true


  • Trade hiddeon:false

Backtesting with default settings


  • Account: NZX Zero (ECN) (NOZAX)
  • Currency Pair: EURUSD #
  • Timeframe: H1
  • Initial Balance: $10,000
  • Parameters: Left as default except for changing the number of lots to “0.1"
  • Period: January 1, 2015 ~ November 30, 2022
  • As far as the behavior of this EA in the backtest, it enters at a fairly exquisite point. Since profitability does not seem to be high, it is positioned as one EA that makes up the portfolio.

To determine whether the EA under consideration can really be used,

  • Try it in action with a demo account.
  • When the forward period extends after a short time, the behavior/results of that period are verified by backtesting.
  • From the viewpoint that it should work in any market, conduct a long-term backtest and see the resistance of the EA.

First of all, I think it is a good idea to actually try the EA you are interested in and start by grasping the features. The important thing is to grasp the characteristics of what kind of EA it is. In that sense, let’s try free EA in MQL5 Market for now! It’s possible, so I recommend it!

Posted by GOMA