Machine Learning: Trend Pulse
Aug 30, 2023

The Machine Learning: Trend Pulse indicator utilizes a k-nearest neighbors (k-NN) algorithm to identify historical market similarities and generate a normalized price forecast for trend analysis.
Usage
The Usage section describes how the script can be used to identify potential trend reversals and momentum shifts. The indicator outputs a normalized oscillator that fluctuates around a midline of 50.
- Trend Identification: When the blue "Predicted Price" line is rising and positioned above the 50 midline, it suggests bullish momentum. Conversely, a falling line below 50 suggests bearish momentum.
- Extreme Conditions: The script includes horizontal levels at 80 and 20. Values crossing above 80 represent overbought territories where the current "market mood" is significantly extended compared to historical neighbors. Values below 20 represent oversold territories.
- Directional Labels: Users can enable "Show Direction Prediction" to display visual markers at the top of the indicator pane, highlighting the instantaneous change in predicted direction (up or down).
- Compatibility Requirements: Due to computational intensity and the nature of the feature extraction, this tool is optimized for specific timeframes:
- Stocks & Forex: 8-hour timeframes and higher.
- Crypto: 4-hour timeframes and higher.
Details
The script operates through a four-stage machine learning process:
- Feature Extraction: The algorithm captures a specific window of past price changes to define the current market state or "mood."
- Distance Calculation: It compares the current window against historical data points using a distance formula (Euclidean-style) to measure similarity. A smaller distance indicates a historical period that closely mirrors current conditions.
- Neighbor Selection (k-NN): The script identifies the 'k' closest historical matches. By looking at what happened immediately after these historical matches, it can estimate the next likely price movement.
- Z-Score Scaling: The raw forecast is normalized using a Z-score calculation based on the historical mean and standard deviation. This ensures the output remains within a consistent scale (0–100) regardless of the asset's price volatility.
Settings
- Window Size: The number of bars used to define the "snapshot" of market data for similarity comparisons.
- Count of k-nearest Neighbors: The number of similar historical data points the algorithm considers when calculating the average forecast.
- Sampling Rate: Determines the step size for scanning historical data. A higher sampling rate increases processing speed by skipping bars, while a lower rate provides a more granular analysis.
- Historical Cap: Sets the "memory" limit or the maximum number of past bars the algorithm will search through to find neighbors.
- Show Direction Prediction?: Toggles the visibility of tiny directional labels (u/d) on the indicator interface.
FAQ
How do I interpret the blue line crossing the 50 level? A cross above 50 indicates the machine learning model perceives the current price action as shifting toward a bullish historical analog, while a cross below 50 indicates a shift toward a bearish analog.
Why does the script not display data on the 15-minute timeframe? The script is restricted to higher timeframes (4H+ for Crypto, 8H+ for others) to ensure the k-NN algorithm has sufficient price action context and to maintain platform performance.
How can I access the Machine Learning: Trend Pulse? You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.
Free indicator
Get free access to this indicator on the platforms below.
Unlock the entire LuxAlgo Library
Every indicator, every strategy, full charts, and complete access to Quant — our AI agent.