This post focuses on customizable Moving Averages 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.

**Also see:**

Moving averages rising or uptrending stock screener

Moving averages falling or downtrending stock screener

**Display Moving Average Values**

Tags: moving average rising stocks, moving average rising stocks software, moving average scanner, moving average screener, moving average stock screener, moving average stock screener india

```
List symbols
Add Column MA(SMA,10) as SMA10 chart(c=red)
Add Column SMA(21) as SMA21 chart(c=blue)
Add Column SMA(50) as SMA50 chart(c=green)
Add Column SMA(200) as SMA200 chart(c=violet)
Add Column MA(EMA,10) as EMA10 chart(c=red,lw=2)
Add Column EMA(21) as EMA21 chart(c=blue,lw=2)
Add Column EMA(50) as EMA50 chart(c=green,lw=2)
Add Column EMA(200) as EMA200 chart(c=violet,lw=2)
Apply to NSE
```

This scan computes and displays the Simple and Exponential Moving Averages (MAs) for various time periods (10, 21, 50, and 200) across all NSE symbols.

ChartAlert supports a total of nine types of Moving Averages:

- Simple (SMA)
- Exponential (EMA)
- Weighted (WMA)
- Time Series or Least Square Method (LSQMA)
- Triangular (TMA)
- Variable (VMA)
- Volume-adjusted (VOLMA)
- Welles Wilder (WELLESMA)
- Zero-lag Exponential (ZLEMA)

As illustrated in this scan, you can employ the general Moving Average function (MA) to calculate any of these nine types of moving averages. Alternatively, you can use the specific functions mentioned above.

**OPTION 1**

If you wish to calculate and view Moving Average Values based on data other than the Close price, you can modify the scan as shown below. In this example, the 14-period RSI (Relative Strength Index) is computed along with its 5-period Exponential Moving Average (EMA).

```
List symbols
Add Column EMA(5,RSI(14)) as EMA_RSI chart(c=red)
Add Column RSI(14) as RS1
Apply to NSE
```

**OPTION 2**

To “shift” the position of the Moving Average in both the horizontal and vertical directions, follow the instructions provided below. In this case, we will be shifting the 14-period Exponential Moving Average of the ‘High’ data series. The horizontal shift will be five bars to the right, while the vertical shift will be downwards by 10% of its original position.

```
List symbols
Add Column EMA(21,High,5,-10) as Shift chart(c=red)
Add Column EMA(21,High) as NoShift chart(c=blue)
Apply to NSE
```

**Close Near Moving Average**

Tags: stocks near 50 day moving average, stocks near moving average

```
List symbols where Close is near SMA(200)
Plot SMA(200) chart(c=red,lw=2)
Apply to Nifty
Apply to Junior
```

Within the context of this scan, the phrase “is near” signifies the evaluation of values to determine if they fall within a range of 2% of each other. The purpose of this scan is to identify all symbols belonging to the Nifty and Nifty Junior (Nifty Next 50) indices for which the closing price is within 2% of their respective 200-period Simple Moving Average (SMA). In this case, the closing price can either be higher or lower than the SMA, as long as it falls within this specified range.

**OPTION 1**

If the intention is to specifically search for symbols that are both below the SMA(200) and within 2% of it, an additional filter should be incorporated using the following approach:”

```
List symbols where Close is near SMA(200)
And Close < SMA(200)
Plot SMA(200) chart(c=red,lw=2)
Apply to Nifty
Apply to Junior
```

**OPTION 2**

To analyze a different range other than 2%, employ the term “is within”. In the following example, we examine symbols that fall within 1.5% of their 200-period Simple Moving Average (SMA).

```
List symbols where Close is within 1.5% of SMA(200)
Plot SMA(200) chart(c=red,lw=2)
Apply to Nifty
Apply to Junior
```

**Price Touching Moving Average**

Tags: stocks touching moving average screener

```
List symbols where Price is touching SMA(200)
Plot SMA(200) chart(c=red,lw=2)
Apply to NSE
```

The purpose of this scan is to identify symbols in which any portion of the bar intersects with the 200-period Simple Moving Average (SMA). When we mention “Price is touching”, it means that any part of the bar is in contact with the moving average. In this case, the closing price can be either above or below the SMA.

**OPTION 1**

If you wish to search for symbols that have touched the SMA(200) but closed below it, you can modify the scan as follows:

