Machine Learning: Support and Resistance

Sep 29, 2023

Static chart image
Dynamic Overlays
Support and Resistance
Machine Learning

The Machine Learning: Support and Resistance indicator utilizes a K-Nearest Neighbors (KNN) inspired model to project dynamic support and resistance levels based on predictive price movement rather than static historical data.

Usage

The Usage section focuses on interpreting the dynamic zones and lines generated by the predictive model. Unlike traditional pivots, these levels adjust based on projected volatility and directional probability.

  • Support and Resistance Zones: The indicator plots four primary levels. The "Strong" levels (outer lines) represent extreme projections, while the standard levels (inner lines) represent high-probability turning points. Users can identify potential reversals when price tests these zones.
  • VWMA and Average Crosses: The blue line (VWMA) and purple line (Average) indicate momentum. When the VWMA is above the Average, the market is in a bullish phase; when below, it is bearish.
  • Value Assessment:
    • Overvalued: Price is above the VWMA.
    • Undervalued: Price is below the VWMA.
    • Fair Value: Price is oscillating between the VWMA and the Average line.
  • Long Term Memory (LTM): This level (maroon line) acts as a high-timeframe anchor for support and resistance. It updates infrequently (based on the Machine Learning Length), providing a macro perspective on price stability.

Details

The script operates by calculating a "Potential Movement" for the current bar using a source (defaulting to close), RSI, and EMA. This projection is derived from the difference between the source and its moving average over a specified lookback period.

The direction of the next bar is predicted using a multi-factor logic:

  • Relationship between previous source and previous moving average.
  • RSI slope and overbought/oversold crossovers (30/70 levels).
  • Current price distance from the average compared to historical average distances.

The KNN component functions by populating an array with the last $X$ projections. To find specific levels, the script sorts this data:

  • Strong Support/Resistance: Uses the lowest/highest values (Length of 2) from the sorted projection array.
  • Standard Support/Resistance: Uses a larger subset of the sorted data (10% of the ML length) to create more stable zones.

Settings

Main Settings

  • Source: The price data used as the basis for all internal calculations.
  • Machine Learning Length: Determines the amount of projection data stored in the array for KNN calculations.
  • Smoothing Length: The period used for calculating the RSI, EMA, and VWMA components.
  • VWMA ML Projection Length: Specifies how far into the machine learning data the script should average to derive the VWMA plot.
  • Long Term Memory: Controls the visualization of macro data. "Average" displays diagonal transitions, while "Hard Line" maintains horizontal levels until the next update cycle.
  • Use Average Last Distance In Potential Movement: When enabled, incorporates the most recent price-to-MA distance into the projection, often increasing displacement in volatile markets.
  • Show Current Projection: Toggles the visibility of the raw predictive line used to populate the ML model.

FAQ

How do I interpret the colored zones? The green zones represent predictive support areas where the model expects buying pressure, while red zones represent predictive resistance.

Why do the lines move before price reaches them? Because the script uses a predictive projection model rather than historical pivots, it adjusts support and resistance levels based on shifts in momentum and RSI before the price confirms the level.

How can I access this indicator? 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
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

ninjatraderNinjaTrader
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

metatrader4MetaTrader 4/5
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

thinkorswimThinkorswim
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

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.