This post focuses on customizable Rate of Change (RoC) or Momentum indicator factory scans, which can be edited, modified, or rewritten and then scanned using ChartAlert’s native stock screener or technical analysis scanner, namely the Basic Scanner and Advanced Scanner.

**Display Rate of Change (ROC) Values**

Tags: best stock screener for momentum, momentum oscillator strategy, momentum scanner, momentum screener, momentum stock screener, momentum stocks screener, price rate of change formula, rate of change screener, rate of change stock screener, roc indicator strategy, roc screener, roc stock screener, stock momentum scanner

```
List symbols
Add Column Rate Of Change(12) as ROC
Apply to NSE
```

This scan calculates and displays the 12-period Rate of Change (ROC) for all symbols listed on the National Stock Exchange (NSE). Essentially, it determines the percentage change in the closing price over the previous 12 trading periods. By default, the ROC is calculated based on the closing price.

**OPTION 1**

Alternatively, the Rate of Change can also be computed using the “Chg%” function, as illustrated below.

```
List symbols
Add Column ROC(12) as ROC12
Add Column Chg%(Close, Close 12 bars ago) as CHG12
Apply to NSE
```

**OPTION 2**

By default, the computation of the ROC is based on the “Close” data array. However, if you wish to calculate the ROC on a different data array, such as the 14-day Exponential Moving Average (EMA) of the “Close” prices, you can make the following modification to the scan:

```
List symbols
Add Column ROC(12,EMA(14)) as ROC_of_EMA
Apply to NSE
```

**Display Smoothed Rate of Change (SROC) Values**

Tags: best stock screener for momentum, momentum oscillator strategy, momentum scanner, momentum screener, momentum stock screener, momentum stocks screener, price rate of change formula, rate of change screener, rate of change stock screener, roc indicator strategy, roc screener, roc stock screener, stock momentum scanner

```
List symbols
Add Column Smoothed ROC(13,21) as SROC
Apply to NSE
```

This scan computes and displays the 21-period ROC of the 13-period Exponential Moving Average (EMA) for all symbols listed in the National Stock Exchange (NSE).

**OPTION 1**

Alternatively, the ChartAlert scripting language allows you to perform your own calculations. Specifically, the Smoothed Rate of Change can be computed using the “Chg%” function, which measures the percentage change in the 13-period EMA over the previous 21 bars.

```
List symbols
Add Column SROC(13,21) as SROC
Add Column ROC(21,EMA(13)) as SROC_1
Add Column Chg%(EMA(13), EMA(13) 21 bars ago) as SROC_2
Apply to NSE
```

**Rate of Change turned to Positive**

Tags: bullish momentum stocks, high momentum stocks screener, momentum burst scanner, momentum stocks for tomorrow, positive momentum, rate of change must be positive, rate of change positive, roc positive, strong momentum stocks

```
List symbols where ROC(12) has crossed above 0 after remaining below for 3 bars
Add Column ROC(12) as ROC12
Apply to NSE
```

This scan identifies symbols where the Rate of Change has recently surpassed the 0 level, following a period of having remained below 0 for 3 consecutive bars. Additionally, the output scan report includes the actual value of the Rate of Change for each symbol.

**Rate of Change turned to Negative**

Tags: momentum negative, negative rate of change, rate of change negative, roc negative

```
List symbols where ROC(12) has crossed below 0 after remaining above for 3 bars
Add Column ROC(12) as ROC12
Apply to NSE
```

This scan identifies symbols where the Rate of Change has just crossed below 0, following a sustained period of having been above 0 for 3 bars. The output scan report also provides the corresponding value of the Rate of Change.

**Rate of Change (ROC) in Overbought Zone**

Tags: momentum oscillator overbought, overbought momentum indicators, rate of change overbought, rate of change overbought declining, rate of change overbought decreasing, roc overbought stocks, roc overbought stocks india, roc overbought stocks screener, roc overbought stocks today

```
List symbols where ROC(12) has been above 30 for the last 3 bars
Add Column ROC(12) as ROC12
Add Column ROC(12) 1 bar ago as ROC12_1
Add Column ROC(12) 2 bars ago as ROC12_2
Apply to NSE
```

This scan is designed to identify NSE symbols based on specific criteria. It focuses on symbols whose 12-period ROC has consistently remained above +30 for the past 3 bars. The output scan report will include the 12-period ROC values for the last three bars.

**OPTION 1**

If you prefer to search for symbols that are simply in the Overbought Zone based on the ROC, you can modify the original scan as follows:

```
List symbols where ROC(12) > 30
Add Column ROC(12) as ROC12
Add Column ROC(12) 1 bar ago as ROC12_1
Add Column ROC(12) 2 bars ago as ROC12_2
Apply to NSE
```

**Rate of Change (ROC) in Oversold Zone**

Tags: oversold momentum indicators, rate of change oversold, rate of change oversold improving, rate of change oversold increasing, roc oversold stocks, roc oversold stocks india, roc oversold stocks screener, roc oversold stocks today

```
List symbols where ROC(12) has been below -30 for the last 3 bars
Add Column ROC(12) as ROC12
Add Column ROC(12) 1 bar ago as ROC12_1
Add Column ROC(12) 2 bars ago as ROC12_2
Apply to NSE
```

