ROC – Rate Of Change Indicator For Metatrader

In this article you can learn more about the Rate Of Change and Rate Of Change (ROC) Indicator for Metatrader.

You can see the formula to calculate the ROC, what it indicates and you will be able to download the Rate Of Change Indicator with Alert for MT4 and MT5.

What Is The Rate Of Change

The Rate Of Change is in its basic meaning the percentage of difference between the price in one moment and the price in a previous moment.

People usually refer to the Rate Of Change with the short form of ROC.

The Rate Of Change is an indicator of momentum, so it gives some information about the momentum of price change.

Rate Of Change Calculation Formula

The calculation of the ROC is very easy and only requires two values:


Once you have the close price of an instrument at two different times you can easily calculate the ROC with this formula:


Which can also be seen in this other alternative form.


What Is The Rate Of Change Indicator For Metatrader

The Rate Of Change Indicator For Metatrader is a visual representation of the current and historical ROC.

In its visual form the ROC Indicator is a momentum indicator visualised as an oscillator.

The Rate Of Change Indicator draws a line oscillating around the zero, indicating the momentum of the move.

The indicator that you can download from this page can also alert you when the value crosses the zero level.

How To Use The Rate Of Change Indicator

The ROC Indicator is useful to spot different possible behaviours in the market.

It would be hard to base a trading strategy entirely on ROC however the indicator can provide information to make better decisions.

Rate Of Change Crossover Of Zero

The Rate Of Change can be used to spot trend reversal and trend continuation.

When the ROC crosses the zero it can indicate a momentum reversal.

It is important to note that the ROC suffers from whipsaw especially around the zero mark, where the direction is still not clear.

Rate Of Change For Overbought And Oversold

ROC can also be used to see when the momentum of a move is exhausting.

Similarly to Stochastic and RSI, the ROC can be used to detect Overbought and Oversold situations.

Instead of basing the overbought and oversold on fixed levels, it is possible to compare the current spikes and dips to previous tops and bottoms.

Rate Of Change Divergences

Another way of using the ROC is the ROC Divergence, similar to the divergence studies done with RSI and Stochastic oscillators.

Rate Of Change Alert Indicator For Metatrader MT4 And MT5

As mentioned before the FREE Rate Of Change Indicator for MT4 and MT5 can be downloaded from the below links.

The indicator shows an oscillator line.

You can specify the candles of difference between the two calculation price.

Having a line instead of only the current value provides more data because you can also see the previous values. This can help comparing and see the trend of the ROC and the previous tops and bottoms.

The ROC indicator can notify the trader when the value crosses the ZERO level.

Notification can be:

  • On Screen
  • Email
  • Metatrader Mobile App

To help with the visualization the crosses of zero can also be highlighted with Arrows on the chart.

Installation Instructions

To install the indicators please follow the instructions below:

  1. Download the indicator file
  2. Open the Metatrader Data Folder (In File > Open Data Folder)
  3. Open the MQL4 Folder, or MQL5 for MT5
  4. Copy the file in the Experts folder
  5. Restart Metatrader

For more detailed instruction on how to perform the installation please visit this article.


In this article you saw the Rate Of Change Indicator and some of its utility.

ROC Indicator For MT4 and MT5 can be used for trend following, trend reversal and momentum.



Please feel free to leave a feedback regarding the indicator or Contact Us for anything else.


15 thoughts on “ROC – Rate Of Change Indicator For Metatrader”

  1. Hi! Luca,

    The Rate Of Change (ROC) Indicator shows the green arrow or red arrow
    are really almost at the right positions.

    But it just returns two numbers only .

    If I want to use this indicator to determine the buy/sell entry,
    would you please let the ROC indicator returns 1 for buy signals and -1 for sell signals ?

    • I want to create an EA based on the ROC indicator.

      I get two double type numbers from the ROC indicator via the iCustom.
      I do not know the numbers stand for.

      but the indicator can send alert well.
      so, it is possible to get the signals by returning the buy/sell(1/-1) as well.

      Would you please let the ROC indicator returns 1 for buy signals and -1 for sell signals ?

      I deeply appreciate your help.

      • Sorry, I made a mistake.

        The ROC indicator returns one value only.

        I use the value to determine the cross up and down,
        it seems to have the same result as alert.

  2. H! Luca,

    1. It will be good if the indicator returns 1 for Buy signal and -1 for Sell signal.
    2. The indicator at small time frame is always sensitive, so I use it at big time frame such as D1.
    3. Due to the slope is sensitive, would you make the slope curve more smoothed ?
    If yes, it will reduce some noises.

    I deeply appreciate your help.

  3. Hi, this ROC indicator is really good, just a little thing, It seems it has problems when loading for backtesting purposes, even when changing the numbers of candles to analyse, it doesn´t show.

    Just a heads up, If you have a plan to update it.

  4. What period do you use because I’m having a lot of arrows that doesn’t make sense or am I missing something?

    • It depends how many bars you want to have the ROC calculated on, feel free to use the contact form so you can send me some screenshots

  5. Let’s say for example I wanna use 500 bars since it’s on default what period should I use then?


Leave a Comment

We use cookies to ensure that we give you the best experience on our website.