OPEN-SOURCE SCRIPT
Interpolated Median Volatility LSMA | Otto

This indicator combines trend-following and volatility analysis by enhancing traditional LSMA with percentile-based linear interpolation applied to both the Least Squares Moving Average (LSMA) and standard deviation. Rather than relying on raw values, it uses the interpolated median (50th percentile) to smooth out noise while preserving sensitivity to significant price shifts. This approach produces a cleaner trend signal that remains responsive to real market changes, adapts to evolving volatility conditions, and improves the accuracy of breakout detection.
Core Concept
The indicator builds on these core components:
LSMA (Least Squares Moving Average): A linear regression-based moving average that fits line using user selected source over user defined period. It offers a smoother and more reactive trend signal compared to standard moving averages.
Standard Deviation shows how much price varies from the mean. In this indicator, it’s used to measure market volatility.
Volatility Bands: Instead of traditional Bollinger-style bands, this script calculates custom upper and lower bands using percentile-based linear interpolation on both the LSMA and standard deviation. This method produces smoother bands that filter out noise while remaining adaptive to meaningful price movements, making them more aligned with real market behavior and helping reduce false signals.
Percentile interpolation estimates a specific percentile (like the median — the 50th percentile) from a set of values — even when that percentile doesn't fall exactly on one data point. Instead of selecting a single nearest value, it calculates a smoothed value between nearby points. In this script, it’s used to find the median of past LSMA and standard deviation values, reducing the impact of outliers and smoothing the trend and volatility signals for more robust results.
Signal Logic: A long signal is identified when close price goes above the upper band, and a short signal when close price goes below the lower band.
⚙️ Inputs
Source: The price source used in calculations
LSMA Length: Period for calculating LSMA
Standard Deviation Length: Period for calculating volatility
Percentile Length: Period used for interpolating percentile values of LSMA and standard deviation
Multiplier: Controls the width of the bands by scaling the interpolated standard deviation
📈 Visual Output
Colored LSMA Line: Changes color based on signal (green for bullish, purple for bearish)
Upper & Lower Bands: Volatility bands calculated using interpolated values (green for bullish, purple for bearish)
Bar Coloring: Price bars are colored to reflect signal state (green for bullish, purple for bearish)
Optional Candlestick Overlay: Enhances visual context by coloring candles to match the signal state (green for bullish, purple for bearish)
How to Use
Add the indicator to your chart and look for signals when close price goes above or below the bands.
Long Signal: close Price goes above the upper band
Short Signal: close Price goes below the lower band
🔔 Alerts:
This script supports alert conditions for long and short signals. You can set alerts based on band crossovers to be notified of potential entries/exits.
⚠️ Disclaimer:
This indicator is intended for educational and informational purposes only. Trading/investing involves risk, and past performance does not guarantee future results. Always test and evaluate strategies before applying them in live markets. Use at your own risk.
Core Concept
The indicator builds on these core components:
LSMA (Least Squares Moving Average): A linear regression-based moving average that fits line using user selected source over user defined period. It offers a smoother and more reactive trend signal compared to standard moving averages.
Standard Deviation shows how much price varies from the mean. In this indicator, it’s used to measure market volatility.
Volatility Bands: Instead of traditional Bollinger-style bands, this script calculates custom upper and lower bands using percentile-based linear interpolation on both the LSMA and standard deviation. This method produces smoother bands that filter out noise while remaining adaptive to meaningful price movements, making them more aligned with real market behavior and helping reduce false signals.
Percentile interpolation estimates a specific percentile (like the median — the 50th percentile) from a set of values — even when that percentile doesn't fall exactly on one data point. Instead of selecting a single nearest value, it calculates a smoothed value between nearby points. In this script, it’s used to find the median of past LSMA and standard deviation values, reducing the impact of outliers and smoothing the trend and volatility signals for more robust results.
Signal Logic: A long signal is identified when close price goes above the upper band, and a short signal when close price goes below the lower band.
⚙️ Inputs
Source: The price source used in calculations
LSMA Length: Period for calculating LSMA
Standard Deviation Length: Period for calculating volatility
Percentile Length: Period used for interpolating percentile values of LSMA and standard deviation
Multiplier: Controls the width of the bands by scaling the interpolated standard deviation
📈 Visual Output
Colored LSMA Line: Changes color based on signal (green for bullish, purple for bearish)
Upper & Lower Bands: Volatility bands calculated using interpolated values (green for bullish, purple for bearish)
Bar Coloring: Price bars are colored to reflect signal state (green for bullish, purple for bearish)
Optional Candlestick Overlay: Enhances visual context by coloring candles to match the signal state (green for bullish, purple for bearish)
How to Use
Add the indicator to your chart and look for signals when close price goes above or below the bands.
Long Signal: close Price goes above the upper band
Short Signal: close Price goes below the lower band
🔔 Alerts:
This script supports alert conditions for long and short signals. You can set alerts based on band crossovers to be notified of potential entries/exits.
⚠️ Disclaimer:
This indicator is intended for educational and informational purposes only. Trading/investing involves risk, and past performance does not guarantee future results. Always test and evaluate strategies before applying them in live markets. Use at your own risk.
開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。
開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。