This scan is designed to identify NSE symbols with a consistent 12-period ROC below -30 over the past 3 bars. The output scan report also includes the 12-period ROC values for the last 3 bars.

**OPTION 1**

To identify symbols in the Oversold Zone based on the ROC, modify the initial scan as follows:

```
List symbols where ROC(12) < -30
Add Column ROC(12) as ROC12
Add Column ROC(12) 1 bar ago as ROC12_1
Add Column ROC(12) 2 bars ago as ROC12_2
Apply to NSE
```

**Overbought with a Declining Rate of Change (ROC)**

Tags: momentum oscillator overbought, overbought momentum indicators, rate of change overbought, rate of change overbought declining, rate of change overbought decreasing, roc overbought stocks, roc overbought stocks india, roc overbought stocks screener, roc overbought stocks today

```
List symbols where ROC(12) has crossed below 30 after remaining above for 3 bars
Add Column ROC(12) as ROC12
Apply to NSE
```

This scan examines symbols for a specific condition: when the 12-period Rate of Change indicator crossed below the 30 level after having stayed above it for 3 consecutive bars. The scan report also includes the 12-period ROC for reference.

**Oversold with an Improving Rate of Change (ROC)**

Tags: oversold momentum indicators, rate of change oversold, rate of change oversold improving, rate of change oversold increasing, roc oversold stocks, roc oversold stocks india, roc oversold stocks screener, roc oversold stocks today

```
List symbols where ROC(12) has crossed above -30 after remaining below for 3 bars
Add Column ROC(12) as ROC12
Apply to NSE
```

This scan examines symbols for a specific condition: when the 12-period Rate of Change indicator has recently crossed above the -30 level, following a period of having been below -30 for 3 consecutive bars. The scan report also includes the display of the 12-period ROC.

**Rate of Change Moving Average Bullish Crossover**

Tags: momentum crossover, momentum crossover indicator, momentum moving average crossover, rate of change crossover, rate of change moving average crossover, roc bullish crossover

```
List symbols where ROC(12) has crossed above EMA(3,ROC(12)) after remaining below for 3 bars
Add Column ROC(12) as ROC12
Add Column EMA(3,ROC(12)) as EMA3_ROC12
Apply to NSE
```

This scan examines symbols to identify instances where the 12-period ROC has recently crossed above the 3-period Simple Moving Average (SMA) of the indicator. This occurs after the ROC has previously remained below the SMA for 3 consecutive bars. The resulting scan report provides the values of the 12-period ROC and the Moving Average.

**OPTION 1**

Additionally, an optional filter can be applied to check if the 12-period ROC is still below 0. When the ROC crosses above 0, it is considered a bullish signal.

```
List symbols where ROC(12) has crossed above EMA(3,ROC(12)) after remaining below for 3 bars
And ROC(12) < 0
Add Column ROC(12) as ROC12
Add Column EMA(3,ROC(12)) as EMA_ROC12
Apply to NSE
```

**OPTION 2**

To modify the type of Moving Average, you can easily replace “EMA” with “SMA” for Simple Moving Average. In the example below, we have used Simple Moving Average (SMA) instead of Exponential Moving Average (EMA). Additionally, the following scan identifies crossovers without considering their position before the crossover.

```
List symbols where ROC(12) has crossed above SMA(3,ROC(12))
Add Column ROC(12) as ROC12
Add Column SMA(3,ROC(12)) as SMA3_ROC12
Apply to NSE
```

**Rate of Change Moving Average Bearish Crossover**

Tags: momentum crossover, momentum crossover indicator, momentum moving average crossover, rate of change crossover, rate of change moving average crossover, roc bearish crossover

```
List symbols where ROC(12) has crossed below EMA(3,ROC(12)) after remaining above for 3 bars
Add Column ROC(12) as ROC12
Add Column EMA(3,ROC(12)) as EMA3_ROC12
Apply to NSE
```

This scan examines symbols to identify a specific condition. It checks if the 12-period ROC has recently crossed below the 3-period Exponential Moving Average (EMA) of the indicator, following a period of having been above it for 3 bars. Additionally, the scan report provides the values of both the 12-period ROC and the Moving Average.

**OPTION 1**

To enhance the filtering process, we will introduce an additional criterion. We will verify whether the ROC(12) is still above 0, as crossing below 0 would be deemed a bearish signal.

```
List symbols where ROC(12) has crossed below EMA(3,ROC(12)) after remaining above for 3 bars
And ROC(12) > 0
Add Column ROC(12) as ROC12
Add Column EMA(3,ROC(12)) as EMA_ROC12
Apply to NSE
```

**OPTION 2**

To modify the type of Moving Average, just replace “EMA” with “SMA” for Simple Moving Average. In the example provided below, we have used SMA instead of EMA. Additionally, this scan focuses solely on identifying crossovers, regardless of the position before the crossover occurs.

```
List symbols where ROC(12) has crossed below SMA(3,ROC(12))
Add Column ROC(12) as ROC12
Add Column SMA(3,ROC(12)) as SMA3_ROC12
Apply to NSE
```

For comprehensive insights into the Rate of Change or Momentum indicator, including its calculation methodology, how to effectively use RoC or Momentum indicator in trading, as well as an exploration of its advantages and limitations as an indicator, click here.