```
List symbols where Price is touching SMA(200)
And Close < SMA(200)
Plot SMA(200) chart(c=red,lw=2)
Apply to NSE
```

**Price Relative to Moving Average (above)**

Tags: close above moving average screener, close relative to moving average screener, stocks above moving average screener

```
List symbols where Close > SMA(200)
Add Column ChgRs(Close,SMA(200)) as DiffRs
Add Column Chg%(Close,SMA(200)) as Diff%
Sort on Column DiffRs
Plot SMA(200) chart(c=red, lw=2)
Apply to NSE
```

This scan identifies NSE symbols where the closing price is higher than the 200-period Simple Moving Average (SMA). It calculates the variance between the closing price and the SMA in both Rupee (₹) and percentage (%) terms. Lastly, the results are arranged based on the “price difference” column.

Please note that the percentage difference (referred to as Diff%) is determined by calculating the variance between the closing price and SMA(200) as a percentage of SMA(200).

**OPTION 1**

Modify the scan criteria to include symbols that are touching the SMA(200).

```
List symbols where Price is touching SMA(200)
And Close > SMA(200)
Add Column ChgRs(Close,SMA(200)) as DiffRs
Add Column Chg%(Close,SMA(200)) as Diff%
Sort on Column DiffRs
Plot SMA(200) chart(c=red, lw=2)
Apply to NSE
```

**OPTION 2**

You have the ability to create your own formulas to calculate the change in ₹ (Rupees) and percentage (%). Following the guidelines provided below, you can derive the desired outcomes with accuracy.

```
List symbols where Close > SMA(200)
Add Column Close-SMA(200) as DiffRs
Add Column (Close/SMA(200) - 1)*100 as Diff%
Sort on Column DiffRs
Plot SMA(200) chart(c=red, lw=2)
Apply to NSE
```

**Price Relative to Moving Average (below)**

Tags: close below moving average screener, close relative to moving average screener, stocks below moving average screener

```
List symbols where Close < SMA(200)
Add Column ChgRs(Close,SMA(200)) as DiffRs
Add Column Chg%(Close,SMA(200)) as Diff%
Sort on Column DiffRs desc
Plot SMA(200) chart(c=red, lw=2)
Apply to NSE
```

This scan is designed to identify NSE symbols whose closing prices are currently below their 200-period Simple Moving Average (SMA). In addition to this, the scan calculates the difference between the closing price and the SMA in both Rupee (₹) and percentage (%) terms. The results are then sorted based on the column representing the price difference, with the highest differences listed first.

It is important to note that the percentage difference (referred to as Diff%) is determined by calculating the variance between the closing price and the SMA(200) as a percentage of the SMA(200).

**OPTION 1**

If you prefer, the scan can be modified to specifically identify symbols that are currently touching the SMA(200).

```
List symbols where Price is touching SMA(200)
And Close < SMA(200)
Add Column ChgRs(Close,SMA(200)) as DiffRs
Add Column Chg%(Close,SMA(200)) as Diff%
Sort on Column DiffRs desc
Plot SMA(200) chart(c=red, lw=2)
Apply to NSE
```

**OPTION 2**

You have the ability to create your own formulas for calculating the Change in ₹ (Rupees) and percentage (%), as demonstrated below. Rest assured that the outcomes will remain consistent.

```
List symbols where Close < SMA(200)
Add Column Close-SMA(200) as DiffRs
Add Column (Close/SMA(200) - 1)*100 as Diff%
Sort on Column DiffRs desc
Plot SMA(200) chart(c=red, lw=2)
Apply to NSE
```

**Price Relative to 3 Moving Averages (above 1, below 2)**

Tags: close relative to moving average screener, close above 3 moving averages, close above 4 moving averages, close below 3 moving averages, close below 4 moving averages

```
List symbols where Close > SMA(14)
And SMA(21) > Close
And SMA(50) > SMA(21)
Add Column SMA(14) chart(c=red)
Add Column Close
Add Column SMA(21) chart(c=blue)
Add Column SMA(50) chart(c=green)
Apply to NSE
```

This scan identifies symbols that meet the following criteria: the current closing price is higher than the first moving average, the current closing price is lower than the second moving average, and the second moving average is lower than the third moving average.

**Price Relative to 3 Moving Averages (below 1, above 2)**

Tags: close relative to moving average screener, close above 3 moving averages, close above 4 moving averages, close below 3 moving averages, close below 4 moving averages

