Median Proximity Percentile [AlgoAlpha]

AlgoAlpha Updated   
πŸ“ŠπŸš€ Introducing the "Median Proximity Percentile" by AlgoAlpha, a dynamic and sophisticated trading indicator designed to enhance your market analysis! This tool efficiently tracks median price proximity over a specified lookback period and finds it's percentile between 2 dynamic standard deviation bands, offering valuable insights for traders looking to make informed decisions.

🌟 Key Features:
  • Color-Coded Visuals: Easily interpret market trends with color-coded plots indicating bullish or bearish signals.
  • Flexibility: Customize the indicator with your preferred price source and lookback lengths to suit your trading strategy.
  • Advanced Alert System: Stay ahead with customizable alerts for key trend shifts and market conditions.

πŸ” Deep Dive into the Code:
  1. Choose your preferred price data source and define lookback lengths for median and EMA calculations.
    priceSource = input.source(close, "Source")
    lookbackLength =, minval = 1, title = "Lookback Length")
  2. Calculate median value, price deviation, and normalized value to analyze market position relative to the median.
    medianValue = ta.median(priceSource, lookbackLength)
  3. Determine upper and lower boundaries based on standard deviation and EMA.
    upperBoundary = ta.ema(positiveValues, lookbackLength) + ta.stdev(positiveValues, lookbackLength) * stdDevMultiplier
    lowerBoundary = ta.ema(negativeValues, lookbackLength) - ta.stdev(negativeValues, lookbackLength) * stdDevMultiplier
  4. Compute the percentile value to track market position within these boundaries.
    percentileValue = 100 * (normalizedValue - lowerBoundary)/(upperBoundary - lowerBoundary) - 50
  5. Enhance your analysis with Hull Moving Average (HMA) for smoother trend identification.
    emaValue = ta.hma(percentileValue, emaLookbackLength)
  6. Visualize trends with color-coded plots and characters for easy interpretation.
    plotColor = percentileValue > 0 ? colorUp : percentileValue < 0 ? colorDown : na
  7. Set up advanced alerts to stay informed about significant market movements.
    // Alerts
    alertcondition(ta.crossover(emaValue, 0), "Bullish Trend Shift", "Median Proximity Percentile Crossover Zero Line")
    alertcondition(ta.crossunder(emaValue, 0), "Bearish Trend Shift", "Median Proximity Percentile Crossunder Zero Line")
    alertcondition(ta.crossunder(emaValue,emaValue[1]) and emaValue[1] > 90, "Bearish Reversal", "Median Proximity Percentile Bearish Reversal")
    alertcondition(ta.crossunder(emaValue[1],emaValue) and emaValue[1] < -90, "Bullish Reversal", "Median Proximity Percentile Bullish Reversal")

🚨 Remember, the "Median Proximity Percentile " is a tool to aid your analysis. It’s essential to combine it with other analysis techniques and market understanding for best results. Happy trading! πŸ“ˆπŸ“‰
Release Notes:
Replaces "EMA" with "HMA" in the inputs.
Release Notes:
Added Alerts for trend swings
Added the option to turn on/off the noise scatterplot

🚨Get premium:

πŸ“Ά Track Live Scalping Profits in Bio

πŸ›œGet FREE signals:

❓Do you have feedback or indicator ideas? Join our server to tell us about it:
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?