Simple Moving Average Crossover

Mar 26, 2021

Static chart image
Signals
Moving Averages
Volatility

The Simple Moving Average Crossover indicator identifies trend reversals and momentum shifts by combining dual moving average crossovers with a volatility-normalized slope filter to reduce false signals during sideways market conditions.

Usage

The Usage section describes how the script can be used to identify potential entry points during trending market phases. This tool is primarily designed for intraday trading and is optimized for the 15-minute timeframe.

  • Long Signals: Triggered when the fast 8-period Simple Moving Average (SMA) crosses above the slow 21-period SMA, provided the slope of the slow SMA is greater than the user-defined Angle threshold.
  • Short Signals: Triggered when the fast 8-period SMA crosses below the slow 21-period SMA, provided the slope of the slow SMA is less than the negative value of the Angle threshold.
  • Trend Filtering: The main setting affecting interpretation is the "Angle" input. By increasing this value, users can filter out choppy, horizontal price action, ensuring trades are only taken when the underlying trend exhibits sufficient strength.

Details

The script utilizes a combination of two SMAs (8 and 21) to detect momentum changes. To improve signal quality, it incorporates a slope calculation for the slower 21-period moving average.

The angle is calculated using the f_angle function, which employs the Arctangent (atan) of the price change relative to the Average True Range (ATR). This normalization ensures that the "angle" remains consistent across different assets and price scales. Additionally, the script uses a lookback mechanism (f_somethingHappened) that checks for a crossover within the last 15 bars, allowing the slope condition to validate a recent crossover even if they do not occur on the exact same candle. This logic was originally developed by @sixpathssenin.

Settings

  • Angle: The minimum slope value required to validate a crossover signal. Higher values require a steeper trend.
  • Angle Period: The number of bars used to calculate the change in the moving average for the slope formula.
  • ATR Period: The lookback period for the Average True Range used to normalize the slope calculation.
  • Angle Level: A sensitivity parameter used in the slope calculation.
  • MA Source: Determines the price input (Close, Open, High, Low, etc.) used to calculate the moving averages.

FAQ

Which timeframe is best for this indicator? The script is specifically optimized for intraday trading, with the 15-minute timeframe being the recommended setting for the default parameters.

How does the Angle filter help in trading? The Angle filter prevents the strategy from taking "whipsaw" trades in range-bound markets by requiring the slow moving average to be trending up or down at a specific steepness before a signal is confirmed.

How do I access the Simple Moving Average Crossover? You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.

Free access on the following platforms
tradingviewSymbolTradingView
ninjatraderNinjaTrader
metatrader4MetaTrader 4/5
thinkorswimThinkorswim

Unlock Unlimited Access to the LuxAlgo Library

Upgrade your plan to get all indicators, strategies, charts, and full access to Quant, our AI agent.

Trading & investing are risky and many will lose money in connection with trading and investing activities. All content on this site is not intended to, and should not be, construed as financial advice. Decisions to buy, sell, hold or trade in securities, commodities and other investments involve risk and are best made based on the advice of qualified financial professionals. Past performance does not guarantee future results.

Hypothetical or Simulated performance results have certain limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not been executed, the results may have under-or-over compensated for the impact, if any, of certain market factors, including, but not limited to, lack of liquidity. Simulated trading programs in general are designed with the benefit of hindsight, and are based on historical information. No representation is being made that any account will or is likely to achieve profit or losses similar to those shown.

Testimonials appearing on this website may not be representative of other clients or customers and is not a guarantee of future performance or success.

As a provider of technical analysis tools and strategies, we do not have access to the personal trading accounts or brokerage statements of our customers. As a result, we have no reason to believe our customers perform better or worse than traders as a whole based on any content, tool, or platform feature we provide.

Charts used on this site are by TradingView in which the majority of our technical indicators are built on. TradingView® is a registered trademark of TradingView, Inc. www.TradingView.com TradingView® has no affiliation with the owner, developer, or provider of the Services described herein.

Market data is provided by CBOE, CME Group, BarChart, Massive, CoinAPI. Select U.S. equities data is provided through Massive. CBOE BZX real-time U.S. equities data is licensed from CBOE and provided through BarChart. Real-time futures data is licensed from CME Group and provided through BarChart. Select cryptocurrency data, including major coins, is provided through CoinAPI. All data is provided “as is” and should be verified independently for trading purposes.

This does not represent our full Disclaimer. Please read our full disclaimer.

© 2026 LuxAlgo Global, LLC.