```
List symbols where Close < SMA(14)
And SMA(21) < Close
And SMA(50) < SMA(21)
Add Column SMA(14) chart(c=red)
Add Column Close
Add Column SMA(21) chart(c=blue)
Add Column SMA(50) chart(c=green)
Apply to NSE
```

This scan identifies instances where the current closing price is lower than the first moving average, while being higher than the second moving average. Additionally, it ensures that the second moving average is positioned below the third moving average.

**Moving Average Support**

Tags: moving average offering support screener

```
List symbols where Price is touching EMA(200)
And Close is above EMA(200)
Add Column EMA(200) as EMA200 chart(c=red)
Add Column ChgRs(Close,EMA(200)) as DiffRs
Add Column Chg%(Close,EMA(200)) as Diff%
Apply to NSE
```

The purpose of this scan is to identify symbols that have experienced a situation where their lowest price has crossed above the 200-period Exponential Moving Average (EMA), but the closing price has remained above the EMA. The phrase “Price is touching” indicates that any part of the price bar is in contact with the EMA(200).

**OPTION 1**

Alternatively, the scan can be expressed as follows:

```
List symbols where Low is below EMA(200)
And Close is above EMA(200)
Add Column EMA(200) as EMA200 chart(c=red)
Add Column ChgRs(Close,EMA(200)) as DiffRs
Add Column Chg%(Close,EMA(200)) as Diff%
Apply to NSE
```

**OPTION 2**

An alternative approach to obtaining the identical outcome can be described as follows:

```
List symbols where EMA(200) is between Close and Low
Add Column EMA(200) as EMA200 chart(c=red)
Add Column ChgRs(Close,EMA(200)) as DiffRs
Add Column Chg%(Close,EMA(200)) as Diff%
Apply to NSE
```

**Moving Average Resistance**

Tags: moving average offering resistance screener

```
List symbols where Price is touching EMA(200)
And Close is below EMA(200)
Add Column EMA(200) as EMA200 chart(c=red,lw=2)
Add Column ChgRs(Close,EMA(200)) as DiffRs
Add Column Chg%(Close,EMA(200)) as Diff%
Apply to NSE
```

This scan is designed to identify symbols that have experienced a situation where the highest price of a given period surpasses the 200-period Exponential Moving Average (EMA), but the closing price fails to stay above it. The term “Price is touching” indicates that any part of the price bar is in contact with the EMA(200).

**OPTION 1**

An alternative approach to expressing the same scan is as follows:

```
List symbols where High is above EMA(200)
And Close is below EMA(200)
Add Column EMA(200) as EMA200 chart(c=red,lw=2)
Add Column ChgRs(Close,EMA(200)) as DiffRs
Add Column Chg%(Close,EMA(200)) as Diff%
Apply to NSE
```

**OPTION 2**

An alternative approach to get an identical outcome can be summarized as follows:

```
List symbols where EMA(200) is between Close and High
Add Column EMA(200) as EMA200 chart(c=red,lw=2)
Add Column ChgRs(Close,EMA(200)) as DiffRs
Add Column Chg%(Close,EMA(200)) as Diff%
Apply to NSE
```

**Moving Average Confluence**

Tags: moving average confluence screener

```
List symbols where pattern is Moving Average Confluence(1%,EMA,13,21,34,55)
And Close > 50
And Volume > 50000
Plot Moving Average Confluence(1%,EMA,13,21,34,55)
Apply to NSE
```

The purpose of this scan is to identify NSE symbols that exhibit a close proximity between their 13, 21, 34, and 55-period Exponential Moving Averages (EMAs), with a tolerance of 1% variation.

The “Moving Average Confluence” function allows for a comparison of at least 2 EMAs. There is no upper limit on the number of EMAs that can be included in the analysis.

**OPTION 1**

Here is another instance that illustrates the concept of Moving Average Confluence. In this case, an additional criterion has been introduced, where we check if the “Close” value is also in close proximity to the Moving Averages.

```
List symbols where pattern is Moving Average Confluence(1.5%,SMA,21,50,100)
And Close is within 1.5% of SMA(100)
Plot Moving Average Confluence(1.5%,SMA,21,50,100)
Apply to NSE
```

For comprehensive insights into various Moving Averages, including their computation methodology, how to use moving averages in trading, as well as an exploration of its advantages and limitations as an indicator, click here.